Porty VPN i RDP – konfiguracja firewall iptables

Windows 2008 server ma możliwość skonfigurowania dostępu RDP poprzez bezpieczny tunel VPN (opis w oddzielnym artykule). Jednak żeby to działało, należy otworzyć na Firewall’u i przekierować na routerze poniższe porty dla poszczególnych rodzajów połączeń:

  1. PPTP: 1723 TCP 47 GRE
  2. L2TP over IPSEC: 1701 TCP 500 UDP
  3. SSTP: 443 TCP

dla iptables:

adres_vpn_zewn=123.123.123.123 #podajemy swoje zewnętrzne IP
adres_vpn_wew=192.168.1.1 #podajemy adres IP serwera Windows 2008
IPTABLES=/sbin/iptables #podajemy ścieżkę do iptables

$IPTABLES -t nat -A PREROUTING -d $adres_vpn_zewn -p tcp --dport 1723 -j DNAT --to $adres_vpn_wew:1723
$IPTABLES -t nat -A PREROUTING -d $adres_vpn_zewn -p gre -j DNAT --to $adres_vpn_wew

może być potrzeba dodania regułek forward z zewnątrz w iptables:

$IPTABLES - A FORWARD -i eth0 -d $adres_vpn_wew -p tcp --dport 1723 -j ACCEPT
$IPTABLES - A FORWARD -i eth0 -d $adres_vpn_wew -p gre -j ACCEPT

i ewentualnie z wewnątrz (w zależności od konfiguracji firewalla):

$IPTABLES - A FORWARD -i eth1 -s $adres_vpn_wew -p gre -j ACCEPT

Powyższe powinno działać dla wszystkich wersji serwerowych Microsoftu, które posiadają możliwość skonfigurowania tunelu VPN.

Jeśli chcemy mieć dostęp z zewnątrz do pulpitu zdalnego lokalnego komputera, wystarczy przekierować port 3389 jak poniżej:

ETH2=eth0 #podajemy nazwę interfejsu zewnętrzengo
adres_vpn_zewn=123.123.123.123 #podajemy swoje zewnętrzne IP
adres_vpn_wew=192.168.1.100 #podajemy adres IP komputera z systemem Windows
IPTABLES=/sbin/iptables #podajemy ścieżkę do iptables

$IPTABLES -t nat -A PREROUTING -d $adres_vpn_zewn -p tcp --dport 3389 -j DNAT --to $adres_vpn_wew:3389
$IPTABLES -A FORWARD -i $ETH0 -d 192.168.1.100 -p tcp --dport 3389 -j ACCEPT