#!/bin/bash ssh -tt R1 << 'EOF' set -e # ArrĂȘte le script si une commande Ă©choue ip netns del ns2 2>/dev/null || true ip link del br0 2>/dev/null || true ip link del br1 2>/dev/null || true ip link del veth0 2>/dev/null || true ip link del veth1 2>/dev/null || true nft flush ruleset 2>/dev/null || true ip netns add ns2 ip link add veth0 type veth peer name veth0-ns ip link add veth1 type veth peer name veth1-ns ip link set veth0-ns netns ns2 ip link set veth1-ns netns ns2 ip link add br0 type bridge ip link add br1 type bridge ip link set eth0 up ip link set eth1 up ip link set br0 up ip link set br1 up ip link set eth0 master br0 ip link set eth1 master br1 ip link set veth0 up ip link set veth0 master br0 ip link set veth1 up ip link set veth1 master br1 ip netns exec ns2 ip link set veth0-ns name eth0 ip netns exec ns2 ip link set veth1-ns name eth1 ip netns exec ns2 ip link set eth0 up ip netns exec ns2 ip link set eth1 up # IP sur br1 ip addr add 10.0.0.254/24 dev br1 # IP sur br0 ip addr add 172.21.1.100/24 dev br0 sysctl -w net.ipv4.ip_forward=1 ip route del default via 172.21.1.1 dev br0 2>/dev/null || true # passerelle Internet ip route add default via 172.21.1.1 dev br0 bash -c 'cat > /root/nat-r1.nft <<EONAT flush ruleset table ip nat { chain postrouting { type nat hook postrouting priority 100; oifname "br0" counter masquerade } } EONAT nft -f /root/nat-r1.nft ' EOF ssh -tt H1 << 'EOF' set -e ip addr flush dev eth0 ip addr add 10.0.0.1/24 dev eth0 ip link set eth0 up ip route del default 2>/dev/null || true ip route add default via 10.0.0.254 ping -c 3 8.8.8.8 EOF