Hallo Liste und im speziellen die, die sich mit dem Paketfilter "netfilter" auskennen,
seit einer gefühlten Ewigkeit warnt "nf_conntrack" ja, dass das automatische Zuweisen von Helpern eingestellt wird :
[ 17.681849] nf_conntrack: automatic helper assignment is deprecated and it will be removed soon. Use the iptables CT target to attach helpers instead.
Da aber alles weiter funktionierte, dauerte es also bis ich Kernel 4.7 einsetze, dass die bisherigen Regeln nicht mehr funktionierten. Zuerst war da ein Client, der kein PPTP mehr konnte nun scheiterte ich an passivem FTP. Eine Lösung, die das Problem bloß weiter hinausschiebt ist "echo 1 > /proc/sys/netfilter/nf_conntrack_helper".
Nun will ich es richtig machen, habe es aber noch nicht wirklich gerafft:
- die Helper lesen im Datenstrom mit, ob Pakete zu einer Verbindung gehören und können den Paketfilter so dynamisch öffnen (so machen sich am Beispiel FTP ja Server und Client über den Steuerkanal TCP Port 21 einen Datenkanal TCP Port >1024 dynamisch je Verbindung aus und darauf reagiert der Helper und öffnet den Port) - automatisches Laden der Helper und eine recht globale " -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT" Regel bedeutet nun, das alle verfügbaren Helper zu Einsatz kommen können und im Beispiel FTP auch auf einem gänzlich anderen Port als 21 stattfinden könnte - dem wollen die Experten einen Riegel vorschieben und nötigen nun die Admins da lieber konkreter mit dem CT Ziel zu arbeiten = das ist zumindest, was ich glaube verstanden zu haben
- nun soll ich bestimmten Helpern einen Port zuweisen : "-A PREROUTING -t raw -p tcp --dport 21 -j CT --helper ftp" ja? = und nun, bleibt es bei meiner RELATED,ESTABLISHED Regel oder muss dort auch der Helper ergänzt werden; und wenn es mehrere sein sollen?
Schauen wir uns mal ein bestehendes vereinfachtes Forwarding an :
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -s 192.168.1.0/24 -i eth0 -o ppp0 -p tcp -m multiport --dports 20:21 -j ACCEPT -A FORWARD -s 192.168.1.0/24 -i eth0 -o ppp0 -p tcp -m multiport --dports 1723 -j ACCEPT -A FORWARD -s 192.168.1.0/24 -i eth0 -o ppp0 -p gre -j ACCEPT -A FORWARD -j DROP -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
Wie wird das nun korrekt auf die neue Art umgesetzt? So?
-t raw -A PREROUTING -p tcp -m multiport --dports 20:21 -j CT --helper ftp -t raw -A PREROUTING -p tcp -m multiport --dports 1723 -j CT --helper pptp -A FORWARD -m conntrack --ctstate ESTABLISHED -j ACCEPT -A FORWARD -m conntrack --ctstate RELATED -m helper --helper ftp -p tcp -j ACCEPT -A FORWARD -s 192.168.1.0/24 -i eth0 -o ppp0 -p tcp -m multiport --dports 20:21 -j ACCEPT -A FORWARD -s 192.168.1.0/24 -i eth0 -o ppp0 -p tcp -m multiport --dports 1723 -j ACCEPT -A FORWARD -s 192.168.1.0/24 -i eth0 -o ppp0 -p gre -j ACCEPT -A FORWARD -j DROP -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
Mit freundlichen Grüßen / Kind regards Ronny Seffner -- Ronny Seffner | Alter Viehweg 1 | 01665 Klipphausen www.seffner.de | ronny@seffner.de | +49 35245 72950 7EA62E22D9CC4F0B74DCBCEA864623A568694DB8
lug-dd@mailman.schlittermann.de