это текущая сеть, которая у меня есть:
UBUNTU:
eth0:
ip: 212.83.10.10
bcast: 212.83.10.10
netmask 255.255.255.255
gateway 62.x.x.x
eth1:
ip: 192.168.1.1
bcast: 192.168.1.255
netmask: 255.255.255.0
gateway ?
CENTOS:
eth0:
ip: 192.168.1.2
bcast: 192.168.1.255
netmask 255.255.255.0
gateway 192.168.1.1
Я в основном хочу этого:
Установите определенные правила NAT из Интернета на определенные внутренние серверы в зависимости от порта:
Подключения, входящие на порт 80, должны быть перенаправлены на 192.168.1.2:80
Подключения, входящие на порт 3306, должны быть перенаправлены на 192.168.1.3:3306
и так далее...
Мне также нужно одно правило NAT, чтобы разрешить серверам в подсети 192.168.1.x просматривать Интернет. Мне нужно направить запросы на eth0 на eth1, чтобы иметь возможность выйти в Интернет.
Могу ли я сделать это на машине UBUNTU с iptables?
Спасибо!
Для первого требования вам нужно будет использовать DNAT или назначение назначения, которое используется следующим образом:
iptables -t nat -A PREROUTING -p tcp --dport TARGETPORT -j DNAT --to TARGET-IP:TARGETPORT
Пример:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.1.2:80
Для просмотра Интернета вам понадобится Source Natting:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source GATEWAY-IP
Or you can use masquarding instead of Source Natting like this:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
Также не забудьте открыть необходимые порты на серверах.