I’m working to transition an ubuntu server running LXD containers from an ethernet connection to a wireless connection.
I can’t get my Gerbera container (DLNA media server) to DLNA broadcast over a wifi connection. The DLNA broadcast works with a bridged ethernet network profile, but not a wifi routed network profile.
I setup a routed network profile using the following guide. A container using the routed network profile gets an IP on the host network and can access the outside internet interface with wifi only. DNS resolution works too.
However, when I installed Gerbera in a ubuntu 20:04 container it doesn’t seem to broadcast its existance to the home network using the routed wifi network profile. When I ping multicast 224.0.0.0 from within the container I can’t see the packets on the host using tcpdump to monitor the wifi interface.
I’ve tried flushing the nftables ruleset, multicast routing solutions (pimd & mrouted using info at link below), but all without success.
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
link/ether e0:db:55:e8:fd:8d brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether e0:db:55:e8:fd:8d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.122/24 brd 192.168.1.255 scope global dynamic br0
valid_lft 80067sec preferred_lft 80067sec
inet6 2a00:23c5:10bf:d600:e2db:55ff:fee8:fd8d/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 315359984sec preferred_lft 315359984sec
inet6 fdaa:bbcc:ddee:0:e2db:55ff:fee8:fd8d/64 scope global mngtmpaddr noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::e2db:55ff:fee8:fd8d/64 scope link
valid_lft forever preferred_lft forever
4: wlp2s0b1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 84:4b:f5:34:fc:6b brd ff:ff:ff:ff:ff:ff
5: wlxc46e1f25e927: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether c4:6e:1f:25:e9:27 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.98/24 brd 192.168.1.255 scope global dynamic wlxc46e1f25e927
valid_lft 36876sec preferred_lft 36876sec
6: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
7: lxdbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:16:3e:d7:9e:e5 brd ff:ff:ff:ff:ff:ff
inet 10.131.64.1/24 scope global lxdbr0
valid_lft forever preferred_lft forever
inet6 fe80::216:3eff:fed7:9ee5/64 scope link
valid_lft forever preferred_lft forever
16: veth016d3221@if15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master lxdbr0 state UP group default qlen 1000
link/ether 72:e3:9d:9e:51:bc brd ff:ff:ff:ff:ff:ff link-netnsid 2
18: veth561902ae@if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master lxdbr0 state UP group default qlen 1000
link/ether 72:c0:f6:92:0a:f3 brd ff:ff:ff:ff:ff:ff link-netnsid 3
22: veth92844081@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether fe:de:f1:1c:75:53 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 169.254.0.1/32 scope global veth92844081
valid_lft forever preferred_lft forever
inet6 fe80::fcde:f1ff:fe1c:7553/64 scope link
valid_lft forever preferred_lft forever
Host routes:
ip r
default via 192.168.1.254 dev br0 proto dhcp src 192.168.1.122 metric 100
default via 192.168.1.254 dev wlxc46e1f25e927 proto dhcp src 192.168.1.98 metric 600
10.131.64.0/24 dev lxdbr0 proto kernel scope link src 10.131.64.1
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.122
192.168.1.0/24 dev wlxc46e1f25e927 proto kernel scope link src 192.168.1.98
192.168.1.203 dev veth92844081 scope link
192.168.1.254 dev br0 proto dhcp scope link src 192.168.1.122 metric 100
192.168.1.254 dev wlxc46e1f25e927 proto dhcp scope link src 192.168.1.98 metric 600
nft add rule ip filter INPUT ip daddr 224.0.0.0/4 ct state new counter accept
nft add rule ip filter FORWARD ip daddr 224.0.0.0/4 counter accept
nft add rule ip filter FORWARD ip saddr 224.0.0.0/4 counter accept
nft add rule ip filter OUTPUT ip daddr 224.0.0.0/4 ct state new counter accept
I test changes by pinging multicast from within the Gerbera container.
ping 224.0.0.1 -t 100
I then look for a response on the outbound host interface using tcpdump.
tcpdump -vv -l -i br0 net 224.0.0.0/4
The multicast traffic is visible on the host on the container’s veth interface but not on the outbound br0 interface. I’d like to get multicast working using the routed network profile because then I could transition to a wifi server connection only.