Skip to content

Instantly share code, notes, and snippets.

@mh-mobile
Last active December 21, 2021 03:15
Show Gist options
  • Save mh-mobile/9524731c38c314b66010623f953385bb to your computer and use it in GitHub Desktop.
Save mh-mobile/9524731c38c314b66010623f953385bb to your computer and use it in GitHub Desktop.
bridge network
#/usr/bin/env bash
sudo ip netns add ns1
sudo ip netns add ns2
sudo ip netns exec ns1 ip link set lo up
sudo ip netns exec ns2 ip link set lo up
sudo ip link add br0 type bridge
sudo ip link add name ns-veth1 type veth peer name br-veth1
sudo ip link add name ns-veth2 type veth peer name br-veth2
sudo ip link set ns-veth1 netns ns1
sudo ip link set ns-veth2 netns ns2
sudo ip link set dev br-veth1 master br0
sudo ip link set dev br-veth2 master br0
sudo ip netns exec ns1 ip link set ns-veth1 up
sudo ip netns exec ns2 ip link set ns-veth2 up
sudo ip link set br-veth1 up
sudo ip link set br-veth2 up
sudo ip link set br0 up
sudo ip netns exec ns1 ip addr add 192.168.0.1/24 dev ns-veth1
sudo ip netns exec ns2 ip addr add 192.168.0.2/24 dev ns-veth2
sudo ip addr add dev br0 192.168.0.100/24
sudo ip netns exec ns1 ip route add default via 192.168.0.100
sudo ip netns exec ns2 ip route add default via 192.168.0.100
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o enp0s1 -j MASQUERADE
sudo sysctl -w net.ipv4.ip_forward=1
#!/usr/bin/env bash
sudo ip link del br0
sudo ip netns del ns1
sudo ip netns del ns2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment