Linux-Router

Gemeint ist hier der Betrieb eines Computers mit Linux-Betriebssystems als Router.

Selbstverständlich kann man bei uns im Netz auch eigene Router betreiben. Um einen möglichst problemlosen Betrieb zu ermöglichen geben wir euch hier ein paar Tipps für die optimalen Einstellungen.

IP Bereich

Bei uns im Netz ist es möglich ein eigenes lokales Subnetz zu betreiben. Als privates Netz sollte man das Netz 172.16.0.0/24 verwenden. Also die IP Adressen 172.16.0.0-172.16.0.255. Alle andere privaten Netze werden zum Teil von unseren Servern und internen Netzen verwendet und sollten gemieden werden!

VPN und Router

Der Router muss eine VPN Verbindung zum VPN-Gateway aufbauen. Für alle Clients dahinter sollten zweimal Masquerading machen:

iptables -t nat -A POSTROUTING -o ppp0 -s 172.16.0.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/24 -j MASQUERADE

Dabei ist ppp0 das VPN Device und eth0 das externe Device mit einer 192.168.0.0/16 er IP-Adresse.

Warum sind einige Webseiten nicht erreichbar?

Das liegt daran, das bei einigen schlecht konfigurierten Firewalls einiger Anbieter die Path-MTU-Discovery nicht funktioniert. Dadurch, dasss die MTU der VPN Verbindung < 1500 ist, kommt es zu Problemen beim Zugriff auf solche Server. Das gleiche Problem gibt es auch bei DSL Verbindungen, die über PPPOE laufen.
Beheben lässt sich das auf vielfache Weise:

  • MTU der Clients erniedrigen. z.B. auf 1400
  • Proxy-Server für http Traffic verwenden
  • Die MTU/MSS auf dem eigenen Router umbiegen

Letzteres lässt sich mit iptables folgendermaßen realisieren:

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu