2 votes

Pont Linux IP statique utilisant un seul NIC

Il semble que j'ai un problème générique, mais je ne trouve aucune solution - toutes les solutions que j'ai trouvées jusqu'à présent sur Internet ne fonctionnent pas pour moi. Laissez-moi d'abord essayer d'expliquer ce que j'essaie de faire - j'ai une boîte linux avec trois interfaces - l'une est une liaison montante allant au fournisseur et deux autres sont censées être deux parties physiques d'un seul réseau logique. J'ai donc les éléments suivants :

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1488
    inet 10.0.0.1  netmask 255.0.0.0  broadcast 10.255.255.255
    ether 00:24:9b:04:3b:a7  txqueuelen 0  (Ethernet)
    RX packets 102156  bytes 8545914 (8.1 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 44194  bytes 7959306 (7.5 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eth1: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1488
    ether 00:24:9b:04:3f:ae  txqueuelen 1000  (Ethernet)
    RX packets 56553  bytes 4992101 (4.7 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 15920  bytes 4418268 (4.2 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eth2: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1488
    ether 00:24:9b:04:3b:a7  txqueuelen 1000  (Ethernet)
    RX packets 56298  bytes 7582661 (7.2 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 64175  bytes 8148316 (7.7 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

br0 est le pont entre eth1 et eth2 et est également censé avoir une adresse statique utilisée comme passerelle. Maintenant, voici le problème - si je suis sur la passerelle et que j'essaie d'envoyer une requête ping à un boîtier dans le segment relié à eth2 - tout fonctionne - arp est résolu et icmp circule, mais si j'essaie d'envoyer une requête ping à quelque chose dans le segment eth1 - je vois des requêtes arp sur eth2 et évidemment rien ne se passe.

Donc, en général, mon problème est que le pont n'utilise qu'UNE seule adresse MAC - celle que possède eth2. Toute indication sur la documentation que j'ai pu manquer ou toute suggestion sont les bienvenues !

Gracias.

Des informations supplémentaires sont demandées :

# ip r sh
default dev ppp0  scope link
10.0.0.0/8 dev br0  proto kernel  scope link  src 10.0.0.1
192.168.101.115 dev ppp0  proto kernel  scope link  src 192.168.6.59

# ip link sh
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 1000
link/ether da:f3:53:e3:69:84 brd ff:ff:ff:ff:ff:ff
3: tunl0: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT
link/ipip 0.0.0.0 brd 0.0.0.0
4: eth1: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1488 qdisc pfifo_fast master br0 state UP mode DEFAULT qlen 1000
link/ether 00:24:9b:04:3f:ae brd ff:ff:ff:ff:ff:ff
5: eth2: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1488 qdisc pfifo_fast master br0 state UP mode DEFAULT qlen 1000
link/ether 00:24:9b:04:3b:a7 brd ff:ff:ff:ff:ff:ff
6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1488 qdisc noqueue state UP mode DEFAULT
link/ether 00:24:9b:04:3b:a7 brd ff:ff:ff:ff:ff:ff
12: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 3
link/ppp

# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.00249b043ba7       no              eth1
                                                    eth2

Ok, une petite mise à jour selon l'ordre de ifconfig/brctl addif - je peux faire en sorte qu'il envoie des paquets soit via eth1 soit via eth2.

1 votes

Il est censé n'utiliser qu'un seul mac. Veuillez afficher la sortie de ip r sh , ip link sh y brctl show .

0 votes

Ajouté au message original

0 votes

Cela semble tout à fait sain d'esprit. Existe-t-il des composants "spéciaux" dans l'environnement de ce serveur qui pourraient créer une boucle de pontage ? J'ai noté que le MTU est de 1488. Cela peut-il être lié ? Voir aussi dmesg pourrait avoir des messages intéressants sur les interfaces/ponts. Bien que je ne puisse pas penser à une seule chose qui empêcherait la requête arp de sortir sur toutes les interfaces : c'est du trafic de diffusion et il devrait être inondé sur tous les ports UP (vous avez désactivé stp donc pas d'état de transfert/blocage à considérer).

0voto

suprjami Points 3466

Je ne sais pas ce qu'il en est des cartes réseau USB, mais il est courant que les cartes WLAN abandonnent toute trame sortante dont le MAC source n'est pas le leur.

Votre requête ARP diffusée peut quitter br0 avec un MAC source a7 . eth2 a aussi un MAC a7 il transmet donc la trame, mais eth1 a un MAC ae donc il laisse tomber le cadre.

Vous pouvez le confirmer en modifiant manuellement le MAC du pont ( ip link set dev br0 address <MAC> ), d'abord à la ae MAC et voir si votre interface "fonctionnelle" passe de eth2 à eth1, puis à un nouveau MAC aléatoire et voir si aucune des deux interfaces n'achemine de trafic.

0 votes

Ce n'est pas exactement un cas si je change le MAC pour qu'il n'appartienne à aucune des deux interfaces, je vois toujours des paquets sortir de eth2 : [root@daemonhouse ~]# tcpdump -X -vvv -ni eth2 host 10.0.1.101 tcpdump: WARNING: eth2: no IPv4 address assigned tcpdump: listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes 19:58:17.421134 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.1.101 tell 10.0.0.1, length 28 0x0000: 0001 0800 0604 0001 0024 cafe babe 0a00 .........$...... 0x0010: 0001 0000 0000 0000 0a00 0165 ...........e - mac est réglé sur 00:24:ca:fe:ba:be

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X