Làm cách nào để nối mạng hai máy tính Ubuntu bằng ethernet (không có bộ định tuyến)?


65

Làm cách nào tôi có thể kết nối hai máy tính Ubuntu để chúng có thể "nhìn thấy" nhau tại một địa chỉ IP?


6
Yêu cầu của bạn là gì? Bạn có sử dụng bộ định tuyến không?
nixnotwin

1
những gì bạn muốn chính xác, rõ ràng hơn xin vui lòng chỉnh sửa câu hỏi của bạn :)
aziz joh


Câu trả lời:


49

Nếu bạn đang sử dụng hai máy tính không có bộ định tuyến để kết nối chúng. Để kết nối vật lý các máy tính, bạn sẽ cần một công tắc, bộ tập trung hoặc cáp chéo (*). Sau đó, bạn cần gán thủ công địa chỉ IP trong cùng phạm vi.

Trong Ubuntu điều này thật đơn giản. nhấp chuột phải vào applet của trình quản lý mạng trong Bạn cần thực hiện việc này trên cả hai máy tính

  1. chỉnh sửa kết nối
    • tab có dây
      • thêm vào
  2. Đặt địa chỉ mac của giao diện bạn sẽ cấu hình. Lệnh ifconfig có thể cho bạn biết địa chỉ mac là gì:

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

    2.1. Trên phiên bản Linux mới hơn, tên card mạng đã thay đổi. wlp2s0, enp1s0. Tìm kiếm một số thứ có tên tương tự enlà ethernet / wlkhông dây.

    $ 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= địa chỉ link/ether 84:ef:18:7b:cd:39mac = địa chỉ mac

  1. Sau đó nhấp vào tab cài đặt ipv4. đặt phương thức thành thủ công.
  2. nhấp vào thêm để thêm địa chỉ IP trên cả Máy tính A và B.

ví dụ cho máy tính A

address  | netmask       | gateway   
10.0.0.1 | 255.255.255.0 |  

ví dụ cho máy tính B

address  | netmask       | gateway   
10.0.0.2 | 255.255.255.0 | 

xem bạn có thể ping nhau
từ máy tính 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

từ máy tính 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

có nghĩa là mọi thứ đang làm việc

(*) Hầu hết các máy tính hiện đại có thể sử dụng cáp thông thường thay vì chéo. Một số máy tính cũ sẽ yêu cầu cáp chéo


Tôi thấy điều này đáng tin cậy hơn phương pháp dòng lệnh
8128

1
Bạn có thực sự cần một cáp chéo?
Seanny123

6
Tôi nghĩ rằng hầu hết các card mạng hiện đại đều đủ thông minh để phát hiện xem cáp chéo có đang được sử dụng hay không. vi.wikipedia.org/wiki/Medium_dep
khu_interface

2
Câu trả lời bằng cách sử dụng phương pháp "chia sẻ" trong NetworkManager tại askubfox.com/a/3117/6130 đơn giản hơn nhiều, không yêu cầu cấu hình trên một trong các máy tính và cho phép một trong các máy tính chia sẻ kết nối internet. Nó giống như những gì @Robert Ancell đang nói trong câu trả lời của anh ấy ở đây.
nealmcb

2
Có vấn đề gì máy tính tôi làm điều này từ? Tôi có thể thiết lập tất cả thông qua một máy tính không hoặc tôi có phải thực hiện quy trình này hai lần trên mỗi máy không?
Matt Corby

29

ví dụ dòng lệnh gây ra nó rất nhanh chóng và đơn giản.

Trên phiên bản Linux mới hơn, tên card mạng đã thay đổi. wlp2s0, enp1s0. Tìm kiếm thứ gì đó có tên tương tự enlà ethernet / wlkhông dây.

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

Bạn sẽ cần cập nhật lệnh dưới đây để sử dụng khác nhau, dev enp1s0v.v.

Trên máy tính A

quảng cáo ip sudo thêm 10.0.0.10/24 dev eth0

Trên máy tính B

quảng cáo ip sudo thêm 10.0.0.20/24 dev eth0

Để kiểm tra từ A đến B

ping 10.0.0.20

Để kiểm tra từ B đến A

ping 10.0.0.10

