J'ai créé une topologie "en ligne" à l'aide d'une boîte virtuelle - en créant 4 machines et en établissant un lien séparé entre chacune d'elles en utilisant les réseaux internes - R1 (eth0, 10.0.1.1) <-> (eth0, 10.0.2.1) R2 (eth2, 10.0.2.2) <-> (eth0, 10.0.3.1) R3 (eth2, 10.0.3.2) <-> (eth0, 10.0.4.1) R4. J'ai activé la redirection des paquets pour ipv4 en utilisant :
sudo sysctl net.ipv4.ip_forward=1
la configuration OSPF pour R2 et R3 dans /etc/bird.conf ressemble à ceci :
protocol ospf MyOSPF {
tick 2;
rfc1583compat yes;
area 0.0.0.0 {
stub no;
interface "eth2" {
hello 9;
retransmit 6;
cost 10;
transmit delay 5;
dead count 5;
wait 50;
type broadcast;
};
interface "eth0" {
hello 9;
retransmit 6;
cost 10;
transmit delay 5;
dead count 5;
wait 50;
type broadcast;
};
};
}
quand j'entre dans birdc et que je tape
ospf show topology
et
ospf show neighbors
il semble que tous les routeurs voient la topologie correcte, reconnaissent les routeurs adjacents comme voisins et calculent les coûts correctement. Cependant, il n'est pas possible d'envoyer un ping à R3 depuis R2, à moins que l'interface soit spécifiée manuellement (ping -I eth2 10.0.3.1). Ce n'est pas le cas avec R1 et R2, où eth0 est utilisé aux deux extrémités.
Voici à quoi ressemble le fichier /etc/network/interfaces sur R2 :
allow-hotplug eth0
iface eth0 inet static
address 10.0.2.1
auto eth1 #this is the bridged adapter used to ssh to the vm from the host
iface eth1 inet dhcp
allow-hotplug eth2
iface eth2 inet static
address 10.0.2.2
Je ne sais pas si le problème réside dans la configuration des interfaces ou dans celle du protocole de routage.
Ici est la sortie de
ip link
et
ip route
pour chaque machine