diff --git a/README.md b/README.md index dc67f07..29086b1 100644 --- a/README.md +++ b/README.md @@ -82,9 +82,9 @@ interfaces connectées et leurs IP : | vde2 vde1 | +-------172.17.2.3/32---------NŒUD 3---------172.17.1.3/32-------+ | 2a0c:700:3012:3::2:3/128 2a0c:700:3012:3::1:3/128 - | - | - | + | + | + | | vde2 +-------172.17.2.4/32---------NŒUD 4 2a0c:700:3012:3::2:4/128 @@ -184,21 +184,22 @@ appliquée au niveau de la machine hôte grâce à ``nftables``, voir ``firewall/nat.conf``. Pour modéliser les restrictions au niveau du réseau, un pare-feu est -également chargé au niveau des nœuds 2 et 3, interdisant le trafic -HTTP uniquement (port 80/TCP). À terme, seul un seul des nœud bloquera -le trafic, qui sera le nœud privilégié presque sûrement par Babel. +également chargé au niveau du nœuds 2, interdisant le trafic HTTP +uniquement (port 80/TCP). De plus, le voisin 3 est marqué comme +non-priviligié afin que Babel choisisse la route congestionnée +par le nœud 2. Pour tester, dans le namespace 4 : $ ip r - default via 172.17.2.2 dev vde2 proto babel onlink - 10.2.1.0/30 via 172.17.2.2 dev vde2 proto babel onlink - 10.2.1.2 via 172.17.2.2 dev vde2 proto babel onlink - 172.17.1.1 via 172.17.2.2 dev vde2 proto babel onlink - 172.17.1.2 via 172.17.2.3 dev vde2 proto babel onlink - 172.17.1.3 via 172.17.2.3 dev vde2 proto babel onlink - 172.17.2.2 via 172.17.2.3 dev vde2 proto babel onlink - 172.17.2.3 via 172.17.2.3 dev vde2 proto babel onlink + default via 172.17.2.2 dev vde2 proto babel onlink + 10.2.1.0/30 via 172.17.2.2 dev vde2 proto babel onlink + 10.2.1.2 via 172.17.2.2 dev vde2 proto babel onlink + 172.17.1.1 via 172.17.2.2 dev vde2 proto babel onlink + 172.17.1.2 via 172.17.2.3 dev vde2 proto babel onlink + 172.17.1.3 via 172.17.2.3 dev vde2 proto babel onlink + 172.17.2.2 via 172.17.2.3 dev vde2 proto babel onlink + 172.17.2.3 via 172.17.2.3 dev vde2 proto babel onlink $ ping crans.org -c 1 PING (185.230.79.10) 56(84) octets de données. diff --git a/start.sh b/start.sh index e7608b0..8b506b8 100755 --- a/start.sh +++ b/start.sh @@ -101,15 +101,16 @@ ip route add 172.17.0.0/16 via 10.2.1.2 ip -6 route add 2a0c:700:3012:3::1:0/112 via 2a0c:700:3012:3::ff:1 ip -6 route add 2a0c:700:3012:3::2:0/112 via 2a0c:700:3012:3::ff:1 +# Restrict HTTP transport on node 2 +tmux send-keys -t ns2 "nft -f $dir/firewall/restrict-http.conf" Enter +# Put a higher metric for node 3, to enforce babel to choose node 2 +tmux send-keys -t ns4 "echo \"in neigh fe80::ff:fe00:202\" metric 512" + for i in 1 2 3 4; do tmux send-keys -t ns$i "touch /etc/babeld.conf && mount --bind /tmp/ns$i/babeld.conf /etc/babeld.conf" Enter tmux send-keys -t ns$i "babeld -D -I /tmp/ns$i/babeld.pid -G /tmp/ns$i/socket -S /tmp/ns1/state" Enter done -for i in 2 3; do - tmux send-keys -t ns$i "nft -f $dir/firewall/restrict-http.conf" Enter -done - bash reset