Với điều kiện là cáp kết nối hai máy tính và giao diện mạng trên cả hai máy được bật và được gọi là eth0, nó sẽ hoạt động. Phần còn lại của bài đăng này là để giúp xử lý sự cố nếu có vấn đề.

10.0.0.xx là địa chỉ IP của máy tính. / 24 cho các máy tính biết rằng 8 bit cuối cùng của địa chỉ IP 32 bit có thể thay đổi. Nó tương tự như nói netmask 255.255.255.0. Điều này thiết lập các tuyến đường mà máy tính / mạng có sẵn cho nó.

bạn sẽ thấy một số điều tương tự như thế này bằng cách sử dụng

ip tuyến
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.20

Nếu bạn không thấy một số thứ như trên trong bảng lộ trình nhưng lại thấy một số thứ như thế này khi bạn sử dụng quảng cáo ip. Bạn cần thêm địa chỉ một lần nữa bằng cách sử dụng / 24 cú pháp mạng con.

quảng cáo ip
inet 172.16.1.40/32 phạm vi toàn cầu eth0

Lưu ý / 32 có hiệu quả nói rằng đó là máy tính duy nhất tồn tại trên mạng của một máy tính. Đó là tự của nó. Mặt nạ lưới 255.255.255.255. Do đó không có tuyến đường và mạng không hoạt động.

Để tìm ra giao diện mạng nào bạn có và đang hoạt động

# quảng cáo ip
1: lo: mtu 16436 qdisc noqueue 
    liên kết / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00
    inet 127.0.0.1/8 phạm vi máy chủ lo
    inet6 :: máy chủ phạm vi 1/128 
       valid_lft mãi mãi ưa thích_lft mãi mãi
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
    liên kết / 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 phạm vi eth0 toàn cầu
    inet 172.16.1.10/24 phạm vi toàn cầu eth0
    inet 172.16.1.40/32 phạm vi toàn cầu eth0
    inet6 fe80 :: 44fd: 51ff: fef9: f52e / 64 phạm vi liên kết 
       valid_lft mãi mãi ưa thích_lft mãi mãi
3: eth1: mtu 1500 qdisc noop qlen 1000
    liên kết / ether 72: 3f: 92: eb: a4: cc brd ff: ff: ff: ff: ff: ff:

Nếu bạn cần xóa một địa chỉ IP vì bạn đã nhầm

ip quảng cáo del 10.0.0.40 / 32 dev eth0 ip quảng cáo del 10.0.0.40/24 dev eth0

Điều này sẽ loại bỏ các tuyến đường cũng như địa chỉ IP.


Điều này làm việc ban đầu, nhưng dường như ít đáng tin cậy hơn phương pháp đồ họa.
8128

3
Thiết lập này không tồn tại. Nó sẽ bị mất sau khi khởi động lại. Đây là một phương pháp đơn giản và nhanh chóng để thiết lập kết nối mạng làm việc giữa hai máy tính.
nelaaro

Không hoạt động trên Ubuntu 14.04 giữa ThinkPad T430 và T400 với cáp 26awg.
Ciro Santilli 心 心

Hoạt động tuyệt vời khi kết nối máy tính Ubuntu 17.04 (A) với hộp Linux thứ hai (B) không có bàn phím hoặc màn hình. Trước khi ngắt kết nối B khỏi mạng, ssh vào mạng và thực hiện "sudo ip ad add 10.0.0.20/24 dev eth0" như hình trên. Sau đó, bạn có thể tiếp tục và sử dụng cáp vá để kết nối B với A. Ngoài ra, trên phiên bản Ubuntu mới hơn, hãy sử dụng "quảng cáo ip" như được hiển thị ở trên để lấy tên giao diện (vì không phải lúc nào cũng là eth0).
PJ Singh

28

Chọn một trong các máy tính làm máy chủ. Nếu một máy tính có kết nối với Internet, hãy sử dụng máy chủ đó.

Trên máy chủ, nhấp vào chỉ báo mạng và chọn Edit Connections. Chọn kết nối Ethernet sau đó nhấp vào Editnút. Chuyển đến IPv4tab và thay đổi Methodtừ Automatic (DHCP)sang Shared to other computers.

Kết nối hai máy tính với nhau bằng cáp Ethernet. Máy tính thứ hai sẽ được chỉ định một địa chỉ IP từ máy chủ và có quyền truy cập Internet.

