Jak połączyć dwa komputery Ubuntu w sieć za pomocą Ethernetu (bez routera)?

Odpowiedzi:

49

Jeśli używasz dwóch komputerów bez routera, aby je połączyć. Aby fizycznie podłączyć komputery, potrzebujesz przełącznika, koncentratora lub kabla krosowego (*). Następnie musisz ręcznie przypisać adres IP z tego samego zakresu.

W Ubuntu jest to proste. kliknij prawym przyciskiem myszy aplet menedżera sieci w Musisz to zrobić na obu komputerach

  1. edytuj połączenia
    • karta przewodowa
      • Dodaj
  2. wpisz adres mac interfejsu, który będziesz konfigurować. Polecenie ifconfig może pokazać ci, jaki jest adres mac:

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

    2.1 W nowszej wersji systemu Linux nazwy kart sieciowych uległy zmianie. wlp2s0, enp1s0. Poszukaj czegoś o nazwach podobnych do enethernet / wlwireless.

    $ 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= adres link/ether 84:ef:18:7b:cd:39mac = adres mac

  1. Następnie kliknij kartę ustawień ipv4. ustaw metodę na ręczną.
  2. kliknij dodaj, aby dodać adres IP na komputerze A i B.

przykład dla komputera A

address  | netmask       | gateway   
10.0.0.1 | 255.255.255.0 |  

przykład dla komputera B

address  | netmask       | gateway   
10.0.0.2 | 255.255.255.0 | 

sprawdź, czy możesz pingować się
z komputera A.

$ 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

z komputera B.

$ 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

oznacza, że ​​wszystko działa.

(*) Większość współczesnych komputerów może używać zwykłego kabla zamiast zwrotnicy. Niektóre stare komputery wymagają kabla krosowanego

nelaaro
źródło
Uznałem to za bardziej niezawodne niż metoda wiersza poleceń
8128,
1
Czy koniecznie potrzebujesz kabla z przeplotem?
Seanny123
6
Myślę, że większość nowoczesnych kart sieciowych jest wystarczająco inteligentna, aby wykryć, czy używany jest kabel krosowy. en.wikipedia.org/wiki/Medium_dependent_interface
Seanny123
2
Odpowiedź przy użyciu metody „współdzielonej” w NetworkManager na askubuntu.com/a/3117/6130 jest znacznie prostsza, nie wymaga konfiguracji na jednym z komputerów i umożliwia jednemu z komputerów współużytkowanie połączenia internetowego. Jest to to samo, co mówi @Robert Ancell w swojej odpowiedzi tutaj.
nealmcb
2
Czy to ważne, z którego komputera to robię? Czy mogę to wszystko skonfigurować za pomocą jednego komputera, czy muszę wykonać ten proces dwa razy na każdym komputerze?
Matt Corby,
29

przykład wiersza poleceń, ponieważ jest on tak szybki i prosty.

W nowszej wersji systemu Linux nazwy kart sieciowych uległy zmianie. wlp2s0, enp1s0. Poszukaj czegoś o nazwach podobnych do enethernet / wlbezprzewodowego.

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

Trzeba zaktualizować poniższe polecenie, aby użyć innego dev enp1s0itp.

Na komputerze A

sudo ip ad add 10.0.0.10/24 dev eth0

Na komputerze B

sudo ip ad add 10.0.0.20/24 dev eth0

Aby przetestować od A do B.

ping 10.0.0.20

Aby przetestować od B do A

ping 10.0.0.10

Pod warunkiem, że kabel łączy dwa komputery i interfejs sieciowy na obu z nich jest włączony i nazywa się eth0, powinno to działać. Reszta tego postu ma pomóc w rozwiązywaniu problemów, jeśli występują problemy.

10.0.0.xx to adres IP komputerów. / 24 informuje komputery, że ostatnie 8 bitów 32-bitowego adresu IP może ulec zmianie. Jest to podobne do powiedzenia maski sieci 255.255.255.0. To konfiguruje trasy, które komputer / sieć ma dla niego.

powinieneś zobaczyć coś podobnego do tego przy użyciu

ip route
10.0.0.0/24 dev eth0 proto jądro zakres link src 10.0.0.20

Jeśli nie widzisz czegoś takiego jak wyżej w tabeli tras, ale widzisz coś takiego podczas korzystania z reklamy IP. Musisz dodać adres ponownie, używając składni / 24 podsieci.

ip ad
inet 172.16.1.40/32 zakres globalny eth0

Zwróć uwagę na / 32, który faktycznie mówi, że jest to jedyny komputer, który istnieje w sieci jednego komputera. Które jest jego. Maska netto 255.255.255.255. Dlatego nie ma tras, a sieć nie działa.

Aby dowiedzieć się, jakie masz interfejsy sieciowe i które działają

# reklama ip
1: lo: mtu 16436 qdisc noqueue 
    link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00
    inet 127.0.0.1/8 zakres host lo
    host inet6 :: 1/128 
       valid_lft na zawsze preferowany_lft na zawsze
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
    link / ether 46: fd: 51: f9: f5: 2e brd ff: ff: ff: ff: ff: ff
    inet 172.16.0.186/24 brd 172.16.0.255 zakres globalny eth0
    inet 172.16.1.10/24 zakres globalny eth0
    inet 172.16.1.40/32 zakres globalny eth0
    inet6 fe80 :: 44fd: 51ff: fef9: f52e / 64 link scope 
       valid_lft na zawsze preferowany_lft na zawsze
3: eth1: mtu 1500 qdisc noop qlen 1000
    link / ether 72: 3f: 92: eb: a4: cc brd ff: ff: ff: ff: ff: ff

Jeśli musisz usunąć adres IP, popełniłeś błąd

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

