Re: bridged vlan interfaces
Jonathan Thibault <[email protected]> Thu, 15 Nov 2007 20:46:21 -0500
| Newsgroups | gmane.linux.network.bridge.ebtables.user |
|---|---|
| Message-ID | <[email protected]> |
First and foremost, a great many thanks for the quick and very
insightful reply. My humble self kept assuming that the problem lied in
my own ineptitude with the bridge. The prospect of blaming a braindead
(Linksys SRW2024) switch is appealing to my ego ;)
Physically, I have something like this
(40xSM)<-T->(AP)<-T->(BH)<-T->o
(20xSM)<-T->(AP)<-T->(BH)<-T->o
(30xSM)<-T->(AP)<-T->(BH)<-T->o(SRW2024)o<-T->(in-br0-out)<-P->(gateway)
... o o<-P->(mgmt)
(SRW208)o<-T->(BH)<-T->o
Where:
o=Switch port
()=Physical hardware
SM=Subscriber Module
AP=Access Point
BH=BackHaul
<-T->=Multi-VLAN trunk
<-P->=Plain ethernet
The SM, AP and BH units, I am assured, are very dumb bridge like
devices, they don't try to interpret any of what's going through them.
I somehow doubt that they're to blame for the problem. As you can see,
with the exception of a small management system, everything connected to
the SRW2024 is trunk ports. I could probably just bypass it with a dumb
switch, link all my backhauls to the 'in' port of the linux box and
split my vlans there instead.
Basically, I'd want to give a different vlan to each branch. Right now
all trunk ports only carry vlan2 tagged stuff which is the customer
network, and vlan1/untagged which is used to manage the equipment.
The trunk port to 'in' only has vlan2 tagged on it, and I have a small
station to manage (mgmt) the vlan1/untagged stuff on an access port of
the SRW2024.
I can't easily remove the SRW208, but I don't think it would affect the
rest of the network, right?
Thanks again,
Jonathan
Grant Taylor wrote:
> On 11/15/07 15:56, Jonathan Thibault wrote:
>> This works quite well, I do all my filtering in iptable's FORWARD
>> rule. The only ebtable rules I have are -P DROP on 'INPUT' 'OUTPUT'
>> and 'FORWARD' and then -j ACCEPT on IPv4 and ARP.
>
> Novel. I had not considered doing a Layer 3 protocol filter before.
> Although I have not had a need to do so.
>
>> My current problem is that I would like to put some of my customers
>> in vlan3. Not so much to isolate them (they could still talk through
>> the bridge), but mainly to let the firewall be aware of which
>> backhaul they are connecting from and be smarter about its shaping
>> rules that way. Basically, the only way I can tell where a customer
>> is is to set a vlan on their connection endpoint. Their MAC and IP
>> addresses are subject to change frequently and being imposed a 'flat'
>> network, I have no real way of separating them in subnets.
>
> Agreed. I have done exactly this for segregation purposes with
> tremendous success.
>
>> The problem is that as soon as I add in.3 to the bridge, some (3 that
>> I am aware of so far) customers experience problems reaching the
>> gateway. tcpdump suggests that arp replies from the gateway never
>> reach the customers. They keep making ARP requests for the gateway.
>> I don't think they can reach the bridge IP itself either, but I'll
>> have to do further testing to confirm that.
>>
>> Note that I haven't acutally *moved* any customers to vlan3 yet. The
>> problem happens as soon as I add in.3 to the bridge and vanishes as
>> soon as I remove it from the bridge.
>>
>> When a customer calls to tell me they have no internet, they regain
>> access as soon as I remove in.3 from the bridge, but they will not
>> immediately loose it if I re-add in.3 immediately after. So I'm
>> guessing that as soon as the gateway's MAC is in their ARP table,
>> they have no problem reaching it. Or it could be that the bridge
>> stops learning new MACs when in.3 is added.
>
> I ran in to a similar problem in my install, but the problem has nothing
> to do with Linux. Do you have any HP ProCurve switches in your network?
> I had found that some equipment (*cough* HP ProCurve switches *cough*)
> did not like seeing the same MAC on multiple VLANs. In short Linux was
> smarter than some of the other core equipment.
>
> To get around this I had to spoof the MAC address of the router from
> 'out' (in your case) to be more like 'out.vid' on each vlan.
> Technically what I ended up doing was taking the router's MAC and
> altering the last byte to be the VLAN ID. This way the switch would see
> dissimilar MAC addresses across all VLANs. Essentially I had to SNAT
> the MAC of traffic leaving the router and DNAT the MAC of traffic going
> to the router.
>
> I had two HP ProCurve 4000 switches connected to each other and then to
> a Linux box and then the router. In this scenario, the only MAC address
> that the switches would possibly see on multiple VLANs is the router.
> There was no VLAN to VLAN traffic, which would have been a problem for
> the same reason. Now if you are using Router-on-a-Stick, where you will
> come from the switch(s) one one or more VLANs to the Linux box and back
> to the switch on one or more different VLANs, you will have a LOT of MAC
> addresses that need to be altered. Or the more proper solution would be
> to B*%#& Smack the switch (read: upgrade the firmware(?)) so that you
> do not have to deal with such stupidity.
>
>> I probably have a lot more testing to do, but I'd love some guidance
>> as to where I should start. I only see the problem on the *live*
>> system and therefore can't really take it down for extended periods
>> of time and take it appart.
>
> I am guessing that there are forces beyond your control at work against
> you here. With out knowledge of said forces you have very little hope
> of working around them.
>
>> Thanks in advance,
>
> *nod*
>
>
>
> Grant. . . .
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Ebtables-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ebtables-user
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/