The standard Allonis Raspberry Pi Bookworm image requires the following additional OS modifications to fully support a working VLAN environment.
To ensure that all multicast traffic is routed to all VLANs on a Raspberry Pi, you need to configure the Raspberry Pi to act as a multicast router. This involves the following steps:
Prerequisites
Gather the list of VLANS that are in use on the network. You will need the VLAN id and IP address that was assigned to the VLAN interface on the upstream switch. Setup the Switch using THESE steps.
This document will make the following assumptions. Modify as necessary for your active installation.
VLAN10 (Control) ID = 10, IP Address = 10.10.10.249/24
VLAN20 (AVOIP) ID = 20, IP Address = 10.10.20.249/24
VLAN30 (AES67) ID = 30, IP Address = 10.10.30.249/24
Step-by-Step Guide
Click Apply, close the window and reboot your Pi.
Your Pi will now attempt to use your desired IP address at each boot. However, the Network Preferences menu sets this as a preference, not an absolute. So, if the IP address you asked for is not available, it will use another.
From a terminal window
sudo apt update / sudo apt upgrade
sudo apt install tcpdump
sudo apt install igmpproxy
Edit the /etc/sysctl.conf file and set net.ipv4.ip_forward to 1:
sudo nano /etc/sysctl.conf
Uncomment or add the line net.ipv4.ip_forward=1
Save the changes
Activate the changes by sudo sysctl -p
sudo nano /etc/igmpproxy.conf
replace the contents of this file with the following
quickleave
# Upstream interface (main network interface connected
# to the source of multicast traffic)
phyint eth0 upstream ratelimit 0 threshold 1
altnet 0.0.0.0/0
# Downstream interfaces (VLAN interfaces)
phyint vlan10 downstream ratelimit 0 threshold 1
phyint vlan20 downstream ratelimit 0 threshold 1
phyint vlan30 downstream ratelimit 0 threshold 1
save the edits.
sudo systemctl enable igmpproxy
sudo systemctl start igmpproxy
Open a terminal and issue the following commands. Modify as necessary for your specific VLANS and primary interface name.
sudo nmcli connection add type vlan con-name vlan10 ifname vlan10 dev eth0 id 10 ip4 10.10.10.251/24
sudo nmcli connection add type vlan con-name vlan20 ifname vlan20 dev eth0 id 20 ip4 10.10.20.215/24
sudo nmcli connection add type vlan con-name vlan30 ifname vlan30 dev eth0 id 30 ip4 10.10.30.251/24
sudo systemctl restart NetworkManager
Use these commands to look for multicast traffic.
sudo tcpdump -i vlan10 multicast
sudo tcpdump -i vlan20 multicast
sudo tcpdump -i vlan30 multicast