The choice between the nodes 2 and 3 is now deterministic

Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
This commit is contained in:
Yohann D'ANELLO 2021-06-01 12:06:11 +02:00
parent 792eca0889
commit fae4564b9d
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
2 changed files with 20 additions and 18 deletions

View File

@ -184,9 +184,10 @@ appliquée au niveau de la machine hôte grâce à ``nftables``,
voir ``firewall/nat.conf``. voir ``firewall/nat.conf``.
Pour modéliser les restrictions au niveau du réseau, un pare-feu est 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 également chargé au niveau du nœuds 2, interdisant le trafic HTTP
HTTP uniquement (port 80/TCP). À terme, seul un seul des nœud bloquera uniquement (port 80/TCP). De plus, le voisin 3 est marqué comme
le trafic, qui sera le nœud privilégié presque sûrement par Babel. non-priviligié afin que Babel choisisse la route congestionnée
par le nœud 2.
Pour tester, dans le namespace 4 : Pour tester, dans le namespace 4 :

View File

@ -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::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 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 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 "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 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 done
for i in 2 3; do
tmux send-keys -t ns$i "nft -f $dir/firewall/restrict-http.conf" Enter
done
bash bash
reset reset