Доброго времени суток!
Есть машина с Ubuntu 14.04 TLS с двумя сетевыми картами, раздающая интернет на организацию. Нужно, чтобы снаружи через интернет можно было подключиться к серверу во внутренней сети по RDP. Причем снаружи нужно стучаться на порт 5001, это обязательное условие. Подключение не происходит: "Удаленный компьютер выключен..." и т.д.
10.190.96.5 - это сервер, к которому надо подключиться
10.190.98.6 - ip интерфейса, на который приходит интернет
Вот текст моих правил для iptables:
#!/bin/sh
# eth0 - локальная сеть
# eth1 - интернет
# Load IPTABLES modules for NAT and IP conntrack support
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe nf_conntrack_pptp
/sbin/modprobe nf_nat_pptp
#Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#Разрешаем траффик на lo
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#Неограниченный доступ в LAN
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i eth1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
#Разрешаем доступ к портам 5001, 3389
iptables -A INPUT -p tcp -m multiport -i eth1 --dports 5001 -j ACCEPT
iptables -A INPUT -p tcp -m multiport -i eth0 --dports 5001,3389 -j ACCEPT
#Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
#Включаем NAT и раздаем Интернет
iptables -t nat -A POSTROUTING -o eth1 -s 10.190.96.0/24 -j MASQUERADE
iptables --append FORWARD --in-interface eth0 -j ACCEPT
#Пробрасываем порт 3389 на сервер 10.190.96.5 и разрешаем RDP подключение
iptables -t nat -A PREROUTING -d 10.190.98.6 -p tcp --dport 5001 -j DNAT --to-destination 10.190.96.5:3389
iptables -A FORWARD -i eth1 -o eth0 -d 10.190.96.5 -p tcp --dport 3389 -j ACCEPT
#Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# DROP everything and Log it
iptables -A INPUT -j LOG