On 18.04. I'm trying to configure my server with 2 vlan interfaces. Each vlan interface will have a separate IP Address on a separate subnet, and both will be linked to same physical interface. When I configure the vlan interfaces, I have connectivity to each different subnet through the vlans, but I am unable to add any additional routes. I need to add a default route with a next-hop on one of the subnets (vlan2000), and then a static route to a single, unattached subnet through the other vlan (vlan1000). Here is my netplan config file:
network: renderer: NetworkManager version: 2 ethernets: enp0s31f6: routes: - to: 0.0.0.0/0 via: 192.168.100.2 metric: 100 - to: 192.168.1.0/24 via: 172.16.100.1 metric: 10 vlans: vlan1000: id: 1000 link: enp0s31f6 addresses: [ "172.16.100.2/30" ] vlan2000: id: 2000 link: enp0s31f6 addresses: [ "192.168.100.2/24" ]
I have also tried adding the applicable routes under each vlan hierarchy with no luck -- for example:
vlans: vlan1000: id: 1000 link: enp0s31f6 addresses: [ "172.16.100.2/30" ] routes: - to: 0.0.0.0/0 via: 192.168.100.2 metric: 100
With both of these, after applying the config I get the following error:
Traceback (most recent call last): File "/usr/sbin/netplan", line 23, in <module> netplan.main() File "/usr/share/netplan/netplan/cli/core.py", line 50, in main self.run_command() File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command self.func() File "/usr/share/netplan/netplan/cli/commands/apply.py", line 43, in run self.run_command() File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command self.func() File "/usr/share/netplan/netplan/cli/commands/apply.py", line 93, in command_apply stderr=subprocess.DEVNULL) File "/usr/lib/python3.6/subprocess.py", line 291, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['udevadm', 'test-builtin', 'net_setup_link', '/sys/class/net/vlan1000']' returned non-zero exit status 4.
If I then apply it again, it goes through, but none of the routes are added to the routing table. If i remove the route statements entirely, it applies with no errors. I don't know much about netplan but that seems like the issue. So i'm assuming I'm doing something in the config incorrectly. Where am i supposed to add statis routes for vlan interfaces?
FTR, when I add the static routes manually:
sudo ip route add 192.168.1.0/24 via 172.16.100.1 dev vlan1000
everything works as I'm expecting it to. My concern is that i don't believe those manually added routes will persist after a restart. If there is an easier work around to make those routes persist I am open to that.