====== Configure A System To Forward All Email To A Central Mail Server ====== **General Information** Configuring postfix. On the exam, you will be provided all the information of an already configured central SMTP server. **You will be expected to configure a null client only**. (server that forwards mail but does not receive any) ---- ====== Lab Setup ====== The following virtual machines will be used: * server1.example.com (192.168.1.150) -> Configure SMTP null client (**on the exam**) * server2.example.com (192.168.1.151) -> Configure central mail server for client testing (**NOT on the exam**) ---- ====== Null Client Setup ====== **THIS IS ON THE EXAM**: A mail null client forwards local email. It does not receive any mail from network sources. **From server1**. \\ Install required package yum install postfix \\ Enable and start the postfix service systemctl enable postfix systemctl start postfix \\ Configure postfix parameters * Option A: Use postconf (faster if you have an idea what parameters you need to configure)# check a setting postconf relayhost # check all settings postconf | grep # configure - important postconf -e 'relayhost = [192.168.1.151]' # configure - probably already defaults (or set to localhost) postconf -e 'inet_interfaces = loopback-only' postconf -e 'mydestination =' postconf -e 'mydomain = example.com' * Option B: Edit the main configurationvim /etc/postfix/main.cf # Relayhost to forward mail to relayhost = [192.168.1.151] # Forward from loopback interfaces inet_interfaces = loopback-only # Configure destination as blank, because we aren't delivering mail locally (only forwarding outgoing) mydestination = # Configure domain mydomain = example.com \\ Check postfix syntax postfix check \\ Restart the service systemctl restart postfix ---- ====== Postfix Central Mail Server ====== **THIS IS NOT ON THE EXAM**: This section setups up a mail server to receive mail in order to test the null client configured previously. **From server2** \\ Install postfix yum install postfix \\ Enable and start postfix systemctl enable postfix systemctl start postfix \\ Open the firewall to receive SMTP firewall-cmd --permanent --add-service=smtp firewall-cmd --reload \\ Edit the main configuration file #-- vim directly vim /etc/postfix/main.cf # listening interfaces inet_interfaces = all # Accept mail for these domains mydestination = example.com, server2.example.com, server2 #-- postconf method # check settings postconf | grep inet_ postconf | grep mydestination # configure postconf -e 'inet_interfaces = all' postconf -e 'mydestination = example.com, server2.example.com, server2' \\ Check postfix syntax postfix check \\ Restart the service systemctl restart postfix ---- ====== Null Client Testing ====== **From server1** Install a mail client (if not already installed) yum install mailx \\ Send a test message echo "Did it work?" | mail -s "This is a postfix forward test" root@server2.example.com \\ Watch the mail log file for status messages tail -f /var/log/maillog \\ **From server2** On the postfix relayhost, check root's mail mail ---- ====== Troubleshooting ====== On the sending client, to view the mail queue postqueue -p \\ Flush the sending mail queue after fixing a problem to get rid of stuck messages postqueue -f \\ If a message is stuck and won't flush, it can be removed postsuper -d * Instead of a single queue_id, you can specify the keyword 'ALL' \\ On the receiving server, check the maillog for reasons a message did not deliver tail /var/log/maillog ----