bring wlan0 connectivity to the network namespace linux & test routerOS#
setup network namespace#
sudo ip netns add firefoxnssudo ip netns exec firefoxns ip link add br0-lan type bridgesudo ip netns exec firefoxns ip tuntap add tap0 mode tapsudo ip netns exec firefoxns ip tuntap add tap1 mode tapsudo ip netns exec firefoxns ip tuntap add tap2 mode tapsudo ip netns exec firefoxns ip link set dev tap0 master br0-lansudo ip netns exec firefoxns ip link set dev tap1 master br0-lansudo ip netns exec firefoxns ip link set dev tap2 master br0-lan
enable the network interface (inside netns)#
sudo ip netns exec firefoxns ip link set br0-lan upsudo ip netns exec firefoxns ip link set tap0 upsudo ip netns exec firefoxns ip link set tap1 upsudo ip netns exec firefoxns ip link set tap2 up
create virtual eth pair between host & netns#
sudo ip link add veth0 type veth peer name veth0-peersudo ip link set veth0-peer netns firefoxns
assign ip for virtual eth & virtual eth peer#
sudo ip addr add 10.200.1.1/24 dev veth0sudo ip netns exec firefoxns ip addr add 10.200.1.2/24 dev veth0-peersudo ip link set veth0 upsudo ip netns exec firefoxns ip link set veth0 up
setup routing table#
sudo ip netns exec firefoxns ip route add default via 10.200.1.1
setup ip forwarding & network address translation#
sudo sysctl -w net.ipv4.ip_forward=1sudo iptables -t nat -A POSTROUTING -s 10.200.1.0/24 -o wlan0 -j MASQUERADE
test#
sudo ip netns exec ping 1.1.1.1
now, run routeros & alpine inside of netns#
routeros#
sudo ip netns exec firefoxns qemu-system-x86_64 \
-enable-kvm \
-m 256 \
-smp 4 \
-cpu host \
-drive file=chr.qcow2,format=qcow2 \
-boot d \
-nographic \
-netdev tap,id=net0,ifname=tap0,script=no,downscript=no \
-device virtio-net-pci,netdev=net0,mac=02:aa:bb:cc:dd:ee \
-net user,hostfwd=tcp::8291-:8291 \
-net nic
alpine#
sudo ip netns exec firefoxns qemu-system-x86_64 \
-enable-kvm \
-m 256 \
-smp 4 \
-cpu host \
-drive file=pc-2.qcow2,format=qcow2 \
-cdrom alpine-virt-3.21.3-x86_64.iso \
-boot d \
-nographic \
-netdev tap,id=net0,ifname=tap2,script=no,downscript=no \
-device virtio-net-pci,netdev=net0,mac=$(randommac)