Aus dem Fidonet:
- Kann man masquieren obwohl man nur eine Netzwerkkarte hat ??? (ich dachte eigentlich immer, daß man zwei devices benötigt, damit das geht ?!)
Das ganze ist mit nur einer Netzwerk-Karte nicht sehr sinnvoll.
Was passiert wenn man auf ein Netzwerkdevice maskiert? Würde ich auch gerne wissen: einfach ausprobieren! Hier folgendes Test-Setup:
Host A: Kernel: 2.3.5 Interfaces: eth0 192.168.2.1 netmask 255.255.255.0 Routing-Eintraege: 192.168.2.0 255.255.255.0 0.0.0.0 eth0 192.168.10.5 255.255.255.255 192.168.2.2 eth0 Host B: Kernel: 2.3.6 Interfaces: eth0 192.168.2.2 netmask 255.255.255.0 eth0:0 192.168.10.1 netmask 255.255.255.0 Routing-Eintraege: 192.168.2.0 255.255.255.0 0.0.0.0 eth0 192.168.10.0 255.255.255.0 0.0.0.0 eth0[:0] Masquerading: ipchains -I forward -j MASQ -s 192.168.2.1 -d 192.168.10.5
Ein Ping von Host A (192.168.2.1) nach 192.168.10.5 ergibt:
: 21:45:34.538409 192.168.2.1 > 192.168.10.5: icmp: echo request : 21:45:34.538409 192.168.2.2 > 192.168.2.1: icmp: redirect 192.168.10.5 to host 192.168.10.5 [[tos 0xc0]
Hier gibt es einen redirect. Wobei es natuerlich Host A wenig nutzt, zuwissen, dass er den Host 192.168.10.5 ueber 192.168.10.5 erreicht.
21:45:34.538409 arp who-has 192.168.10.5 tell 192.168.10.1 (0:40:33:a0:c5:99) 21:45:35.528409 arp who-has 192.168.10.5 tell 192.168.10.1 (0:40:33:a0:c5:99)
Host B will das Paket offenbar trotzdem weitersenden. Da mir ein dritter Rechner mit der Moeglichkeit einen IP-Alias zu konfigurieren im Moment fehlt, konnte ich hier nicht richtig weiter testen. Also nahm ich das logging von ipchains zur Hilfe um zu sehen, ob der echo-request auch weitergeleitet wird. Mittels:
ipchains -I output -d 192.168.10.5 -i eth0 -l tail -f /var/log/messages
auf Host B und einen weiteren Ping von Host A erhielt ich:
Jul 5 22:06:52 malware kernel: Packet log: output - eth0 PROTO=1 192.168.10.1:8 192.168.10.5:0 L=84 S=0x00 I=12160 F=0x0000 T=63
Was eben jener gesuchter maskierte echo request sein muss. Das Masquerading tut es also trotzdem. Fuer den taeglichen Einsatz ist dies aber nicht zu empfehlen. Insbesondere die ICMP-Redirects stoeren das Bild. Falls es unbedingt notwendig ist, wuerde ich, insbesondere wenn Probleme mit einzelnen Systemen auftreten, den redirect mittels ipchains unterdruecken. In meinem Test-Falls, z.B. mittels:
ipchains -I output -j DENY -p ICMP -s 192.168.2.2 5 -d 192.168.2.0/24 1
Dann hat man allerdings ein Netzwerk konstruiert, welches einem bei der Wartung noch so manche Ueberraschung bescheren kann.