2 PPTP-Server hinter iptables Router?
Hallo Forum,
ich habe da ein Problem. Ich will zwei PPTP-VPN-Server hinter einem Router anbinden.
internes LAN: 192.168.10.0/24 <---> Standleitung mit mehreren öffentl. IPs
Der erste Server war kein Problem.
iptables -t NAT -A PREROUTING -i eth0 -p tcp --dport 1723 -j DNAT --to-destination 192.168.10.90:1723
iptables -t NAT -A PREROUTING -i eth0 -p gre -j DNAT --to-destination 192.168.10.90
Da man ja weder Port noch Protokoll bei den Clients ändern kann, brauchte ich also eine Lösung mit einer 2. IP-Adresse. Also habe ich über yast2 einfach eine "zusätliche IP-Adresse" auf eth0 aufgesetzt. Und die erste Regel so geändert:
iptables -t NAT -A PREROUTING -d 211.213.239. 222 -i eth0 -p tcp --dport 1723 -j DNAT --to-destination 192.168.10.90:1723
iptables -t NAT -A PREROUTING -d 211.213.239.222 -i eth0 -p gre -j DNAT --to-destination 192.168.10.90
Nun habe ich für den zweiten Server die folgende Regel eingefügt:
iptables -t NAT -A PREROUTING -d 211.213.239. 218 -i eth0 -p tcp --dport 1723 -j DNAT --to-destination 192.168.10.94:1723
iptables -t NAT -A PREROUTING -d 211.213.239.218 -i eth0 -p gre -j DNAT --to-destination 192.168.10.94
Leider funktioniert beides parallel nicht so wirklich, mal kann man zu einem connecten, dann wieder nicht und dann mal das andere.
Gibt es eine Lösung für eine 2. IP auf einer Netzwerkkarte mit einem virtuellen Netzwerkdevice? VLAN funktioniert nicht, denn iptables kann keine Devices mit Namen wie eth0:vlan1 ansprechen. Es müsste z.B. eth5 heissen, also eine richtige virtuelle Karte und nicht nur ein Subdevice.
Oder muss ich einfach nur per Source-NAT die Absenderadressen der jeweiligen Pakete ändern.
Ich vermute nämlich, dass ein Paket, dass auf eth0 mit der destination 211.213.239.218 eingegangen ist (Server 2) mit der Absenderadresse 211.213.239.222 zum Client zurückgeschickt wird.
Hat jemand eine Idee?
Vielen Dank im Voraus,
Conrad
ich habe da ein Problem. Ich will zwei PPTP-VPN-Server hinter einem Router anbinden.
internes LAN: 192.168.10.0/24 <---> Standleitung mit mehreren öffentl. IPs
Der erste Server war kein Problem.
iptables -t NAT -A PREROUTING -i eth0 -p tcp --dport 1723 -j DNAT --to-destination 192.168.10.90:1723
iptables -t NAT -A PREROUTING -i eth0 -p gre -j DNAT --to-destination 192.168.10.90
Da man ja weder Port noch Protokoll bei den Clients ändern kann, brauchte ich also eine Lösung mit einer 2. IP-Adresse. Also habe ich über yast2 einfach eine "zusätliche IP-Adresse" auf eth0 aufgesetzt. Und die erste Regel so geändert:
iptables -t NAT -A PREROUTING -d 211.213.239. 222 -i eth0 -p tcp --dport 1723 -j DNAT --to-destination 192.168.10.90:1723
iptables -t NAT -A PREROUTING -d 211.213.239.222 -i eth0 -p gre -j DNAT --to-destination 192.168.10.90
Nun habe ich für den zweiten Server die folgende Regel eingefügt:
iptables -t NAT -A PREROUTING -d 211.213.239. 218 -i eth0 -p tcp --dport 1723 -j DNAT --to-destination 192.168.10.94:1723
iptables -t NAT -A PREROUTING -d 211.213.239.218 -i eth0 -p gre -j DNAT --to-destination 192.168.10.94
Leider funktioniert beides parallel nicht so wirklich, mal kann man zu einem connecten, dann wieder nicht und dann mal das andere.
Gibt es eine Lösung für eine 2. IP auf einer Netzwerkkarte mit einem virtuellen Netzwerkdevice? VLAN funktioniert nicht, denn iptables kann keine Devices mit Namen wie eth0:vlan1 ansprechen. Es müsste z.B. eth5 heissen, also eine richtige virtuelle Karte und nicht nur ein Subdevice.
Oder muss ich einfach nur per Source-NAT die Absenderadressen der jeweiligen Pakete ändern.
Ich vermute nämlich, dass ein Paket, dass auf eth0 mit der destination 211.213.239.218 eingegangen ist (Server 2) mit der Absenderadresse 211.213.239.222 zum Client zurückgeschickt wird.
Hat jemand eine Idee?
Vielen Dank im Voraus,
Conrad
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 64513
Url: https://administrator.de/contentid/64513
Ausgedruckt am: 26.11.2024 um 22:11 Uhr
3 Kommentare
Neuester Kommentar
Generell ist das so nicht lösbar. Die NAT Firewall wird ja mit der ersten (funktionierenden) Regel alles was TCP 1723 ist und was GRE (Protokoll 47) ist und an die öffentliche IP gerichtet ist an die interne Adresse forwarden.
Als einziges Workaroud würde funktionieren, wenn du eine Loopback oder eine secondary Adresse mit einer zweiten öffentlichen Adresse einrichten würdes und alles was TCP 1723 und GRE an diese Adresse geht dann auf eine separate interne Adresse forwarden. Das sollte funktionieren.
Als einziges Workaroud würde funktionieren, wenn du eine Loopback oder eine secondary Adresse mit einer zweiten öffentlichen Adresse einrichten würdes und alles was TCP 1723 und GRE an diese Adresse geht dann auf eine separate interne Adresse forwarden. Das sollte funktionieren.