I've followed the up to date advice on here
creating the interfaces only in /etc/network/interfaces:
Code: Select all
auto eth0
iface eth0 inet manual
auto tap0
iface tap0 inet manual
pre-up tunctl -t tap0 -u username
up ifconfig tap0 up
down ifconfig tap0 down
auto br0
iface br0 inet manual
pre-up ifconfig tap0 up
bridge_ports tap0 eth0
bridge_stp off
bridge_maxwait 5Code: Select all
denyinterfaces eth0 tap0
interface br0
static ip_address=192.168.1.201/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1Code: Select all
$ ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.201 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::340f:18ff:fe18:f867 prefixlen 64 scopeid 0x20<link>
ether 36:0f:18:18:f8:67 txqueuelen 1000 (Ethernet)
RX packets 1207 bytes 132575 (129.4 KiB)
RX errors 0 dropped 132 overruns 0 frame 0
TX packets 285 bytes 35476 (34.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether b8:27:eb:e3:63:ba txqueuelen 1000 (Ethernet)
RX packets 1263 bytes 154386 (150.7 KiB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 288 bytes 35742 (34.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 36:0f:18:18:f8:67 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0From the pi, I can ping both inside and outside the network. From an emulated machine attached to tap0, I can only ping devices on the local 192.168.1.0 network, not including the default gateway 192.168.1.1 or anything beyond it. When pinging, it looks as if packets don't end up on their correct interfaces - if I were pinging from the emulated machine, its (on tap0) TX packet numbers would go up, but RX packets would remain near 0.
Giving each interface its own IP address creates routing table complications, of course.
Can anyone advise here? I've had this working before (briefly) but didn't save the configuration.