ฉันจะสร้างเครือข่ายคอมพิวเตอร์ Ubuntu สองเครื่องเพื่อให้พวกเขาสามารถ "เห็น" ซึ่งกันและกันที่ที่อยู่ IP ได้อย่างไร
ฉันจะสร้างเครือข่ายคอมพิวเตอร์ Ubuntu สองเครื่องเพื่อให้พวกเขาสามารถ "เห็น" ซึ่งกันและกันที่ที่อยู่ IP ได้อย่างไร
คำตอบ:
หากคุณใช้คอมพิวเตอร์สองเครื่องที่ไม่มีเราเตอร์เพื่อเชื่อมต่อ ในการเชื่อมต่อคอมพิวเตอร์กับร่างกายคุณจะต้องใช้สวิตช์ฮับหรือสายเคเบิลครอสโอเวอร์ (*) จากนั้นคุณจะต้องกำหนดที่อยู่ IP ด้วยตนเองในช่วงเดียวกัน
ใน Ubuntu นี่ง่ายมาก คลิกขวาที่แอปเพล็ตผู้จัดการเครือข่ายในส่วนที่คุณต้องทำในคอมพิวเตอร์ทั้งสองเครื่อง
ใส่ที่อยู่ mac ของอินเทอร์เฟซที่คุณจะกำหนดค่า คำสั่ง ifconfig สามารถแสดงให้คุณเห็นว่าที่อยู่ mac คืออะไร:
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:30:1b:b9:53:94
2.1 ใน Linux เวอร์ชั่นใหม่กว่าชื่อการ์ดเครือข่ายได้เปลี่ยนไป wlp2s0
, enp1s0
. มองหาบางอย่างที่มีชื่อคล้ายกับen
อีเธอร์เน็ต / 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
= ที่อยู่
link/ether 84:ef:18:7b:cd:39
mac = ที่อยู่ mac
ตัวอย่างสำหรับคอมพิวเตอร์ A
address | netmask | gateway
10.0.0.1 | 255.255.255.0 |
ตัวอย่างสำหรับคอมพิวเตอร์ B
address | netmask | gateway
10.0.0.2 | 255.255.255.0 |
ดูว่าคุณสามารถ ping ซึ่งกันและกัน
จากคอมพิวเตอร์ 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
จากคอมพิวเตอร์ 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
หมายความว่าทุกอย่างทำงานได้
(*) คอมพิวเตอร์ที่ทันสมัยส่วนใหญ่สามารถใช้สายเคเบิลปกติแทนครอสโอเวอร์ คอมพิวเตอร์เก่าบางรุ่นจะต้องใช้สายเคเบิลแบบไขว้
ตัวอย่างบรรทัดคำสั่งทำให้รวดเร็วและง่าย
ใน Linux เวอร์ชั่นใหม่กว่าชื่อการ์ดเครือข่ายได้เปลี่ยนไป wlp2s0
, enp1s0
. มองหาบางสิ่งที่มีชื่อคล้ายกับen
อีเธอร์เน็ต / wl
ไร้สาย
$ ip a l
2: enp1s0:
3: wlp2s0:
คุณจะต้องอัปเดตคำสั่งด้านล่างเพื่อใช้งานdev enp1s0
อื่น ๆ
บนคอมพิวเตอร์ A
sudo ip ad เพิ่ม 10.0.0.10/24 dev eth0
บนคอมพิวเตอร์ B
sudo ip ad เพิ่ม 10.0.0.20/24 dev eth0
เพื่อทดสอบจาก A ถึง B
ping 10.0.0.20
เพื่อทดสอบจาก B ถึง A
ping 10.0.0.10
โดยมีเงื่อนไขว่าสายเคเบิลกำลังเชื่อมต่อคอมพิวเตอร์สองเครื่องและมีการเปิดใช้งานอินเทอร์เฟซเครือข่ายทั้งสองและเรียกว่า eth0 ซึ่งใช้งานได้ ส่วนที่เหลือของโพสต์นี้คือการช่วยในการแก้ไขปัญหาหากมีปัญหา
10.0.0.xx เป็นที่อยู่ IP ของคอมพิวเตอร์ / 24 บอกคอมพิวเตอร์ว่า 8 บิตสุดท้ายของที่อยู่ IP 32 บิตสามารถเปลี่ยนแปลงได้ มันคล้ายกับว่า netmask 255.255.255.0 การตั้งค่านี้จะกำหนดเส้นทางที่คอมพิวเตอร์ / เครือข่ายใช้งานได้
คุณควรเห็นบางสิ่งที่คล้ายคลึงกับสิ่งนี้โดยใช้
ip เส้นทาง
10.0.0.0/24 dev eth0 proto เคอร์เนลขอบเขตลิงก์ src 10.0.0.20
หากคุณไม่เห็นบางอย่างเช่นข้างต้นในตารางเส้นทาง แต่เห็นบางอย่างเช่นนี้เมื่อคุณใช้โฆษณาไอพี คุณต้องเพิ่มที่อยู่อีกครั้งโดยใช้ / 24 ซับเน็ตไวยากรณ์
ip ad
inet 172.16.1.40/32 ขอบเขต global eth0
สังเกตเห็น / 32 ที่บอกว่าเป็นเครื่องเดียวที่มีอยู่ในเครือข่ายของคอมพิวเตอร์เครื่องเดียว ซึ่งเป็นตัวของมันเอง มาสก์สุทธิ 255.255.255.255 ดังนั้นไม่มีเส้นทางและเครือข่ายไม่ทำงาน
หากต้องการค้นหาอินเทอร์เฟซเครือข่ายที่คุณมีและกำลังทำงาน
# ip ad 1: lo: mtu 16436 qdisc noqueue ลิงก์ / วนรอบ 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 ขอบเขตโฮสต์แท้จริง inet6 :: โฮสต์ขอบเขต 1/128 valid_lft ตลอดกาล Preferred_lft ตลอดกาล 2: eth0: mtu 1,500 qdisc pfifo_fast qlen 1,000 ลิงค์ / อีเธอร์ 46: fd: 51: f9: f5: 2e brd ff: ff: ff: ff: ff: ff: ff inet 172.16.0.186/24 brd 172.16.0.255 ขอบเขต global eth0 inet 172.16.1.10/24 ขอบเขต global eth0 inet 172.16.1.40/32 ขอบเขต global eth0 inet6 fe80 :: 44fd: 51ff: fef9: f52e / 64 การเชื่อมโยงขอบเขต valid_lft ตลอดกาล Preferred_lft ตลอดกาล 3: eth1: mtu 1,500 qdisc noop qlen 1,000 ลิงค์ / อีเธอร์ 72: 3f: 92: eb: a4: cc brd ff: 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
เลือกคอมพิวเตอร์หนึ่งเครื่องเป็นเซิร์ฟเวอร์ หากคอมพิวเตอร์เครื่องหนึ่งมีการเชื่อมต่อกับอินเทอร์เน็ตให้ใช้สิ่งนั้นเป็นเซิร์ฟเวอร์
Edit Connections
บนเซิร์ฟเวอร์คลิกตัวบ่งชี้เครือข่ายและการเลือก เลือกการเชื่อมต่อ Ethernet จากนั้นคลิกที่Edit
ปุ่ม ไปที่IPv4
แท็บและเปลี่ยนMethod
จากการAutomatic (DHCP)
Shared to other computers
เชื่อมต่อคอมพิวเตอร์สองเครื่องเข้าด้วยกันโดยใช้สายอีเธอร์เน็ต คอมพิวเตอร์เครื่องที่สองจะได้รับที่อยู่ IP จากเซิร์ฟเวอร์และเข้าถึงอินเทอร์เน็ต
หากคุณมีฮาร์ดแวร์เก่าคุณอาจต้องตรวจสอบให้แน่ใจว่าสายเคเบิลอีเธอร์เน็ตเป็นสายเคเบิลแบบไขว้ ฮาร์ดแวร์ที่ทันสมัยทำครอสโอเวอร์แบบอัตโนมัติ
ทดสอบบน Ubuntu 14.04 LTS
ด้านล่างเป็นคำตอบของ nelaar ที่อัปเดตแล้วสำหรับ Ubuntu 14.04
ในการเชื่อมต่อคอมพิวเตอร์สองเครื่องโดยไม่มีเราเตอร์คุณจะต้องใช้หนึ่งในสิ่งต่อไปนี้:
คุณจะต้องกำหนดที่อยู่ IP ด้วยตนเองในช่วงเดียวกัน ขั้นตอนต่อไปนี้สมมติว่าคุณกำลังใช้อินเตอร์เฟส Unity มาตรฐาน ทำซ้ำขั้นตอนเหล่านี้สำหรับคอมพิวเตอร์แต่ละเครื่อง
เมื่อติดตั้งแล้วและคอมพิวเตอร์เชื่อมต่อเข้าด้วยกันแล้วลองกระตุกซึ่งกันและกัน
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
คำถามของคุณไม่สั้นนักฉันจะสมมติว่าคุณต้องการคอมพิวเตอร์ Ubuntu 2 เครื่องในเครือข่าย
การเชื่อมต่อคอมพิวเตอร์ Ubuntu 2 เครื่องนั้นง่ายพอเพียงรับสายเคเบิลเครือข่าย (Cat 5e Cross Cable) และเชื่อมต่อคอมพิวเตอร์ทั้งสองเครื่องโดยใช้สายเคเบิลนั้นและ Ubuntu ควรจะได้รับการเชื่อมต่อ" Auto Eth " (Automatic IP) ทั้งสองเครื่อง นี่น่าจะสวยมากที่จะได้คอมพิวเตอร์ Ubuntu 2 เครื่องในเครือข่าย
ในภายหลังหากคุณต้องการดู IP อัตโนมัติที่กำหนดให้กับคอมพิวเตอร์ให้รันคำสั่งifconfig
หรือคลิกขวาที่ ' NetworkManager applet ' และคลิกที่ข้อมูลการเชื่อมต่อ
อย่างน้อยใน 16.04 คุณสามารถทำได้อย่างง่ายดายโดยไปที่การตั้งค่าเครือข่าย:
ทำสิ่งนี้กับคอมพิวเตอร์ทั้งสองเครื่องและเสร็จ