Nếu bạn có phần cứng cũ, bạn có thể cần đảm bảo cáp Ethernet là cáp chéo. Phần cứng hiện đại tự động làm chéo.

Đã thử nghiệm trên Ubuntu 14.04 LTS.


1
Điều này cũng hoạt động trên Linux Mint 18, chỉ để bạn biết.
Skylar Ittner

5

Dưới đây là bản trả lời của câu trả lời của nelaar, được cập nhật cho Ubuntu 14.04.

yêu cầu phần cứng

Để kết nối hai máy tính không có bộ định tuyến, bạn sẽ cần một trong các cách sau:

  • Cáp Ethernet tiêu chuẩn, hoạt động với hầu hết các phần cứng hiện đại, hoặc
  • Cáp chéo Ethernet , thay cho một loại hiện đại, hoặc
  • Một trung tâm Ethernet đơn giản (và hai cáp Ethernet).

Trong Ubuntu 14.04 LTS

Bạn sẽ cần phải tự gán địa chỉ IP trong cùng phạm vi. Các bước sau đây giả sử bạn đang sử dụng giao diện Unity tiêu chuẩn. Lặp lại các bước này cho mỗi máy tính.

  1. Nhấp vào chỉ báo Mạng trên bảng Unity (trên cùng bên phải).
  2. Từ trình đơn thả xuống, chọn Chỉnh sửa kết nối ...
  3. Trong hộp thoại Kết nối mạng , bấm vào nút Thêm .
  4. Khi được nhắc để lựa chọn một loại kết nối, chọn Ethernet , và nhấp vào Tạo ... nút.
  5. Đặt tên cho kết nối của bạn là "Trực tiếp đến [tên máy chủ khác]" để phân biệt với kết nối Ethernet thông thường.
  6. Trong trình đơn thả xuống Địa chỉ MAC của Thiết bị , chọn địa chỉ tương ứng với giao diện bạn định sử dụng.
  7. Chuyển sang tab Cài đặt IPv4 .
  8. Thay đổi Phương pháp thành Thủ công .
  9. nhấp vào nút Thêm để thêm địa chỉ IP.
    • Cài đặt ví dụ cho Máy tính số 1:
      • Địa chỉ: 10.0.0.1
      • Netmask: 255.255.255.0
      • Cổng:
    • Cài đặt ví dụ cho Máy tính # 2:
      • Địa chỉ: 10.0.0.2
      • Netmask: 255.255.255.0
      • Cổng:

Khi đã được thiết lập và các máy tính được nối với nhau, hãy thử ping nhau.

user@computer1:~$ ping 10.0.0.2

Đầu ra sẽ trông giống như thế này:

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

Bạn không cần phải tự gán địa chỉ IP như trong câu trả lời của tôi.
Robert Ancell

2

Câu hỏi của bạn không hoàn toàn ngắn gọn, tôi sẽ giả sử bạn chỉ muốn có 2 máy tính Ubuntu trong mạng.

Kết nối 2 máy tính Ubuntu là đủ dễ dàng, chỉ cần có cáp Mạng (Cáp chéo Cat 5e) và kết nối cả hai máy tính bằng cáp đó và Ubuntu có thể có được cả hai kết nối " Auto Eth " (IP tự động). Điều này sẽ là khá nhiều để có được 2 máy tính Ubuntu trong mạng.

Sau này Nếu bạn muốn xem IP tự động được gán cho máy tính, hãy chạy lệnh ifconfighoặc nhấp chuột phải vào ' applet Trình quản lý mạng ' và nhấp vào thông tin kết nối

nhập mô tả hình ảnh ở đây


2
Tôi đã thử điều này nhưng kết nối chỉ phát điên khi cố gắng kết nối và thất bại mọi lúc. Vấn đề có thể là gì? Tôi đã đặt phương thức IPv4 thành "Được chia sẻ với các máy tính khác"
Severo Raz

0

Ít nhất vào ngày 16.04, bạn có thể thực hiện việc này một cách dễ dàng bằng cách vào cài đặt mạng:

  1. Chỉnh sửa kết nối có dây
  2. Chuyển đến tab IPv4
  3. Chọn Chỉ liên kết cục bộ

Làm điều này trên cả hai máy tính và bạn đã hoàn thành.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.