MTU, IPtables und MySQL
![](https://seccdn.libravatar.org/avatar/b1842abb8006ea74e718227c6883c589.jpg?s=120&d=mm&r=g)
Hallo zusammen, ich weiß, es ist ein komischer Betreff, aber aufgepasst: Ich habe mehrere Netzwerke über VPN miteinander verbunden. In der mitte stehe ich, man muß sich das wie ein Stern vorstellen. In der mitte mache ich NAT/Masquerade und route die Pakete so in andere Netze. ABer: Wenn ich eine MySQL Datenbank öffnen will, (von Netz1, über den Stern in Netz2) komme ich erst rein, jedoch kurz bevor der Datenfluss kommt eiert eine ICMP Meldung am SQL Server: Dest. unreach. (Wenn ich einen Ping mache kommen diese Pakete nicht, nur bei einer Datenbank) Das selbe habe ich bei Lotus Notes. Ich komme über VPN auf dem Server, kann jedoch keine Datenbanken öffnen. Nun meine Frage(n). Kann das an den MTUs hängen? Warum kommt diese ICMP Meldung? Ich komme doch per Ping und so rüber?? Muß ich sowohl post und prerouting in der mitte des Sterns machen? (mache zZ nur Post) Kennt jemand von euch dieses Problem??? Stefan
![](https://seccdn.libravatar.org/avatar/25006076caf56496daaeac565b27fcae.jpg?s=120&d=mm&r=g)
On Thu, Jul 03, 2003 at 08:10:18AM +0200, Stefan Eggert wrote:
Nun meine Frage(n). Kann das an den MTUs hängen?
Ja, wahrscheinlich. Wenn die Symptome sind - kleine Pakete (kleiner als die MTU) kommen durch (ping, Login, ssh) - grosse Pakete (groesser als die MTU) kommen nicht durch (ping -s 2000, ftp, scp) dann passiert folgendes: - der eine Rechner will Path MTU Discovery machen und sendet seine Pakete mit gesetztem DF-Bit im IP Header - die Pakete sind groesser als die MTU der Strecke - der Host vor dem schmalen Teil der Strecke sieht das DF, muß fragmentieren, kann aber nicht - generiert daher ein ICMP 3:4 (must fragment, but DF is set) - das ICMP 3:4 wird zurück gesendet - und von einer defekt konfigurierten Firewall geblockt Die korrekte Lösung: Firewall so konfigurieren, daß sie alle 3:x, mindestens jedoch 3:4 durchläßt (Bei der Gelegenheit kannst Du Dir auch überlegen, wie Du mit ICMP 0 und ICMP 8 umgehen willst). Die Hilfslösung (discouraged): Clamp MSS an dem ausgehenden Gateway konfigurieren. Das Problem entsteht, weil ein Haufen ahnunglose Hilfsdeppen meinen, mit ihrer Firewall den SuperMegaStealthMode konfigurieren zu müssen und dabei alle IMCP 3:x wegwerfen, und zwar am besten mit drop (statt korrekt mit ICMP 3:10 zu antworten). Weil: wenn man mehr blockt, ist man ja sicherer. Kristian
![](https://seccdn.libravatar.org/avatar/b1842abb8006ea74e718227c6883c589.jpg?s=120&d=mm&r=g)
Hallo Kristian, Kristian Koehntopp schrieb:
On Thu, Jul 03, 2003 at 08:10:18AM +0200, Stefan Eggert wrote:
Nun meine Frage(n). Kann das an den MTUs hängen?
Ja, wahrscheinlich.
Wenn die Symptome sind
- kleine Pakete (kleiner als die MTU) kommen durch (ping, Login, ssh) - grosse Pakete (groesser als die MTU) kommen nicht durch (ping -s 2000, ftp, scp)
ping -s 2000 geht aber, ohne Probleme.
dann passiert folgendes:
- der eine Rechner will Path MTU Discovery machen und sendet seine Pakete mit gesetztem DF-Bit im IP Header - die Pakete sind groesser als die MTU der Strecke - der Host vor dem schmalen Teil der Strecke sieht das DF, muß fragmentieren, kann aber nicht - generiert daher ein ICMP 3:4 (must fragment, but DF is set) - das ICMP 3:4 wird zurück gesendet - und von einer defekt konfigurierten Firewall geblockt
Die korrekte Lösung: Firewall so konfigurieren, daß sie alle 3:x, mindestens jedoch 3:4 durchläßt (Bei der Gelegenheit kannst Du Dir auch überlegen, wie Du mit ICMP 0 und ICMP 8 umgehen willst).
Innerhalb der VPN Strecken darf direkt geroutet werden, ohne beschränkung.
Die Hilfslösung (discouraged): Clamp MSS an dem ausgehenden Gateway konfigurieren.
Hatte ich bereits mit $IPTABLES -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Das Problem entsteht, weil ein Haufen ahnunglose Hilfsdeppen meinen, mit ihrer Firewall den SuperMegaStealthMode konfigurieren zu müssen und dabei alle IMCP 3:x wegwerfen, und zwar am besten mit drop (statt korrekt mit ICMP 3:10 zu antworten). Weil: wenn man mehr blockt, ist man ja sicherer.
ICMPs sollten auch verworfen werden, alles was nicht die VPN Strecke passiert. Ich sende Dir mal per PM mein FW Script, vielleicht habe ich ja etwas übersehen?? Stefan
![](https://seccdn.libravatar.org/avatar/709d10a1c114b4e4eb2a15018f864997.jpg?s=120&d=mm&r=g)
Am Donnerstag, 3. Juli 2003 08:10 schrieb Stefan Eggert:
Ich habe mehrere Netzwerke über VPN miteinander verbunden. In der mitte stehe ich, man muß sich das wie ein Stern vorstellen.
:) so hab ich das auch. Ich benutze dafür aber die ASTARO Firewall, die in allen Standorten installiert ist.
ABer: Wenn ich eine MySQL Datenbank öffnen will, (von Netz1, über den Stern in Netz2) komme ich erst rein, jedoch kurz bevor der Datenfluss kommt eiert eine ICMP Meldung am SQL
ich hatte ein ähnliches Problem. Eine SSH Verbindung klappte, ein "ls" klappte auch, ein "ls -als" klappte nicht mehr. Bei mir lag es an der MTU. Nachdem ich die auf einen kleineren Wert eingestellt hatte (dank an den Support von Astaro), klappte es dann auch. cu stonki -- www.proftpd.de: Deutsche ProFTPD Dokumentation www.krename.net: Der Batch Renamer für KDE www.kbarcode.net: Die Barcode Solution für KDE www.stonki.de
![](https://seccdn.libravatar.org/avatar/b1842abb8006ea74e718227c6883c589.jpg?s=120&d=mm&r=g)
Stefan Onken schrieb:
Am Donnerstag, 3. Juli 2003 08:10 schrieb Stefan Eggert:
Ich habe mehrere Netzwerke über VPN miteinander verbunden. In der mitte stehe ich, man muß sich das wie ein Stern vorstellen.
:) so hab ich das auch. Ich benutze dafür aber die ASTARO Firewall, die in allen Standorten installiert ist.
ABer: Wenn ich eine MySQL Datenbank öffnen will, (von Netz1, über den Stern in Netz2) komme ich erst rein, jedoch kurz bevor der Datenfluss kommt eiert eine ICMP Meldung am SQL
ich hatte ein ähnliches Problem. Eine SSH Verbindung klappte, ein "ls" klappte auch, ein "ls -als" klappte nicht mehr. Bei mir lag es an der MTU. Nachdem ich die auf einen kleineren Wert eingestellt hatte (dank an den Support von Astaro), klappte es dann auch.
cu stonki
Hi! Sag mal, welche Werte hast Du eingegeben?? 1492?? Für Internal, External oder VPN dev? Gruß Stefan
participants (3)
-
Kristian Koehntopp
-
Stefan Eggert
-
Stefan Onken