Как объединить в сеть два компьютера Ubuntu, используя Ethernet (без маршрутизатора)?


65

Как соединить два компьютера с Ubuntu, чтобы они могли «видеть» друг друга по IP-адресу?


6
Каковы ваши требования? Вы используете роутер?
— nixnotwin

1
что именно вы хотите, будьте более ясны, пожалуйста, отредактируйте свой вопрос :)
— aziz joh

1
У вас есть кроссовер кабель? en.wikipedia.org/wiki/Ethernet_crossover_cable
— Брэндон Бертельсен,

Ответы:


49

Если вы используете два компьютера без маршрутизатора для их подключения. Для физического подключения компьютеров вам понадобится коммутатор, концентратор или перекрестный кабель (*). Затем вам нужно вручную назначить IP-адрес в том же диапазоне.

В Ubuntu это просто. щелкните правой кнопкой мыши по апплету менеджера сети в разделе «Вам нужно сделать это на обоих компьютерах».

  1. редактировать соединения
    • проводная вкладка
      • Добавлять
  2. укажите mac-адрес интерфейса, который вы будете настраивать. Команда ifconfig может показать вам MAC-адрес:

    $ ifconfig  
    eth0      Link encap:Ethernet  HWaddr 00:30:1b:b9:53:94 
    

    2.1. В более новой версии Linux имена сетевых карт изменились. wlp2s0, enp1s0. Ищите кое-что с похожими именами, чтобы enбыть Ethernet / wlбыть беспроводным.

    $ ip a l
    2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 98:e7:f4:5d:59:90 brd ff:ff:ff:ff:ff:ff
    3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 84:ef:18:7b:cd:39 brd ff:ff:ff:ff:ff:ff
    

HWaddr 00:30:1b:b9:53:94= MAC-адрес link/ether 84:ef:18:7b:cd:39= Mac-адрес

  1. Затем перейдите на вкладку настроек ipv4. установить метод на ручной.
  2. нажмите кнопку «Добавить», чтобы добавить IP-адрес на компьютер A и B.

пример для компьютера А

address  | netmask       | gateway   
10.0.0.1 | 255.255.255.0 |  

пример для компьютера B

address  | netmask       | gateway   
10.0.0.2 | 255.255.255.0 | 

посмотрите, можете ли вы пинговать друг друга
с компьютера А.

$ ping 10.0.0.2  
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=128 time=0.457 ms

с компьютера Б.

$ ping 10.0.0.1  
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=128 time=0.457 ms

значит все работает.

(*) Большинство современных компьютеров могут использовать обычный кабель вместо кроссовера. Некоторым старым компьютерам потребуется перекрестный кабель


Я нашел это более надежным, чем метод командной строки
— 8128

1
Вам абсолютно необходим перекрестный кабель?
— Seanny123

6
Я думаю, что большинство современных сетевых карт достаточно умны, чтобы определить, используется ли перекрестный кабель или нет. en.wikipedia.org/wiki/Medium_dependent_interface
— Seanny123

2
Ответ с использованием «общего» метода в NetworkManager по адресу askubuntu.com/a/3117/6130 намного проще, не требует настройки на одном из компьютеров и позволяет одному из компьютеров совместно использовать подключение к Интернету. Это то же самое, что говорит @Robert Ancell в своем ответе здесь.
— nealmcb

2
Имеет ли значение, с какого компьютера я это делаю? Могу ли я настроить все это на одном компьютере или мне нужно выполнить этот процесс дважды на каждой машине?
— Мэтт Корби

29

пример командной строки, потому что это так быстро и просто.

В более новой версии Linux имена сетевых карт изменились. wlp2s0, enp1s0. Ищите что-то с похожими именами, чтобы enбыть Ethernet / wlбыть беспроводным.

$ ip a l
2: enp1s0: 
3: wlp2s0: 

Вам нужно обновить приведенную ниже команду, чтобы использовать разные dev enp1s0и т. Д.

На компьютере А

sudo ip ad add 10.0.0.10/24 dev eth0

На компьютере B

sudo ip ad add 10.0.0.20/24 dev eth0

Чтобы проверить от А до Б

пинг 10.0.0.20

Чтобы проверить от B до A

пинг 10.0.0.10

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

10.0.0.xx - это IP-адрес компьютеров. / 24 сообщает компьютерам, что последние 8 бит 32-битного IP-адреса могут измениться. Это похоже на высказывание сетевой маски 255.255.255.0. Это устанавливает маршруты, доступные компьютеру / сети.

вы должны увидеть что-то похожее на это, используя

ip route
10.0.0.0/24 dev eth0 прото ядро ​​ссылка на область src 10.0.0.20

Если вы не видите ничего подобного выше в таблице маршрутов, но видите что-то подобное при использовании ip ad. Вам нужно снова добавить адрес, используя синтаксис подсети / 24.

ip ad
inet 172.16.1.40/32 scope global eth0

Обратите внимание на / 32, который фактически говорит, что это единственный компьютер, который существует в сети из одного компьютера. Который сам по себе. Маска сети 255.255.255.255. Отсюда никаких маршрутов и сеть не работает.

Чтобы узнать, какие сетевые интерфейсы у вас есть, а какие работают

# ip ad
1: lo: mtu 16436 qdisc noqueue 
    link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00
    инет 127.0.0.1/8 хост хоста lo
    inet6 :: хозяин области видимости 1/128 
       valid_lft forever предпочитаемый_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
    ссылка / эфир 46: фд: 51: ф9: ф5: 2д брф фф: фф: фф: фф: фф: фф
    inet 172.16.0.186/24 brd 172.16.0.255 scope global eth0
    inet 172.16.1.10/24 scope global eth0
    inet 172.16.1.40/32 scope global eth0
    inet6 fe80 :: 44fd: 51ff: fef9: f52e / 64 ссылка области 
       valid_lft forever предпочитаемый_lft forever
