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

3 ответа3

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 с машины A

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

-  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 использует ваши машины.

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

1

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

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

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

0

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

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

$ ethtool eth0

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

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