Hoi Liste,
... ich bin der "Neue" auf der Liste und habe gleich ein kleines Netzwerkproblem: ich habe für die Internetverbindung eine Fritzbox und im gleichen Subnetz einen Linuxhost. Dieser macht dhcp, dns und verteilt an alle Clients sich als defaultgateway. Er selber hat den Gateway auf die Fritzbox.
Ein Client schickt nun eine Anfrage und erhält vom Linuxhost ein ICMP Redirect Paket doch gleich über die Fritzbox zu gehen - spart ja einen Hop. Dieses Verhalten möchte ich unterbinden. Ich möchte allen Traffic voher auf dem Linuxhost haben.
net.ipv4.conf.all.send_redirects=0 habe ich in /etc/sysctl.conf gesetzt... hilft nicht, ich sehe die redirect pakete noch immer. Per iptables "iptables -A OUTPUT -o eth0 -p icmp -m state --state NEW,ESTABLISHED -j DROP" schmeisse ich alle ICMP Pakete weg ... dennoch sehe ich die redirect Pakete.
Was mach ich grundsätzlich falsch? VLANs helfen mir in meinen trivialsetup nicht weiter..
Das ganze sieht dann so aus:
https://www.batchworks.de/dateien/public.php?service=files&t=bc9761cc55e...
192.168.105.1 ist die Fritzbox, 192.168.105.24 ist der Linuxhost - 192.168.105.50 ist ein Client.
Danke für euren Input und Gruss
Andreas
Hi,
On Tue, Aug 05, 2014 at 01:40:49PM +0200, Andreas Roth andreas+lugdd@schosemail.de wrote:
Hoi Liste,
... ich bin der "Neue" auf der Liste und habe gleich ein kleines Netzwerkproblem: ich habe für die Internetverbindung eine Fritzbox und im gleichen Subnetz einen Linuxhost. Dieser macht dhcp, dns und verteilt an alle Clients sich als defaultgateway. Er selber hat den Gateway auf die Fritzbox.
Ein Client schickt nun eine Anfrage und erhält vom Linuxhost ein ICMP Redirect Paket doch gleich über die Fritzbox zu gehen - spart ja einen Hop. Dieses Verhalten möchte ich unterbinden. Ich möchte allen Traffic voher auf dem Linuxhost haben.
Das nächstliegende wäre da: - zweite Netzwerkkarte in den Linuxhost - ein Netz zwischen Fritzbox und Linuxhost - ein zweites Netz zwischen Linuxhost und "dem Rest"
net.ipv4.conf.all.send_redirects=0 habe ich in /etc/sysctl.conf gesetzt... hilft nicht, ich sehe die redirect pakete noch immer.
Nach dem Setzen auch aktiviert? (Durch Reboot oder "sysctl -p")
Per iptables "iptables -A OUTPUT -o eth0 -p icmp -m state --state NEW,ESTABLISHED -j DROP" schmeisse ich alle ICMP Pakete weg ... dennoch sehe ich die redirect Pakete.
Wo? Ausgehend auf dem Linuxhost (vor dem Verwerfen durch iptables)? Oder eingehend auf dem Client?
Was mach ich grundsätzlich falsch?
Du willst TCP/IP vergewaltigen. ;-)
VLANs helfen mir in meinen trivialsetup nicht weiter..
Eine zweite Netzwerkkarte wahrscheinlich schon :)
Ciao, Thomas
Hi! Wenn das okay für Dich ist, dann mach doch die Clients einfach in ein anderes Netz und nutz den Linuxhost wirklich als Router. Das kannst Du ja auch mit einer Netzwerkkarte so machen, wenn Du dem einfach mehrere Adressen gibst. Wenn du willst könntest Du dann ja auch mit NAT (ohne PAT) die Fritzbox in deinem geroutetem Netz abbilden....
Wenn du per DHCP 192.168.105.64/22 anstelle von /24 verteilst könnte das auch verhindern das die nicht über den Linuxhost rausgehen da bin ich mir aber nicht sicher ohne test....
Siehst Du abgesehen davon bei #sysctl net.ipv4.conf.all.send_redirects auch ein = 0 ? Außerdem solltest Du das ja wenn dann auch auf der Fritzbox abstellen, denn die müsste ja das Redirect generiert haben. Oder du stellst das Annehmen auf allen Clients ab... das geht auch...
/sbin/sysctl -w net.ipv4.conf.all.accept_redirects = 0
lg _john
Am 05.08.2014 16:53, schrieb Thomas Köhler:
Hi,
On Tue, Aug 05, 2014 at 01:40:49PM +0200, Andreas Roth andreas+lugdd@schosemail.de wrote:
Hoi Liste,
... ich bin der "Neue" auf der Liste und habe gleich ein kleines Netzwerkproblem: ich habe für die Internetverbindung eine Fritzbox und im gleichen Subnetz einen Linuxhost. Dieser macht dhcp, dns und verteilt an alle Clients sich als defaultgateway. Er selber hat den Gateway auf die Fritzbox.
Ein Client schickt nun eine Anfrage und erhält vom Linuxhost ein ICMP Redirect Paket doch gleich über die Fritzbox zu gehen - spart ja einen Hop. Dieses Verhalten möchte ich unterbinden. Ich möchte allen Traffic voher auf dem Linuxhost haben.
Das nächstliegende wäre da:
- zweite Netzwerkkarte in den Linuxhost
- ein Netz zwischen Fritzbox und Linuxhost
- ein zweites Netz zwischen Linuxhost und "dem Rest"
net.ipv4.conf.all.send_redirects=0 habe ich in /etc/sysctl.conf gesetzt... hilft nicht, ich sehe die redirect pakete noch immer.
Nach dem Setzen auch aktiviert? (Durch Reboot oder "sysctl -p")
Per iptables "iptables -A OUTPUT -o eth0 -p icmp -m state --state NEW,ESTABLISHED -j DROP" schmeisse ich alle ICMP Pakete weg ... dennoch sehe ich die redirect Pakete.
Wo? Ausgehend auf dem Linuxhost (vor dem Verwerfen durch iptables)? Oder eingehend auf dem Client?
Was mach ich grundsätzlich falsch?
Du willst TCP/IP vergewaltigen. ;-)
VLANs helfen mir in meinen trivialsetup nicht weiter..
Eine zweite Netzwerkkarte wahrscheinlich schon :)
Ciao, Thomas
Hi _john,
On Tue, Aug 05, 2014 at 21:32:06 +0200, _john wrote:
Außerdem solltest Du das ja wenn dann auch auf der Fritzbox abstellen, denn die müsste ja das Redirect generiert haben.
Nein, der Redirect kommt vom Linuxhost. Der Linuxhost wird vom Client initial als Gateway benutzt (etwa beim Aufbau einer TCP-Verbindung zu einem externen Ziel). Der Linuxhost sieht, dass sein Nexthop in Richtung des Ziels (die Fritzbox) im gleichen Subnetz liegt und sendet ein Redirect an den Client, worauf dieser die Fritzbox nun direkt als Gateway benutzt.
Das aendert zwar nichts an der Routingtabelle auf dem Client, aber im Routing Cache des Clients wird fuer eine Weile die Fritzbox als Gateway fuer das angefragte Ziel gehalten.
Gruss, Chris
Hi Andreas,
On Tue, Aug 05, 2014 at 13:40:49 +0200, Andreas Roth wrote:
... ich bin der "Neue" auf der Liste und habe gleich ein kleines Netzwerkproblem: ich habe für die Internetverbindung eine Fritzbox und im gleichen Subnetz einen Linuxhost. Dieser macht dhcp, dns und verteilt an alle Clients sich als defaultgateway. Er selber hat den Gateway auf die Fritzbox.
Ein Client schickt nun eine Anfrage und erhält vom Linuxhost ein ICMP Redirect Paket doch gleich über die Fritzbox zu gehen - spart ja einen Hop. Dieses Verhalten möchte ich unterbinden. Ich möchte allen Traffic voher auf dem Linuxhost haben.
Hab die Sache gerade mit drei KVM-Instanzen nachgebaut. Mit
# echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects # echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
sendet der Linuxhost bei mir keine Redirects mehr. Im Routing Cache vom Client sieht man es:
$ nc X.Y.Z.U 22
$ ip r s c [...] X.Y.Z.U from 192.168.105.200 via 192.168.105.24 dev eth0 [...]
net.ipv4.conf.all.send_redirects=0 habe ich in /etc/sysctl.conf gesetzt... hilft nicht, ich sehe die redirect pakete noch immer.
Die Datei /etc/sysctl.confi zu aendern reicht nicht. Die Werte muessen mit sysctl ins /proc-Dateisystem des Kernels runtergeschrieben werden. Geht auch mit echo, siehe oben.
Die Frage ist allerdings, was Du damit ueberhaupt erreichen willst. Falls Du den Traffic des Clients ueber den Linuxhost zwingen willst, kann sich der Clients dem sehr leicht entziehen, indem er die Defaultroute von Hand ueber 192.168.105.1 setzt.
Gruss, Chris
Hoi all,
Danke erstmal für euren Input!
# echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects # echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
genau das /proc/sys/net/ipv4/conf/eth0/send_redirects hat die redirects verhindert.. "all" scheint also nicht nur zu reichen.
Die Frage ist allerdings, was Du damit ueberhaupt erreichen willst. Falls Du den Traffic des Clients ueber den Linuxhost zwingen willst, kann sich der Clients dem sehr leicht entziehen, indem er die Defaultroute von Hand ueber 192.168.105.1 setzt.
Das ist richtig, in meinem Fall aber nicht schlimm.. zum Hintergrund: der "Linuxhost" ist ein RaspberryPi, welcher zusätzlich noch IPv6 Tunnel usw. aufbaut. Ich möchte allen Traffic über diesen Host schicken zu schauen wohin die "Heimelektronik" (TV, Sonos, Xbox usw.) - nach Hause telefoniert. Die DNS abfragen von einigen Geräten sehen schon spannend aus..
Durch ein reines Capture an der Fritzbox erhält man nicht das komplette IPv4/IPv6 Bild und ist weniger flexibel..
Ich habe das Problem jetzt ähnlich wie vorgeschlagen dadurch geloesst, dass ich dem Linuxhost statt einem /24 zwei /25 Netze gegeben habe. Ein Netz für die Kommunikation FB<->Linuxhost und eins für die DHCP Clients. Dies ist auch insofern besser, als dass man den gesamten Traffic sieht. Beim dem vorherigen Setup hatte ich übersehen, dass die Antworten ja von der Fritzbox an den Client direkt geschickt werden können und ich so nur die Requests der Clients gesehen hätte.
Danke nochmal und Gruss,
Andreas
Hoi all,
Danke erstmal für euren Input!
# echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects # echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
genau das /proc/sys/net/ipv4/conf/eth0/send_redirects hat die redirects verhindert.. "all" scheint also nicht nur zu reichen.
Die Frage ist allerdings, was Du damit ueberhaupt erreichen willst. Falls Du den Traffic des Clients ueber den Linuxhost zwingen willst, kann sich der Clients dem sehr leicht entziehen, indem er die Defaultroute von Hand ueber 192.168.105.1 setzt.
Das ist richtig, in meinem Fall aber nicht schlimm.. zum Hintergrund: der "Linuxhost" ist ein RaspberryPi, welcher zusätzlich noch IPv6 Tunnel usw. aufbaut. Ich möchte allen Traffic über diesen Host schicken zu schauen wohin die "Heimelektronik" (TV, Sonos, Xbox usw.) - nach Hause telefoniert. Die DNS abfragen von einigen Geräten sehen schon spannend aus..
Durch ein reines Capture an der Fritzbox erhält man nicht das komplette IPv4/IPv6 Bild und ist weniger flexibel..
Ich habe das Problem jetzt ähnlich wie vorgeschlagen dadurch geloesst, dass ich dem Linuxhost statt einem /24 zwei /25 Netze gegeben habe. Ein Netz für die Kommunikation FB<->Linuxhost und eins für die DHCP Clients. Dies ist auch insofern besser, als dass man den gesamten Traffic sieht. Beim dem vorherigen Setup hatte ich übersehen, dass die Antworten ja von der Fritzbox an den Client direkt geschickt werden können und ich so nur die Requests der Clients gesehen hätte.
Danke nochmal und Gruss,
Andreas
lug-dd@mailman.schlittermann.de