3: eth1: mtu 1500 qdisc noop qlen 1000
    ссылка / эфир 72: 3f: 92: eb: a4: cc brd ff: ff: ff: ff: ff: ff

Если вам нужно удалить IP-адрес, потому что вы сделали ошибку

ip ad del 10.0.0.40/32 dev eth0 ip ad del 10.0.0.40/24 dev eth0

Это удалит маршруты, а также IP-адрес.


Первоначально это работало, но казалось менее надежным, чем графический метод.
— 8128

3
Эта настройка не сохраняется. Это будет потеряно после перезагрузки. Это простой и быстрый способ установить рабочее сетевое соединение между двумя компьютерами.
— nelaaro

Не работал на Ubuntu 14.04 между ThinkPad T430 и T400 с кабелем 26awg.
— Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件

Прекрасно работает при подключении компьютера с Ubuntu 17.04 (A) ко второй Linux-системе (B), которая не имеет клавиатуры или экрана. Прежде чем отключить B от сети, вставьте в него ssh и выполните команду «sudo ip ad add 10.0.0.20/24 dev eth0», как показано выше. Затем вы можете пойти дальше и использовать соединительный кабель для подключения B к A. Кроме того, в более новой версии Ubuntu используйте «ip ad», как показано выше, чтобы получить имя интерфейса (поскольку это не всегда eth0).
— Пи Джей Сингх

28

Выберите один из компьютеров, чтобы быть сервером. Если один компьютер подключен к Интернету, используйте его в качестве сервера.

На сервере нажмите индикатор сети и выберите Edit Connections. Выберите соединение Ethernet, затем нажмите Editкнопку. Перейдите на IPv4вкладку и измените Methodс Automatic (DHCP)на Shared to other computers.

Соедините два компьютера вместе, используя кабель Ethernet. Второй компьютер получит IP-адрес от сервера и получит доступ к Интернету.

Если у вас старое оборудование, вам может потребоваться убедиться, что кабель Ethernet является перекрестным. Современное оборудование автоматически делает кроссовер.

Проверено на Ubuntu 14.04 LTS.


1
Это также работает на Linux Mint 18, просто чтобы вы знали.
— Скайлар Итнер

5

Ниже приведен повтор ответа Нелаара, обновленный для Ubuntu 14.04.

Требования к оборудованию

Для соединения двух компьютеров без маршрутизатора вам понадобится одно из следующих:

  • Стандартный кабель Ethernet, который должен работать с большинством современного оборудования, или
  • Кроссоверный кабель Ethernet вместо современного сетевого адаптера или
  • Простой концентратор Ethernet (и два кабеля Ethernet).

В Ubuntu 14.04 LTS

Вам нужно будет вручную назначить IP-адрес в том же диапазоне. Следующие шаги предполагают, что вы используете стандартный интерфейс Unity. Повторите эти шаги для каждого компьютера.

  1. Нажмите индикатор сети на панели Unity (вверху справа).
  2. В раскрывающемся списке выберите « Редактировать соединения».
  3. В диалоговом окне « Сетевые подключения » нажмите кнопку « Добавить» .
  4. Когда будет предложено выбрать тип подключения, выберите Ethernet и нажмите кнопку « Создать ...» .
  5. Назовите ваше соединение «Direct to [other hostname]», чтобы отличать его от обычного Ethernet-соединения.
  6. В раскрывающемся списке MAC-адрес устройства выберите адрес, соответствующий интерфейсу, который вы планируете использовать.
  7. Перейдите на вкладку « Настройки IPv4 ».
  8. Измените метод на ручной .
  9. нажмите кнопку Добавить , чтобы добавить IP-адрес.
    • Пример настроек для компьютера № 1:
      • Адрес: 10.0.0.1
      • Маска подсети: 255.255.255.0
      • Шлюз:
    • Пример настроек для компьютера № 2:
      • Адрес: 10.0.0.2
      • Маска подсети: 255.255.255.0
      • Шлюз:

Как только это настроено, и компьютеры соединены вместе, попробуйте пинговать друг друга.

user@computer1:~$ ping 10.0.0.2

Вывод должен выглядеть примерно так:

PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=128 time=0.457 ms

Вам не нужно вручную назначать IP-адреса, как показано в моем ответе.
— Роберт Анселл,

2

Ваш вопрос не совсем краткий, я собираюсь предположить, что вы просто хотите 2 компьютера с Ubuntu в сети.

Соединить 2 компьютера с Ubuntu достаточно просто, достаточно подключить сетевой кабель (кросс-кабель Cat 5e) и подключить оба компьютера с помощью этого кабеля, и Ubuntu сможет подключить оба этих устройства к соединению « Auto Eth » (автоматический IP). Это должно быть примерно так, чтобы получить 2 компьютера с Ubuntu в сети.

Позже, если вы хотите увидеть автоматический IP-адрес, назначенный компьютеру, выполните команду ifconfigили щелкните правой кнопкой мыши на « апплете NetworkManager » и выберите информацию о соединении.

введите описание изображения здесь


2
Я пробовал это, но соединение просто сходит с ума, пытаясь соединиться и каждый раз терпеть неудачу. В чем может быть проблема? Я установил метод IPv4 на «Общий доступ к другим компьютерам»
— Severo Raz

0

По крайней мере, 16.04 вы можете легко это сделать, зайдя в настройки сети:

  1. Изменить проводное соединение
  2. Перейдите на вкладку IPv4
  3. Выберите Link-Local Only

Сделайте это на обоих компьютерах, и все готово.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.