Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have been experimenting with LXC virtualisation in order to run virtual machines on a dedicated server, but am having trouble setting up the networking properly.

I am using veth bridged networking, as instructed here: http://blog.foaa.de/2010/05/lxc-on-debian-squeeze/ (the guide I used to setup the LXC container)

When I start the container, it functions fine, can access the Internet and accepts incoming connections to it's own IP. However, as soon as I start it, the networking on my host box (dedicated server) goes down completely, and will not come back until the server is rebooted.

The only thing I can think of that would be causing this is incorrectly configured bridging settings, however I'm not sure entirely what the proper ones should be. Any advice on how I could reconfigure this? Thanks.

Both the host node and the container itself are running Debian Squeeze, with packages upgraded to the latest versions.

Host node (dedicated server) network configuration (/etc/network/interfaces):

allow-hotplug eth0
auto br0
iface br0 inet static
    bridge_ports eth0
    bridge_fd 0
    bridge_stp off
    bridge_maxwait 0 
    address 46.105.102.29
    netmask 255.255.255.0
    network 46.105.102.0
    broadcast 46.105.102.255
    gateway 46.105.102.254

LXC container network configuration (/etc/network/interfaces):

auto eth0
iface eth0 inet static
    address 94.23.153.205
    netmask 255.255.255.0
    broadcast 94.23.153.205
    post-up route add 46.105.102.254 dev eth0
    post-up route add default gw 46.105.102.254
    post-down route del 46.105.102.254 dev eth0

Container network configuration (from LXC config file):

lxc.utsname = paradox
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.hwaddr = 02:00:00:ba:47:a0
lxc.network.ipv4 = 94.23.153.205
share|improve this question

migrated from stackoverflow.com Sep 21 '12 at 15:57

This question came from our site for professional and enthusiast programmers.

    
This is not exactly an answer, but have you checked out docker? It dramatically simplifies the process of working with Linux containers. I have also had more success using libvirt to manage containers (virsh -c lxc:/// ...) than using the native lxc-* toolset. –  larsks Aug 4 '13 at 0:21
add comment

2 Answers

Seems you re-plug your adapter. ..

Do you have an apater on the dedicated server that is connected to the bridge? I would be curious, what happens if you start a second container?

Instead of routing with words involved like dev and eth0, I might would like to take a look at someting to manage the virtual networks, especially if you would be also OK with a NAT solution. Did you took at livbvirt?

share|improve this answer
add comment

I created many squeeze/wheezy containers by the same instruction (http://blog.foaa.de/2010/05/lxc-on-debian-squeeze/)

The only thing I do different way is that I use a virtual network bridge. (And I think the problem is that you have a bridge to your network card, not to a virtual device)

Add something like this to your /etc/network/interfaces (using your own numbers):

#VLAN 5
auto eth0.5
iface eth0.5 inet manual
  vlan_raw_device eth0

auto vzbr5
iface vzbr5 inet static
  address 10.11.15.1
  netmask 255.255.255.0
  network 10.11.15.0
  broadcast 10.11.15.255
  bridge_maxwait 0
  bridge_ports none
  post-up /usr/sbin/brctl addif vzbr5 eth0.5
  post-up /sbin/ifconfig eth0.5 up

Then

sudo ifup vzbr5

After that use vzbr5 as a network device.

Please see the complete instruction.

share|improve this answer
1  
Adding the instructions would improve this answer. Links can and do break. –  Dave M Oct 1 '13 at 14:32
    
@DaveM Thanks for your advice. –  Sergei Lodyagin Oct 1 '13 at 18:50
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.