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


65

Jak mogę połączyć dwa komputery Ubuntu w sieć, aby mogły się one „widzieć” pod adresem IP?


6
Jakie są twoje wymagania Czy korzystasz z routera?
— nixnotwin

1
co chcesz dokładnie, wyraźniej, edytuj swoje pytanie :)
— aziz joh


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


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.


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.


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

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


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.