Spowoduje to usunięcie tras oraz adresu IP.

nelaaro
źródło
Działało to początkowo, ale wydawało się mniej niezawodne niż metoda graficzna.
8128,
3
Ta konfiguracja nie utrzymuje się. Zostanie utracony po ponownym uruchomieniu. Jest to prosta i szybka metoda skonfigurowania działającego połączenia sieciowego między dwoma komputerami.
nelaaro
Nie działał na Ubuntu 14.04 między ThinkPad T430 i T400 z kablem 26awg.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
Działa świetnie, łącząc komputer Ubuntu 17.04 (A) z drugim komputerem z systemem Linux (B), który nie ma klawiatury ani ekranu. Przed odłączeniem B od sieci, ssh do niego i uruchom „sudo ip ad add 10.0.0.20/24 dev eth0” jak pokazano powyżej. Następnie możesz śmiało użyć kabla krosowego, aby podłączyć B do A. Ponadto w nowszej wersji Ubuntu użyj „reklamy ip”, jak pokazano powyżej, aby uzyskać nazwę interfejsu (ponieważ nie zawsze jest to eth0).
PJ Singh,
28

Wybierz jeden z komputerów, który ma być serwerem. Jeśli jeden komputer ma połączenie z Internetem, użyj go jako serwera.

Na serwerze kliknij wskaźnik sieci i wybierz Edit Connections. Wybierz połączenie Ethernet, a następnie kliknij Editprzycisk. Przejdź do IPv4zakładki i zmień Methodz Automatic (DHCP)na Shared to other computers.

Połącz dwa komputery razem za pomocą kabla Ethernet. Drugi komputer otrzyma adres IP z serwera i uzyska dostęp do Internetu.

Jeśli masz stary sprzęt, może być konieczne upewnienie się, że kabel Ethernet jest kablem z przeplotem. Nowoczesny sprzęt automatycznie wykonuje zwrotnicę.

Testowane na Ubuntu 14.04 LTS.

Robert Ancell
źródło
1
Działa to również w systemie Linux Mint 18, tak więc wiesz.
Skylar Ittner,
5

Poniżej znajduje się powtórzenie odpowiedzi nelaar, zaktualizowanej dla Ubuntu 14.04.

Wymagania sprzętowe

Aby połączyć dwa komputery bez routera, potrzebujesz jednego z poniższych:

  • Standardowy kabel Ethernet, który powinien współpracować z najnowocześniejszym sprzętem, lub
  • Kabel krosowy Ethernet zamiast nowoczesnej karty sieciowej lub
  • Prosty koncentrator Ethernet (i dwa kable Ethernet).

W Ubuntu 14.04 LTS

Konieczne będzie ręczne przypisanie adresu IP z tego samego zakresu. Poniższe kroki zakładają, że używasz standardowego interfejsu Unity. Powtórz te kroki dla każdego komputera.

  1. Kliknij wskaźnik Network w panelu Unity (w prawym górnym rogu).
  2. Z rozwijanego menu wybierz Edytuj połączenia ...
  3. W oknie dialogowym Połączenia sieciowe kliknij przycisk Dodaj .
  4. Gdy pojawi się monit, aby wybrać typ połączenia, wybierz Ethernet , a następnie kliknij Utwórz ... przycisk.
  5. Nazwij swoje połączenie „Bezpośrednio do [inna nazwa hosta]”, aby odróżnić się od typowego połączenia Ethernet.
  6. Z listy rozwijanej Adres MAC urządzenia wybierz ten, który odpowiada interfejsowi, którego zamierzasz używać.
  7. Przejdź do karty Ustawienia IPv4 .
  8. Zmień metodę na ręczną .
  9. kliknij przycisk Dodaj , aby dodać adres IP.
    • Przykładowe ustawienia dla komputera nr 1:
      • Adres: 10.0.0.1
      • Maska sieci: 255.255.255.0
      • Przejście:
    • Przykładowe ustawienia komputera nr 2:
      • Adres: 10.0.0.2
      • Maska sieci: 255.255.255.0
      • Przejście:

Po skonfigurowaniu, a komputery zostaną połączone razem, spróbuj pingować się nawzajem.

user@computer1:~$ ping 10.0.0.2

Dane wyjściowe powinny wyglądać mniej więcej tak:

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
aaaantoine
źródło
Nie musisz ręcznie przypisywać adresów IP, jak pokazano w mojej odpowiedzi.
Robert Ancell,
2

Twoje pytanie nie jest dość krótkie, zakładam, że chcesz tylko 2 komputery Ubuntu w sieci.

Podłączenie 2 komputerów Ubuntu jest dość łatwe, wystarczy uzyskać kabel sieciowy ( kabel krzyżowy Cat 5e) i połączyć oba komputery za pomocą tego kabla, a Ubuntu powinien mieć możliwość uzyskania obu połączeń „ Auto Eth ” (automatyczne IP). To powinno być w zasadzie, aby uzyskać 2 komputery Ubuntu w sieci.

Później, jeśli chcesz zobaczyć automatyczne IP przypisane do komputera, uruchom polecenie ifconfiglub kliknij prawym przyciskiem myszy aplet NetworkManager i kliknij informacje o połączeniu

wprowadź opis zdjęcia tutaj

Gaurav Butola
źródło
2
Próbowałem tego, ale połączenie szaleje, próbując połączyć się i zawieść za każdym razem. Jaki może być problem?
Severo Raz,
0

Przynajmniej 16.04 możesz to zrobić łatwo, przechodząc do ustawień sieciowych:

  1. Edytuj połączenie przewodowe
  2. Przejdź na kartę IPv4
  3. Wybierz Link-Local Only

Zrób to na obu komputerach i gotowe.

Manuel Garcia
źródło