Differences
This shows you the differences between two versions of the page.
linux_wiki:configure_a_system_to_forward_all_email_to_a_central_mail_server [2018/05/10 22:41] billdozor [Null Client Testing] |
linux_wiki:configure_a_system_to_forward_all_email_to_a_central_mail_server [2019/05/25 23:50] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 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 | ||
- | <code bash> | ||
- | yum install postfix | ||
- | </ | ||
- | |||
- | \\ | ||
- | Enable and start the postfix service | ||
- | <code bash> | ||
- | 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)< | ||
- | postconf relayhost | ||
- | |||
- | # check all settings | ||
- | postconf | grep < | ||
- | |||
- | # configure | ||
- | postconf -e ' | ||
- | postconf -e ' | ||
- | postconf -e ' | ||
- | postconf -e ' | ||
- | </ | ||
- | * Option B: Edit the main configuration< | ||
- | |||
- | # 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 | ||
- | <code bash> | ||
- | postfix check | ||
- | </ | ||
- | |||
- | \\ | ||
- | Restart the service | ||
- | <code bash> | ||
- | 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 | ||
- | <code bash> | ||
- | yum install postfix | ||
- | </ | ||
- | |||
- | \\ | ||
- | Enable and start postfix | ||
- | <code bash> | ||
- | systemctl enable postfix | ||
- | systemctl start postfix | ||
- | </ | ||
- | |||
- | \\ | ||
- | Open the firewall to receive SMTP | ||
- | <code bash> | ||
- | firewall-cmd --permanent --add-service=smtp | ||
- | firewall-cmd --reload | ||
- | </ | ||
- | |||
- | \\ | ||
- | Edit the main configuration file | ||
- | <code bash> | ||
- | #-- vim directly | ||
- | vim / | ||
- | |||
- | # listening interfaces | ||
- | inet_interfaces = all | ||
- | |||
- | # Accept mail for these domains | ||
- | mydestination = example.com, | ||
- | |||
- | #-- postconf method | ||
- | |||
- | # check settings | ||
- | postconf | grep inet_ | ||
- | postconf | grep mydestination | ||
- | |||
- | # configure | ||
- | postconf -e ' | ||
- | postconf -e ' | ||
- | </ | ||
- | |||
- | \\ | ||
- | Check postfix syntax | ||
- | <code bash> | ||
- | postfix check | ||
- | </ | ||
- | |||
- | \\ | ||
- | Restart the service | ||
- | <code bash> | ||
- | systemctl restart postfix | ||
- | </ | ||
- | |||
- | ---- | ||
- | |||
- | ====== Null Client Testing ====== | ||
- | |||
- | **From server1** | ||
- | |||
- | Install a mail client (if not already installed) | ||
- | <code bash> | ||
- | yum install mailx | ||
- | </ | ||
- | |||
- | \\ | ||
- | Send a test message | ||
- | <code bash> | ||
- | echo "Did it work?" | mail -s "This is a postfix forward test" root@server2.example.com | ||
- | </ | ||
- | |||
- | \\ | ||
- | Watch the mail log file for status messages | ||
- | <code bash> | ||
- | tail -f / | ||
- | </ | ||
- | |||
- | \\ | ||
- | **From server2** | ||
- | |||
- | On the postfix relayhost, check root's mail | ||
- | <code bash> | ||
- | |||
- | </ | ||
- | |||
- | ---- | ||
- | |||
- | ====== Troubleshooting ====== | ||
- | |||
- | On the sending client, to view the mail queue | ||
- | <code bash> | ||
- | postqueue -p | ||
- | </ | ||
- | |||
- | \\ | ||
- | Flush the sending mail queue after fixing a problem to get rid of stuck messages | ||
- | <code bash> | ||
- | postqueue -f | ||
- | </ | ||
- | |||
- | \\ | ||
- | If a message is stuck and won't flush, it can be removed | ||
- | <code bash> | ||
- | postsuper -d < | ||
- | </ | ||
- | * Instead of a single queue_id, you can specify the keyword ' | ||
- | |||
- | \\ | ||
- | On the receiving server, check the maillog for reasons a message did not deliver | ||
- | <code bash> | ||
- | tail / | ||
- | </ | ||
- | |||
- | ---- | ||