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:
parent
792eca0889
commit
fae4564b9d
29
README.md
29
README.md
@ -82,9 +82,9 @@ interfaces connectées et leurs IP :
|
|||||||
| vde2 vde1 |
|
| vde2 vde1 |
|
||||||
+-------172.17.2.3/32---------NŒUD 3---------172.17.1.3/32-------+
|
+-------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
|
| 2a0c:700:3012:3::2:3/128 2a0c:700:3012:3::1:3/128
|
||||||
|
|
|
|
||||||
|
|
|
|
||||||
|
|
|
|
||||||
| vde2
|
| vde2
|
||||||
+-------172.17.2.4/32---------NŒUD 4
|
+-------172.17.2.4/32---------NŒUD 4
|
||||||
2a0c:700:3012:3::2:4/128
|
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``.
|
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 :
|
||||||
|
|
||||||
$ ip r
|
$ ip r
|
||||||
default via 172.17.2.2 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.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
|
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.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.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.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.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
|
172.17.2.3 via 172.17.2.3 dev vde2 proto babel onlink
|
||||||
|
|
||||||
$ ping crans.org -c 1
|
$ ping crans.org -c 1
|
||||||
PING (185.230.79.10) 56(84) octets de données.
|
PING (185.230.79.10) 56(84) octets de données.
|
||||||
|
9
start.sh
9
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::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
|
||||||
|
Loading…
Reference in New Issue
Block a user