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

@ -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.

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::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