Hi Stiepan, On Fri, Mar 24, 2017 at 10:51:24AM -0400, Stiepan wrote:
> Using a bridge set up with libvirt (as in > http://wiki.libvirt.org/page/Networking#NAT_forwarding_.28aka_.22virtual_networks.22.29) > doesn't work. Is that what the libvirt package does on Debian out-of-the-box? If so it works just fine for me on my laptop where I put the containers on the vibr0 created by libvirt. > Neither does using a bridge set up as indicated in > https://wiki.debian.org/LXC/SimpleBridge#Using_lxc-net (causes the same > errors as with libvirt). So I just fired a fresh jessie+backports Vagrant box and it worked fine (incl network in the container): $ vagrant init debian/jessie64 $ vagrant up $ vagrant ssh vagrant@jessie:~$ sudo nano /etc/apt/sources.list deb http://httpredir.debian.org/debian jessie-backports main vagrant@jessie:~$ sudo apt update vagrant@jessie:~$ sudo apt install lxc/jessie-backports lxcfs vagrant@jessie:~$ sudo nano /etc/default/lxc-net USE_LXC_BRIDGE="true" vagrant@jessie:~$ systemctl enable lxc-net vagrant@jessie:~$ systemctl restart lxc-net vagrant@jessie:~$ ip a s dev lxcbr0 3: lxcbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 00:16:3e:00:00:00 brd ff:ff:ff:ff:ff:ff inet 10.0.3.1/24 scope global lxcbr0 valid_lft forever preferred_lft forever vagrant@jessie:~$ sudo sysctl -w kernel.unprivileged_userns_clone=1 vagrant@jessie:~$ exit # needed to trigger lxcfs' PAM module $vagrant ssh vagrant@jessie:~$ cat /proc/self/cgroup 8:perf_event:/ 7:blkio:/ 6:net_cls,net_prio:/ 5:freezer:/user/vagrant/0 4:devices:/ 3:cpu,cpuacct:/ 2:cpuset:/ 1:name=systemd:/user/vagrant/0 vagrant@jessie:~$ mkdir ~/.config/lxc/ -p vagrant@jessie:~$ nano ~/.config/lxc/default.conf xc.include = /etc/lxc/default.conf lxc.id_map = u 0 624288 65536 lxc.id_map = g 0 624288 65536 vagrant@jessie:~$ sudo nano /etc/lxc/lxc-usernet vagrant veth lxcbr0 10 vagrant@jessie:~$ lxc-create -n jessie -t download -- -d debian -r jessie -a amd64 vagrant@jessie:~$ nano .local/share/lxc/jessie/config lxc.network.type=veth lxc.network.flags=up lxc.network.link=lxcbr0 vagrant@jessie:~$ lxc-start -n jessie vagrant@jessie:~$ lxc-ls -f NAME STATE AUTOSTART GROUPS IPV4 IPV6 jessie RUNNING 0 - - - > Using a classical / "plain old" / you-name-it bridge, set up as in > http://wiki.libvirt.org/page/Networking#Altering_the_interface_config, does > work. I don't see any technical difference between the plain br0 setup with this link and the ones created by lxc-net or libvirt. Can you point them out please? > By the way, the lxc_delete_network:3028... additional error I was seeing pops > up only when /etc/lxc/lxc-usernet is still set to use br0, whilst the LXC > container is > set to use virbr0 and hence can be ignored, sorry about that. When properly > configured (i.e. when both are configured to use virbr0, or lxcbr0), > container startup > simply fails with a "Failed to create the configured network" error, but > still fails, whereas when using classical br0, it works. Can you please provide the steps how to setup your setup from a plain jessie or stretch image? > So, if your bridge is set up as suggested in > https://wiki.debian.org/BridgeNetworkConnections' Manual bridge setup > section, using either brctl or > /etc/network/interfaces (for a persistent config), we have the same > configuration and it works, which is fine. Still, I thought that LXC enabled > using lxcbr0 bridges > in user mode, as lxc-user-nic's man page suggests is possible. Can you > confirm whether this is the case with the current version? lxc-user-nic is to attach a user-namespace-nic to an existing bridge, you can't create a bridge with it.