Bridge masquerade problem.
Hej,Jeg har konstrueret et antal device drivere (dev1 - dev3), der tilgåes fra et userspace program via et packet interface. Alle devices er koblet på en bridge (br0) med en statisk IP addresse 192.168.0.1/24, og en kørende DHCP server. Herudover har jeg et eksternt interface (eth0), med en dynamisk IP addresse.
Nu vil jeg gerne have lavet adgang fra de 3 devices til eth0 med
samtidig anvendelse af IP masquerading, og fandt et eksempel på
nettet med et lignende setup (se figur 7b):
http://ebtables.sourceforge.net/br_fw_ia/br_fw_ia.html#section4
Jeg har prøvet at anvende nedenstående efter at bridgen er sat op med interfaces, DHCP server og IP addresse, men uden held:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
echo '1' > /proc/sys/net/ipv4/ip_forward
Jeg ved ikke om årsagen til problemet er, at IP forwarding sker i IP stack'en og dermed ikke virker med et PF_PACKET interface, da det er en direkte lag 2 socket mellem device driveren og userspace applikationen.
På forhånd mange tak for hjælpen!