Я настроил роутер с IP-переадресацией на Ubuntu 16.04 Server edition. Я включил ip-forwarding в /etc/sysctl.conf. Я установил
net.ipv4.ip_forward=1
и выполнен
sysctl -p /etc/sysctl.conf
Я использовал следующие команды iptables:
iptables -A FORWARD -i ${PRV_IF} -s ${PRV_NET} -o ${PUB_IF} -j ACCEPT
iptables -A FORWARD -i ${PUB_IF} -d ${PRV_NET} -o ${PRV_IF} -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -o ${PUB_IF} -j MASQUERADE
У меня есть другая локальная Linux-машина за маршрутизатором в $ {PRV_NET}, от которой я хочу получить доступ к серверным портам, таким как 22, 25, 80 и т. Д. В Интернете, например скажем на myserver.com
Например. доступ к портам 22 и 80 на myserver.com с моей локальной машины работает
telnet myserver.com 22 ... works
telnet myserver.com 80 ... works
Однако я не могу получить доступ к почтовому серверу на myserver.com с локального компьютера:
telnet myserver.com 25 ... hangs up
Последняя команда вешает трубку и больше не возвращается.
Как мне получить доступ к почтовым серверам из локальной сети? Есть ли ошибки в командах iptables?