соединяя два linux ПК через перекрестный кабель

6

Я хочу соединить два моих компьютера Linux с ядром 2.6 через перекрестный кабель. Для этого я выполнил следующие настройки после поиска в Google:

В ПК1

  1. ifconfig eth0 10.10.11.16 netmask 255.255.255.0 up
  2. route add default gw 10.10.11.13 eth0 (шлюз по умолчанию, который является ip pc2)

В ПК2

  1. ifconfig eth0 10.10.11.13 netmask 255.255.255.0 up
  2. route add default gw 10.10.11.16 eth0 (шлюз по умолчанию, который является ip pc1)

Затем я попытался пинговать, я не смог подключиться. Достаточно ли этих настроек выше или я что-то упустил?

Для получения дополнительной информации

В ПК1

вывод ifconfig

eth0      Link encap:Ethernet  HWaddr 00:16:76:A1:33:37  
          inet addr:10.10.11.16  Bcast:10.10.11.255  Mask:255.255.255.0
          inet6 addr: fe80::216:76ff:fea1:3337/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:49984 errors:6 dropped:0 overruns:0 frame:6
          TX packets:17221 errors:0 dropped:0 overruns:0 carrier:0
          collisions:439 txqueuelen:1000 
          RX bytes:14295749 (13.6 MiB)  TX bytes:2684625 (2.5 MiB)

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  Metric:1
          RX packets:511 errors:0 dropped:0 overruns:0 frame:0
          TX packets:511 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:62780 (61.3 KiB)  TX bytes:62780 (61.3 KiB)

маршрут -n выход

Destination     Gateway         Genmask       Flags  Metric Ref      Us Iface

10.10.11.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     1002   0        0 eth0
0.0.0.0         10.10.11.13     0.0.0.0         UG    0      0        0 eth0

В ПК2

вывод ifconfig

eth0      Link encap:Ethernet  HWaddr 00:40:CA:A1:C7:1B  
          inet addr:10.10.11.13  Bcast:10.10.11.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:705 errors:0 dropped:0 overruns:0 frame:0
          TX packets:97 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:63557 (62.0 KiB)  TX bytes:9973 (9.7 KiB)
          Interrupt:11 Base address:0xa000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:112 errors:0 dropped:0 overruns:0 frame:0
          TX packets:112 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:12400 (12.1 KiB)  TX bytes:12400 (12.1 KiB)

маршрут -n выход

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.10.11.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         10.10.11.16     0.0.0.0         UG    0      0        0 eth0
yuvaeasy
источник
4
Нет необходимости (и неправильно) иметь каждый компьютер в качестве шлюза другого (это похоже на бесконечный цикл). Вы уверены, что кабель работает? Видите ли вы свет на порт Ethernet? Возможно, что машины не отвечают на команду ping или на одном компьютере (или на обоих) установлен брандмауэр?
Спасибо за ваш быстрый ответ, Карлос, Кабель работает, потому что я проверил этот кабель с Windows-машиной и одним Linux-компьютером. Кабель мигает с обоих концов. И также брандмауэр не блокирует. Я удалил один шлюз с одной машины, тогда я тоже не в состоянии пинговать
Большинство дистрибутивов по умолчанию используют брандмауэр ...
Turbo J

Ответы:

5

Я подключил две машины Fedora. Здесь я использовал A и B в качестве имен машин.

Шаг 1:

Редактировать файл

vim /etc/sysconfig/network-scripts/ifcfg-eth0

и введите данные для машины A

DEVICE="eth0"
HWADDR="<Machine A NIC HW ADDR CAN BE ENTERED USING ifconfig>"
BOOTPROTO="static"
ONBOOT="yes"
NM_CONTROLLED="yes"
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=192.168.1.1
BROADCAST=192.168.1.255
IPV4_FAILURE_FATAL=yes
IPV6INIT=no

Шаг 2:

Редактировать файл

vim /etc/sysconfig/network-scripts/ifcfg-eth0

и введите детали для машины B

DEVICE="eth0"
HWADDR="<Machine B NIC HW ADDR CAN BE ENTERED USING ifconfig>"
BOOTPROTO="static"
ONBOOT="yes"
NM_CONTROLLED="yes"
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=192.168.1.2
BROADCAST=192.168.1.255
IPV4_FAILURE_FATAL=yes
IPV6INIT=no

Шаг 3:

Соедините обе машины с помощью перекрестного кабеля Ethernet.

Шаг 4:

Необязательная перезагрузка.

Шаг 5:

ping 192.168.1.1 от машины B и ping 192.168.1.2 от машины А

Ниже приведены шаги в случае, если вы все еще не можете пинговать. Вполне возможно, что из-за разницы в скорости сетевой карты ваши машины не смогут пропинговать. Установите скорость обеих машин на постоянную. Тогда это может сработать.

-  On Machine A enter command:
    ethtool -s eth0 speed 10 duplex half

-  On Machine B enter command:
    ethtool -s eth0 speed 10 duplex half

Затем повторите шаг 5. Если ваши машины по-прежнему не могут пропинговать друг друга, выполните следующие действия:

[root@localhost ravidborse]# lspci 
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)
06:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
06:09.0 CardBus bridge: Texas Instruments PCI7420 CardBus Controller
06:09.2 FireWire (IEEE 1394): Texas Instruments PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller
06:09.3 Mass storage controller: Texas Instruments PCI7420/7620 Combo CardBus, 1394a-2000 OHCI and SD/MS-Pro Controller
06:0a.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05)

Проверьте, какие драйверы загружены в     Dmesg | grep Ethernet     lsmod | grep 8139

Я вошел в lspci Команда и посмотрел, какой контроллер Ethernet использует ваши машины.

Моя машина использует RTL8101E/8102E и выше lspci выход машины B. Загрузите соответствующие драйверы Linux для карты Ethernet и установите их. Эти драйверы очень просты в установке. Прочитайте readme в папке с драйверами.

ravidborse
источник
1

Конфигурация, которую вы выполнили, кажется правильной, хотя нет необходимости устанавливать каждый ПК в качестве шлюза другого, ПК просто должен быть в той же локальной сети, чтобы он работал.

Может быть, это проблема с вами кабель.

Если ваши сетевые карты имеют функции автоматического определения, любой обычный кабель перекрестного кабеля будет работать (по этой причине ваш тест на ПК с Windows работает), но если им не хватает этой функции, вам придется использовать перекрестный кабель и обычный UTP кабель не будет работать.

jhcaiced
источник
0

вам не нужен маршрут или шлюз, если хосты находятся в одной подсети (как в вашем примере) Поэтому удалите маршруты и перезапустите демон маршрутизации (или перезапустите сетевой сервис)

Если это все еще не работает: возможно, могут быть проблемы со скоростными переговорами посмотрите на вывод ethtool:

$ ethtool eth0

используйте ethtool для изменения дуплекса, скорости и других настроек. Все настройки должны быть одинаковыми в обеих системах

The Bndr
источник