Opsætning af iptables til PPTP
Jeg har en linux firewall med en håndfuld servere og DHCP maskiner på den anden side.Firewallen har 2 eksterne IP-adresser:
1.2.3.4 eth0
1.2.3.5 eth0:1
Samt en intern:
10.0.0.1 eth1
På den interne side står bl.a. to servere
10.0.0.2 PPTP server
10.0.0.3 Webserver
Samt en stribe DHCP-maskiner
10.0.0.100-150
Jeg vil gerne kunne forwarde 1.2.3.5 til webserveren og bruge den eksterne IP-adresse også indefra. Samtidig vil jeg gerne kunne bruge PPTP udefra.
Har følgende i iptables
iptables -t nat -A PREROUTING --protocol tcp --dport 1723 -i eth0 -d 1.2.3.4 -j DNAT --to-destination 10.0.0.2
iptables -t nat -A PREROUTING -p gre -d 1.2.3.4 -j DNAT --to-destination 10.0.0.2
iptables -A block -m state --state NEW --protocol gre -i eth0 -j ACCEPT
iptables -A block -m state --state NEW --protocol tcp --dport 1723 -i eth0 -j ACCEPT
Så virker PPTP/VPN. Så tilføjer jeg for webserveren:
iptables -t nat -A PREROUTING -d 1.2.3.5 -j DNAT --to-destination 10.0.0.3
iptables -A FORWARD -d 10.0.0.3 -p tcp --dport 80 -j ACCEPT
Så kan jeg bruge 1.2.3.5 udefra og få fat i webserveren. Derefter tilføjer jeg:
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 1.2.3.5
Så kan jeg også bruge 1.2.3.5 indefra. Problemet er nu, at PPTP er hold op med at virke, og det giver egentlig god mening, da alle pakkerne lige pludselig bliver SNATtet med 1.2.3.5.
Hvordan skal jeg sætte den sidste SNAT op så den kun tager de rigtige pakker? Og så jeg for fremtiden kan smidet et eth0:1 på med en ekstra Ip-adresse og forwarde den til 10.0.0.4 osv?