OPS335 Web Server Lab
FOCUS: Basic Mail (Postfix) Setup This lab will show you how to set up a Postfix email server using a Fedora 13 installed PC. You will need at least two systems to do this lab. The first could be Fedora on your removable hard drive while the second could be a virtual machine. PART A - Prerequisites Your hard drive should have Fedora 13, 64 bit Live edition already installed. You should have at least one VM installed: also Fedora 13, 64 bit Live edition. Both your host and guest should have default firewalls enabled. Both your host and guest should have SELinux enabled. Both host and guest should have all software updated. [ yum update ] Ensure the clocks on both machines are set to the correct date and time. PART B - Testing your network
Start Firefox on your host and authenticate yourself on Sene2net with your LEARN account. Ensure you can surf the web on your host machine. Start Firefox on your guest. Ensure you can surf the web on your guest. NOTE: you should not have to authenticate yourself on the guest. PART C - Testing email to the outside world using mailx and sendmail
Sendmail is installed and running by default on Fedora 13 so there is no need to install it. Install mailx on both the host and the guest. [ yum install mailx ] Test email from the host by sending an email to your LEARN account. [ mail -s "PART C3" xxxxxx@learn.senecac.on.ca ] Note: xxxxxx is your LEARN ID. Note: after you type in your letter, enter a period in the first column on the last line and hit the ENTER key. Check your LEARN email to see if you got the email. If you did make a note of the return address. Test email from the host by sending an email to your LEARN account. [ mail -s "PART C4" -r hacker@evil.com xxxxxx@learn.senecac.on.ca ] Note: xxxxxx is your LEARN ID. Note: after you type in your letter, enter a period in the first column on the last line and hit the ENTER key. Check your LEARN email to see if you got the email. If you did make a note of the return address. Repeat steps 3 and 4 on the guest machine. PART D - Install and configure Postfix On both machines do the following: Stop sendmail. [ service sendmail stop ] Install Postfix - yum install postfix Edit the Postfix configuration file, /etc/postfix/main.cf, and change the following lines: mydomain = example.org myorigin = $mydomain inet_interfaces = all mynetworks = 127.0.0.0/8, 192.168.122.0/24 relay_domains = Start Postfix [ service postfix start ] on both host and guest machines PART E - Testing email using IP Addresses
If you have problems with the following you may have to set SELinux to permissive mode and/or adjust your firewall to allow traffic to/from port 25. Try sending an email from your guest to your host. [ mail -s "PART E2" yyyyyy@[192.168.122.1] ] Note: yyyyyy is your host ID Note: the square brackets around the host IP address Try sending an email from your host to your guest. [ mail -s "PART E3" zzzzzz@[192.168.122.ZZZ] ] Note: zzzzzz is your guest ID Note: ZZZ is your guest IP address PART F - Set up a DNS server
Refer to Lab #3 and set up a DNS server on your host. Set your host name to f13. Set your guest name to vm01. Set your domain name to example.org. Test your DNS on both host and guest to ensure it works properly. PART F - Test email using host names Now try sending mail to yourself on both machines. For example, as joker on f13, use the command:
$ mail joker@f13 the machine will prompt for a subject: enter "testing" without the quotes. Now enter the body of your letter. When you're done, enter a period (.) in column 1 on the last line of your letter. This will signal end-of-file and your letter will be mailed. You should end up back at the $ prompt. If you mess up use CTRL-C to cancel the email, DO NOT USE CTRL-Z.
Use the mailq command (you will need to be root) to view the mail queue. Use the mail command to check if you have mail. PART G - Test your configuration and view your logs Restart your postfix servers on both machines. Check your /var/log/messages file to see that your postfix servers started without error. Send some emails from both guest and host to each other and to the outside world. Check your /var/log/maillog file to see that your email messages were sent correctly. PART H - Learning the mail command Read the mail manual page and learn how it works. PART I - Answer the following questions and and email them to your teacher in ASCII text format. What is your full name and 9-digit Seneca student ID? Include a copy of your main.cf file on vm01 (your guest) with this lab - but delete all commented and blank lines first - like this. [ cat /etc/postfix/main.cf | grep -v ^# | awk 'NF > 0 {print $0}' What is the output of the iptables-save command on both your host and guest machines? What firewall rule or rules, if any, did you have to enter on the guest and/or host so that email to/from each other would work? What is the meaning of the square brackets surrounding the IP address in PART E? What were your results to PART G? Show log segments to verify your answers.