I have an Ubuntu system that uses two wired networks simultaneously (PCI Ethernet, USB Ethernet). I would like it to use the USB wired network for internet access and the PCI wired network for accessing the internal network (e.g., 10.0.13.120
, 10.0.13.134
, 10.0.12.1
, 10.0.10.16
, 10.0.10.17
, etc).
1.
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.100.1 0.0.0.0 UG 101 0 0 usb0
0.0.0.0 192.168.31.1 0.0.0.0 UG 102 0 0 enp4s0
192.168.31.0 0.0.0.0 255.255.255.0 U 102 0 0 enp4s0
192.168.100.0 0.0.0.0 255.255.255.0 U 101 0 0 usb0
2.
sudo ip route add default via 192.168.100.1 dev usb0 metric 100
3.
sudo ip route add 10.0.13.120/32 via 192.168.31.1 dev enp4s0
sudo ip route add 10.0.13.134/32 via 192.168.31.1 dev enp4s0
sudo ip route add 10.0.12.1/32 via 192.168.31.1 dev enp4s0
sudo ip route add 10.0.10.16/32 via 192.168.31.1 dev enp4s0
sudo ip route add 10.0.10.17/32 via 192.168.31.1 dev enp4s0
4.
sudo ip route flush cache
5.
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.100.1 0.0.0.0 UG 100 0 0 usb0
0.0.0.0 192.168.100.1 0.0.0.0 UG 101 0 0 usb0
0.0.0.0 192.168.31.1 0.0.0.0 UG 102 0 0 enp4s0
10.0.10.16 192.168.31.1 255.255.255.255 UGH 0 0 0 enp4s0
10.0.10.17 192.168.31.1 255.255.255.255 UGH 0 0 0 enp4s0
10.0.12.1 192.168.31.1 255.255.255.255 UGH 0 0 0 enp4s0
10.0.13.120 192.168.31.1 255.255.255.255 UGH 0 0 0 enp4s0
10.0.13.134 192.168.31.1 255.255.255.255 UGH 0 0 0 enp4s0
192.168.31.0 0.0.0.0 255.255.255.0 U 102 0 0 enp4s0
192.168.100.0 0.0.0.0 255.255.255.0 U 101 0 0 usb0