DNAT and 802.1q tagged bridge

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have a bridge of two physical interfaces: eth1, eth2. Vlan tagged packets go through this bridge, but bridge itself doesn't know about vlan numbers (there're a lot of vlans,they change frequently, it's impossible to set them on a bridge) and bridge has no ip address.
ebtables and conntrack are  both loaded.
DROP and ACCEPT run on this bridge.
Under certain destination ip and port, I need to DNAT packets to loopback, I add 10.0.0.1 to loopback, as DNAT often doesn't work on 127/8.
Here's an example rule which somehow does not work:
iptables-t nat-A PREROUTING-m physdev - physdev-in eth1-d 1.1.1.1-j DNAT - to-destination 10.0.0.1
iptables-t nat-A POSTROUTING-s 10.0.0.1-j SNAT - to-source 1.1.1.1
Packages come on eth1. Return (after Snat) packets must go through eth0, the interface is untagged, the gateway lives behind it. I make a telnet from the world, in iptables DNaT counter is incremented by 1, but telnet does not respond, syn + ack in response does not come, and counters of SNAT are zeroed. Telnet passes from bridge machine, the problem is exactly in DNAT. This scheme also doesn't work without SNAT. Maybe the problem is that packets Tagged? But netfilter is not looking at the package ethernet headers during DNaT, it looks only on IP packet headers, as DNaT, for example, can be done in Gre-tunnel, which is not ethernet device. Maybe reason in no ipv4 routes on bridge interface (but interface is tagged, I don't know vlan numbers and there are no untagged packets running throu bridge so I can't simply add route on bridge device).


--
WBR
Yavetskiy Yuriy
ULTI-RIPE

--
To unsubscribe from this list: send the line "unsubscribe netfilter" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux