1

Я создал 2 статических интерфейса, eth0 и eth1. Вот как выглядит мой файл /etc/network/interfaces .

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# This is an autoconfigured IPv6 interface
auto eth0
iface eth0 inet static
#iface eth0 inet static
address 192.168.2.42
netmask 255.255.252.0
gateway 192.168.0.11
dns-nameserver 192.168.1.7

auto eth1
iface eth1 inet static
address 192.168.2.44
netmask 255.255.252.0
gateway 192.168.0.11
dns-nameserver 192.168.1.7

eth0 работает отлично, и я могу пинговать IP eth1 с другого компьютера в сети. Проблема в том, что я не могу пропинговать любую другую машину через eth1:

aneesh@worker42:~$ ping -Ieth0 -c5 192.168.1.15
PING 192.168.1.15 (192.168.1.15) from 192.168.2.42 eth0: 56(84) bytes of data.
64 bytes from 192.168.1.15: icmp_seq=1 ttl=64 time=0.140 ms
64 bytes from 192.168.1.15: icmp_seq=2 ttl=64 time=0.131 ms
64 bytes from 192.168.1.15: icmp_seq=3 ttl=64 time=0.149 ms
64 bytes from 192.168.1.15: icmp_seq=4 ttl=64 time=0.153 ms
64 bytes from 192.168.1.15: icmp_seq=5 ttl=64 time=0.152 ms

--- 192.168.1.15 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3997ms
rtt min/avg/max/mdev = 0.131/0.145/0.153/0.008 ms
aneesh@worker42:~$ ping -Ieth1 -c5 192.168.1.15
PING 192.168.1.15 (192.168.1.15) from 192.168.2.44 eth1: 56(84) bytes of data.
From 192.168.2.44 icmp_seq=1 Destination Host Unreachable
From 192.168.2.44 icmp_seq=2 Destination Host Unreachable
From 192.168.2.44 icmp_seq=3 Destination Host Unreachable
From 192.168.2.44 icmp_seq=4 Destination Host Unreachable
From 192.168.2.44 icmp_seq=5 Destination Host Unreachable

--- 192.168.1.15 ping statistics ---
5 packets transmitted, 0 received, +5 errors, 100% packet loss, time 4023ms
pipe 3

Я могу пинг до 192.168.1.44 от 192.168.1.15:

aneesh@aneesh:~$ ping -c5 192.168.1.44
PING 192.168.1.44 (192.168.1.44) 56(84) bytes of data.
64 bytes from 192.168.1.44: icmp_seq=1 ttl=64 time=0.146 ms
64 bytes from 192.168.1.44: icmp_seq=2 ttl=64 time=0.192 ms
64 bytes from 192.168.1.44: icmp_seq=3 ttl=64 time=0.178 ms
64 bytes from 192.168.1.44: icmp_seq=4 ttl=64 time=0.177 ms
64 bytes from 192.168.1.44: icmp_seq=5 ttl=64 time=0.174 ms

--- 192.168.1.44 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3996ms
rtt min/avg/max/mdev = 0.146/0.173/0.192/0.019 ms

Вот вывод ifconfig:

aneesh@worker42:~$ ifconfig 
eth0      Link encap:Ethernet  HWaddr 08:00:27:0f:0b:38  
          inet addr:192.168.2.42  Bcast:192.168.3.255  Mask:255.255.252.0
          inet6 addr: 2001:df0:6000:0:a00:27ff:fe0f:b38/64 Scope:Global
          inet6 addr: fe80::a00:27ff:fe0f:b38/64 Scope:Link
          inet6 addr: 2001:df0:6000:0:397f:1b8f:468a:9424/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10086 errors:0 dropped:1422 overruns:0 frame:0
          TX packets:524 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1190111 (1.1 MB)  TX bytes:63594 (63.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:4c:fd:42  
          inet addr:192.168.2.44  Bcast:192.168.3.255  Mask:255.255.252.0
          inet6 addr: fe80::a00:27ff:fe4c:fd42/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:2448 (2.4 KB)

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:65536  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2352 (2.3 KB)  TX bytes:2352 (2.3 KB)

Таблица маршрутизации:

aneesh@worker42:~$ sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.11    0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.252.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.252.0   U     0      0        0 eth1

Машина представляет собой виртуальную виртуальную машину под управлением Ubuntu 13.10. Виртуальная машина имеет 2 мостовых сетевых адаптера eth0 и eth1.

Обновления:

Я изменил сетевой адаптер eth1, чтобы "только для хоста" IP-адрес eth1 соответствовал IP-адресу виртуального ящика (через dhcp): 192.168.56.101. После этого мне удалось пропинговать через eth1. Почему я не могу сделать это, когда eth1 является мостовым адаптером с IP - 192.168.2.42?

2 ответа2

1

Обычно, если вы хотите, чтобы несколько физических интерфейсов (например, eth0 и eth1) были подключены к одному и тому же сегменту локальной сети (одна и та же VLAN в наборе коммутаторов), вам следует использовать агрегацию каналов 2-го уровня (в Linux это называется связыванием), а не два отдельных интерфейса, каждый со своим IP-адресом.

Если вы хотите иметь несколько IP-адресов в одной и той же IP-подсети LAN, вы должны использовать логические IP-подынтерфейсы (eth0, eth0:1, eth0:2 и т.д.) На одном базовом интерфейсе (ethX в случае одного физического интерфейса, или bondX в случае агрегированного по ссылкам набора интерфейсов).

Что касается исходной настройки, существует множество проблем с двумя отдельными физическими интерфейсами, подключенными к одной и той же VLAN и IP-подсети, каждый из которых имеет собственный IP-адрес из одной и той же IP-подсети. Основная проблема заключается в том, что у вас будут одинаковые IP-маршруты для одних и тех же целей на обоих интерфейсах, но ядро будет использовать только один из них для отправки исходящих пакетов, независимо от того, какой IP-адрес источника вы пытаетесь использовать. И какой интерфейс будет использоваться, будет зависеть от случайных факторов (например, какой интерфейс был запущен первым / последним). Кроме того, оба физических интерфейса будут отвечать на запросы ARP для обоих IP-адресов, что опять-таки будет означать, что результат будет случайным (какой пакет первым поступит к запрашивающему). Эта случайность, как правило, не очень хорошая вещь, и может вызвать проблемы с некоторым сетевым оборудованием.

0

Я вижу, что eth0 получил также ipv6, а eth1 - нет, поэтому существует проблема со связью, также у eth1 получено 0,0 B. Я не знаю, физическая ли это машина или виртуальная.
Для физического я бы проверил кабель, соединяющий eth1. И я бы тоже проверил:
cat /sys/class/net/eth1/operstate
она должна быть выше, если это не так , чем сделать: sudo ifup eth1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .