[Lxc-users] multi-homed host
Brian K. White
brian at aljex.com
Tue Dec 14 23:26:20 UTC 2010
Shouldn't I be able to have two different nics on a host, on two
different, unrelated, public networks, and have two bridge devices on
the host, and some containers on one bridge and some containers on the
other bridge, and have all containers be able to talk to their
respective internet connections regardless which nic happens to be the
default gateway fro the host?
Host setup:
eth0 -> 10.0.0.x -> lan with other 10.0.0.x machines
eth1 -> br0 -> a.a.a.x -> public wan 1 , cable modem
eth2 -> br1 -> b.b.b.x -> public wan 2 , fios
ip forwarding is enabled
eth0 lan works fine.
The host talks to other 10.0.0.x boxes via this with no problem.
eth1/br0 works fine.
The hosts's default gateway is a.a.a.1
The host talks to the internet & vice/versa just fine via this.
eth2/br1 works fine from the hosts point of view.
other b.b.b.x machines are reached directly via this, not routing over
eth1/br0.
Containers:
Containers with a.a.a.x ip's work fully and as expected.
They can reach the internet and the internet can reach them.
These containers have a.a.a.x ips and their default gw is a.a.a.1
Containers with b.b.b.x addresses do not work fully.
These have b.b.b.x ip's and default gw b.b.b.1
They can see the host and each other on the same host, and they can even
see other neighboring b.b.b.x hosts, external to the host, but on the
same physical local switch where traffic does not have to go out of the
switch up to the b.b.b.1 default gateway.
(b.b.b.1 is on the other end of the fios line, not on premises and not
owned or operated by me but by verizon)
None of the hosts nor the switch has any vlans or tagging other than the
default vlan id is 1 in the switch when left undefined.
Software firewalls are disabled in the hosts and containers at least for
now while still trying to figure this out.
What in the world could allow a container in the host talk outside the
host well enough to talk to other neighboring hosts on the same switch,
but but just not be able to reach the default gateway outside the
switch? It's like the gateway has firewalled certain ip's and not
others, but the ips actually work fine if put on a laptop directly or if
the hosts default gateway and nameserver are switched over to the
b.b.b.x network. Say the host br1 is b.b.b.50 and a container is
b.b.b.60, and there is one single switch connecting 4 things
b.b.b.1 - default gateway on other end of uplink
b.b.b.40 - neighboring host, regular traditional server, single ip.
b.b.b.41 - neighboring host, regular traditional server, single ip.
b.b.b.50 - the host
b.b.b.51 - container 1 on host
b.b.b.52 - container 2 on host
All but the container are plugged into the same single switch, but .50
and .51 are on the same bridge on the host.
The host .50 can ping and be pinged by all, itself, it's containers,
neighboring hosts, containers inside neighboring hosts, and the gateway.
The container .51 can ping .50, .52, and .40 and .41, but not .1 !
How in the world can .51 reach across the hosts br1 and across the
switch to .41, and yet not do exactly the same thing for .1 which is
exactly the same number and forms of hops away ?
I've already called verizon tech support and they just said their equip
ony reports all well, and I tested all ip's with a laptop directly on
the b.b.b.x ethernet drop and they all worked fine that way , and
swapped out my switch for another one just for the heck of it, so I'm
down to config in my lxc hosts as the culprit.
About the only consistent pattern I can find is the hosts default
gateway. The only the containers that work fully are the ones that
happen to use the same gateway as the host, but if a bridge interface is
just a "software switch" then why should the hosts default gateway
setting matter at all to the containers ability to talk across it?
--
bkw
More information about the lxc-users
mailing list