Network interface LXD

Hello, i have a use case i’m not able to troubleshoot.

  1. i have a computer with 3 interfaces: LAN0, TUN0, TUN1.
    TUN0 is an openvpn server, while TUN1 is an openvpn client.
    LAN0 is 192.168.1.100 lan, gateway is 192.168.1.1

  2. i can install LXC container and setup up an LXDBR0 interface. But as soon as i did this, TUN0 is no longer working: TLS handshake fail. This seems a routing/NAT issue, but i’m not able to troubleshoot and diagnose. It is not working whatever the state (up,down) of lxdbr0.

  3. When i use lxd init command, i can choose some options: lxdbr0, visible from LAN, with NAT enabled. I tryed some tweak in theses options, but, whatever, openvpn server still hang as soon as lxbr0 is active.

My ultimate goal is to host container that would be visible from LAN (so with its own IP, rather than NAT’ed: i would like to run services on host (apache) and services from container (nginx).

Can you point me how to troubleshoot theses issues, what to check and where i’m wrong ? Basically i think the udp packets are NAT’ed to lxbr0, but i’m not really able to check this and correct that.

My LXD daemon is running via snap. I actually dont’t have any instance created nor running. This is just after lxd init.

Many thanks !

After blanking the iptables rules, it is ok. lxd init recreated them but it is working fine.
Now i’ll try to create a container.
Giving the container a lan IP seems the bridge is acting correctly.

Edit: not, finally.
I have looked at iptables, ufw, apparmor.
I have also used LXC instead of LXD.
It seems the bridge is the issue and/or dnsmasq.
I run out of ideas, any help ?
Thank you !

Please show output of ip a and ip r from host and container.