Aus dem Fidonet:

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.

IpMasqueradingMitEinerNetzwerkkarte (zuletzt geändert am 2007-12-23 22:47:09 durch localhost)