Невозможно соединить две машины через кабель Ethernet

352
Ramzah Rehman

У меня есть 2 машины Ubuntu, подключенные через кабель Ethernet, машина A на интерфейсе eth0 и машина B на eth6. Я настроил IP на обеих машинах.

ifconfig -a на компьютере A (отображается только для eth0):

eth0 Link encap:Ethernet HWaddr 98:90:96:9b:83:f1  inet addr:100.0.2.1 Bcast:100.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::9a90:96ff:fe9b:83f1/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:372 errors:0 dropped:0 overruns:0 frame:0 TX packets:280 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000  RX bytes:101005 (101.0 KB) TX bytes:30148 (30.1 KB) Interrupt:20 Memory:f7c00000-f7c20000 

маршрут -n на машине A:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 203.135.63.1 0.0.0.0 UG 0 0 0 eth3 100.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth3 203.135.63.0 0.0.0.0 255.255.255.192 U 1 0 0 eth3 

ifconfig -a на компьютере B (отображается только для eth6)

eth6 Link encap:Ethernet HWaddr ec:08:6b:0b:85:72  inet addr:100.0.2.3 Bcast:100.0.2.225 Mask:255.255.255.0 inet6 addr: fe80::ee08:6bff:fe0b:8572/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:1 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000  RX bytes:0 (0.0 B) TX bytes:90 (90.0 B) 

маршрут -n на машине B:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.102.72.1 0.0.0.0 UG 0 0 0 eth7 10.102.72.0 0.0.0.0 255.255.254.0 U 1 0 0 eth7 100.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0 100.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth6 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0 

Когда я пинг 100.0.2.1 от машины B, я получаю это:

PING 100.0.2.1 (100.0.2.1) 56(84) bytes of data. From 100.0.2.3 icmp_seq=1 Destination Host Unreachable From 100.0.2.3 icmp_seq=2 Destination Host Unreachable From 100.0.2.3 icmp_seq=3 Destination Host Unreachable From 100.0.2.3 icmp_seq=4 Destination Host Unreachable From 100.0.2.3 icmp_seq=5 Destination Host Unreachable From 100.0.2.3 icmp_seq=6 Destination Host Unreachable From 100.0.2.3 icmp_seq=7 Destination Host Unreachable From 100.0.2.3 icmp_seq=8 Destination Host Unreachable From 100.0.2.3 icmp_seq=9 Destination Host Unreachable ^C --- 100.0.2.1 ping statistics --- 11 packets transmitted, 0 received, +9 errors, 100% packet loss, time 10054ms pipe 3 

Пожалуйста, дайте мне знать, что я делаю неправильно.

2
Почему вы используете `100.0.0.0 / 8` для своей внутренней сети? Вы сидите на корточках на IP-пространстве Verizon, а также на Sprint, Amazon EC2, T-Mobile и т. Д. Единственное зарезервированное пространство для частного использования в этом регионе на самом деле равно 100.64.0.0 / 10 с маской сети `255.192.0.0`. , Это, конечно, если вы не имели в виду `10.0.0.0 / 8` (один ноль). grawity 5 лет назад 1
Вы должны использовать [перекрестный кабель Ethernet] (https://en.wikipedia.org/wiki/Ethernet_crossover_cable). Ты? harrymc 5 лет назад 0
@harrymc: [следует?] (https://networkengineering.stackexchange.com/a/28204/3955) Пересекающиеся кабели, как правило, ушли в прошлое. grawity 5 лет назад 3
Первое, что выделяется, это перекрывающиеся маршруты на машине B (100. *. *. * / 8 на eth0), поверх eth0, имеющего адрес локальной ссылки. Вы не сказали, что стоит за eth0, но удалили этот маршрут и посмотрите, работает ли пинг. Также используйте `ip route get 100.0.2.1` на B, чтобы проверить правильность маршрутизации. И пока вы это делаете, измените диапазон IP-адресов `100. *. *. *` На правильный диапазон частных IP-адресов, например, `10. *. *. * / 8` и` 10.0.2. * / 24`, как сказал другой комментарий. dirkt 5 лет назад 1
Хорошей идеей является исследование с помощью `ip route get`, но, как правило, маршруты имеют наиболее длинное совпадение префиксов, поэтому было бы очень любопытно, если бы это было проблемой. (Действительно, большинство компьютеров в любом случае имеют 2-3 перекрывающихся маршрута.) grawity 5 лет назад 0

1 ответ на вопрос

1
harrymc

Одна из причин такой проблемы заключается в том, что вы не используете перекрестный кабель Ethernet или перекрестный адаптер.

Gigabit Ethernet crossover cable endsКонцы перекрестного кабеля Gigabit Ethernet

8P8C modular crossover adapterМодульный кроссовер-адаптер 8P8C

Это кажется маловероятным, учитывая почти повсеместную распространенность сетевых карт с авто-MDIX. Twisty Impersonator 5 лет назад 3
Это была проблема, я подключил один конец кроссовера к USB-порту через Ethernet-адаптер TP-LINK, который не работал. Спасибо! Ramzah Rehman 5 лет назад 0
@RamzahRehman У вас уже был кроссовер, и он не работал? Xen2050 5 лет назад 0
@ Xen2050 Верьте или нет, есть некоторые контроллеры доступа к среде, которые технически реализуют MDI-X, но работают неправильно, если используется перекрестный кабель. Я давно не видел ни одного, и никогда не видел гигабитного, но у нескольких старых компьютеров, с которыми мне приходилось иметь дело, карты 100BaseT имели те же проблемы. Austin Hemmelgarn 5 лет назад 0
@AustinHemmelgarn Вот как это звучало ... OP уже попробовал перекрестный кабель, и он не работал, но если это правда, то почему он выбрал этот ответ как правильный? Это противоположность того, что решило проблему ...? Xen2050 5 лет назад 0
@ Xen2050 У меня был кабель кроссовера, но я не подключил его к адаптеру кроссовера, я подключил его к адаптеру USB, а не к модульному адаптеру кроссовера 8P8C. Вот почему это не сработало. Ramzah Rehman 5 лет назад 0
@RamzahRehman Но если использовать перекрестный кабель * вместе * с перекрестным адаптером ... это просто превращает его обратно в обычный (патч) кабель Xen2050 5 лет назад 1