Comment activer deux interfaces réseau à la fois pour Internet dans ubuntu12.04

Mon server physique A possède deux interfaces: eth0 et eth1. J'ai l'intention d'activer les deux interfaces réseau à la fois pour Internet dans ubuntu12.04. Je configure le / etc / network / interfaces comme ci-dessous:

auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.10.101.105 gateway 10.10.101.254 netmask 255.255.255.0 auto eth1 iface eth1 inet static address 10.10.101.205 gateway 10.10.101.254 netmask 255.255.255.0 

Et la sortie de ifconfig est montrée ci-dessous:

 eth0 Link encap:Ethernet HWaddr e0:db:55:25:ed:10 inet addr:10.10.101.105 Bcast:10.10.101.255 Mask:255.255.255.0 inet6 addr: fe80::e2db:55ff:fe25:ed10/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Mesortingc:1 RX packets:1148531 errors:0 dropped:0 overruns:0 frame:0 TX packets:554215 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1636019748 (1.6 GB) TX bytes:40068201 (40.0 MB) Interrupt:35 eth1 Link encap:Ethernet HWaddr e0:db:55:25:ed:11 inet addr:10.10.101.205 Bcast:10.10.101.255 Mask:255.255.255.0 inet6 addr: fe80::e2db:55ff:fe25:ed11/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Mesortingc:1 RX packets:56699 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4077879 (4.0 MB) TX bytes:492 (492.0 B) Interrupt:38 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Mesortingc:1 RX packets:124891 errors:0 dropped:0 overruns:0 frame:0 TX packets:124891 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1484482588 (1.4 GB) TX bytes:1484482588 (1.4 GB) 

Donc, je pense que les deux interfaces réseau sont en place. Cependant, je trouve que je peux accéder à mon server physique A depuis l'hôte B uniquement via eth0 (10.10.101.105), et ne pas y accéder via eth1 (10.10.101.205).

Lorsque j'utilise route -n pour vérifier la table du routeur dans mon server, il montre:

 vli05@vli05:~$ route -n Kernel IP routing table Destination Gateway Genmask Flags Mesortingc Ref Use Iface 0.0.0.0 10.10.101.254 0.0.0.0 UG 100 0 0 eth0 10.10.101.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.10.101.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 

Qu'est-ce que je fais mal?

PS: La BI de l'hôte utilisant la command ping se trouve dans le même sous-réseau de l'IA hôte physique mentionnée ci-dessus. Je veux juste utiliser ping pour accéder à l'hôte physique A à la fois via eth0 (10.10.101.105) et eth1 (10.10.101.205).

En outre, la sortie de $ sudo netstat -tapn | grep :22 $ sudo netstat -tapn | grep :22 est montré ci-dessous:

 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1180/sshd tcp 0 0 10.10.101.105:22 10.10.18.35:57651 ESTABLISHED 13235/sshd: zjuvlis tcp6 0 0 :::22 :::* LISTEN 

Dans ce cas, j'utilise l'hôte avec IP 10.10.18.35 à ssh 10.10.101.105. Mais je échoue à ssh 10.10.101.205 (l'adresse IP correspondante de eth1)

De plus, quand je débogue en utilisant telnet,

 root@CO:/home/dujun/work_git/Ruby_reference/trace_ruby_code# telnet 10.10.101.205 22 Trying 10.10.101.205... Connected to 10.10.101.205. Escape character is '^]'. SSH-2.0-OpenSSH_5.8 

Le résultat est le même que telent 10.10.101.105 22

Votre configuration réseau semble bien pour moi.

SSH

Pour «accéder» à un server sur les deux adresses IP que vous avez configurées, vous devez vous assurer que SSH accepte les connections sur les deux et est «lié» aux deux adresses IP.

Si SSH écoute toutes les adresses IP présentes sur votre système, vous devriez le voir lié à l'adresse IP spéciale 0.0.0.0 . Cela signifie que toutes les interfaces présentes sur le système auxquelles une adresse IP est associée.

Exemple

 $ sudo netstat -tapn | grep :22 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3540/sshd tcp6 0 0 :::22 :::* LISTEN 3540/sshd 

Débogage ultérieur

Lors de la tentative de SSH sur cet hôte, vous pouvez utiliser la command telnet pour déboguer si cet hôte accepte les connections sur le port 22 (port TCP / IP de SSH) sur les deux adresses IP pour confirmer qu'il accepte les connections. Vous pourriez être trébuché par une règle de pare-feu (par exemple par iptables ).

Pour confirmer, faites simplement ceci aux commands d'un autre hôte:

 $ telnet 10.10.101.105 22 -and- $ telnet 10.10.101.205 22 

Lorsque ces travaux, vous verrez la sortie comme ceci:

 Trying 10.10.101.105... Connected to 10.10.101.105. Escape character is '^]'. SSH-2.0-OpenSSH_6.2 

NOTE: Utilisez Control + ] pour sortir de ça.