Можна сделать нат несколькими способами.
Для себя нужно оставить вот такой:
iptables -A POSTROUTING -t nat -o eth0 -j SNAT --to-source
Можна масккарадить, но врядли я буду юзать динамические адреса за натом.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE.
Ну и еще немного полезного
Принудительное перенаправление на проксю (прозрачный режим) с проверкой того, не является ли назначением сам сервер(ибо там у меня апач)
-A PREROUTING -p tcp -m tcp ! -d внешний_ип -i eth1 --dport 80 -j REDIRECT --to-ports 3128
проброс порта
-A PREROUTING -p tcp -m tcp --dport 19876 -j DNAT --to-destination 172.16.0.7:19876
Выход на мировой днс будет работать только для внутреннего днс сервера(а.к.а контроллер домена)
-A POSTROUTING -p tcp -m tcp -s 172.16.0.1 --dport 53 -j MASQUERADE
-A POSTROUTING -p udp -m udp -s 172.16.0.1 --dport 53 -j MASQUERADE
Вот NAT для всей подсетки и конкретного порта назначения
-A POSTROUTING -p tcp -m tcp -s 172.16.0.0/255.255.0.0 --dport 443 -j MASQUERADE
Или диапазона
-A POSTROUTING -p tcp -m tcp -s 172.16.0.0/255.255.255.0 --dport 1024:65535 -j MASQUERADE
-A POSTROUTING -p udp -m udp -s 172.16.0.0/255.255.255.0 --dport 1024:65535 -j MASQUERADE
Пусть пингуют себе на здоровье
-A POSTROUTING -p icmp -s 172.16.0.0/255.255.0.0 -j MASQUERADE
Разрешаем все на внутренних интерфейсах (в инет у меня идет eth2)
-A INPUT -i eth1 -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i lo -j ACCEPT
Разрешаем "установленные" и "дочерние" соединения
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -m state --state RELATED -j ACCEPT
Разрешаем доступ к заданному порту из инета
-A INPUT -p tcp -m tcp -d внешний_ип --dport 80 -j ACCEPT
Открываем протокол
-A INPUT -p gre -j ACCEPT
Если надо пропустить наружу
iptables -t nat -A POSTROUTING -s лок_сеть -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
Если снаружи предоставить доступ к внутреннему ресурсу
iptables -t nat -A PREROUTING -p tcp --dport 1494 -i eth0 -j DNAT --to-destination 193.109.114.135:1494
Комментариев нет:
Отправить комментарий