กำหนดค่าการแบ่งปันการเชื่อมต่อด้วยที่อยู่ IP ที่เฉพาะเจาะจง


11

แก้ไข - คำถามที่กระชับมากขึ้น:

เมื่อใช้การแชร์การเชื่อมต่อฉันต้องการให้ผู้จัดการเครือข่ายใช้เครือข่ายย่อย 192.168.254 แทนเครือข่ายย่อย 10.42.0 เป็นไปได้ไหม

พื้นหลัง :

ฉันต้องการแบ่งปันการเชื่อมต่ออินเทอร์เน็ตไร้สายของฉัน (บนแล็ปท็อป Ubuntu) กับ RasPi ที่เชื่อมต่อกับแล็ปท็อปโดยอีเธอร์เน็ต

ทุกอย่างทำงานได้ดีโดยการกำหนดค่า eth0 เป็น "ใช้ร่วมกับคอมพิวเตอร์เครื่องอื่น" (บันทึกไว้ในหลาย ๆ ที่เช่นที่นี่ )

โดยใช้การตั้งค่านี้ที่อยู่ IP ของฉันเมื่อเชื่อมต่อกับ RasPi 10.42.0.1คือ RasPi เลือกที่อยู่อื่นในเครือข่ายย่อยนั้น ทุกอย่างใช้งานได้ดี!

เพราะวิธีการ RasPi มีการกำหนดค่า (การทำงานกับระบบอื่น ๆ หลาย ๆ คน) ผมต้องการที่จะใช้eth0 192.168.254.1หากฉันกำหนดค่า eth0 เพื่อใช้ด้วยตนเอง192.168.254.1: การกำหนดค่า eth0 ด้วยตนเอง

RasPi เชื่อมต่อกับแล็ปท็อปของฉันและฉันสามารถใช้งานsshได้ อย่างไรก็ตามแม้ว่าฉันจะยังคงเห็นการwlan0กำหนดค่าที่ถูกต้องเมื่อใช้งานifconfigฉันไม่สามารถเข้าถึงอินเทอร์เน็ตได้ (สันนิษฐานว่าแล็ปท็อปของฉันกำลังพยายามใช้eth0แทนwlan0)

ฉันกำลังมองหาวิธีที่จะ:

a) ยังคงใช้wlan0เพื่อเข้าถึงอินเทอร์เน็ตเมื่อกำหนดค่า eth0 ด้วยตนเอง

b) บังคับeth0ให้ใช้ที่อยู่ IP เฉพาะเมื่อกำหนดค่าด้วย "ใช้ร่วมกับคอมพิวเตอร์เครื่องอื่น"

ฉันกำลังพยายามตั้งค่าคำแนะนำง่ายๆสำหรับผู้ใช้รายอื่นดังนั้นถ้าเป็นไปได้ฉันจะหลีกเลี่ยงiptables-typeการตั้งค่าด้วยตนเอง


มันยากที่จะทำ ฉันไม่สามารถวางไกด์ได้ที่นี่ในตอนนี้ แต่ฉันจะแก้ไขในภายหลัง ลองที่นี่: howtoforge.com/linux-basics-set-a-static-ip-on-ubuntu
TheWanderer

คำตอบ:


15

ในรุ่นก่อน 1.4.2, 10.42.0.x เป็นฮาร์ดโค้ดลง NetworkManager ลืมเกี่ยวกับโซลูชันที่ใช้ GUI หรือรอจนกว่าการร้องขอบั๊ก / คุณสมบัติจะได้รับการแก้ไข หรือแก้ไขด้วยตนเองสำหรับเราทุกคน หรืออย่างน้อยก็ลงคะแนนบั๊กบน launchpad เพื่อความคมชัดที่เร็วขึ้น

อัปเกรดเป็น Ubuntu 17.04 ด้วยเวอร์ชัน 1.4.4 หรือใช้คำสั่งต่อไปนี้จากThomas Hallerเพื่อตั้งค่า IP โฮสต์และคลาส

nmcli connection modify $CONNECTION_ID +ipv4.addresses 192.168.5.1/24

ซึ่งหากพบว่าผ่าน$CONNECTION_ID หลังจากนั้นตรวจสอบกับnmcli connection shownmcli connection show $CONNECTION_ID


1
เห็นได้ชัดว่าข้อผิดพลาดได้รับการแก้ไขเมื่อวันที่ 14 กันยายน 2559! ตอนนี้มันเป็นไปได้ที่จะกำหนดค่าผ่านทาง GUI แต่มันจะใช้เวลาสำหรับสิ่งนี้ที่จะไหลลงสู่การเปิดตัวของหลักสูตร
hoijui

ปัญหานี้ได้รับการแก้ไขในเครือข่าย - ผู้จัดการ 1.4.2 Ubuntu 17.04 มี 1.4.4 ฉันขอให้ Canonical นำ backport นี้ไปที่ 16.04 LTS bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1098362/ …
ลู

แล้วเราจะทำยังไงกับเวอร์ชั่นใหม่?
สิงห์

0

การกำหนดค่าของคุณมีปัญหาพื้นฐาน เกตเวย์ของคุณถูกตั้งค่าเป็นที่อยู่ IP เดียวกับที่อยู่ IP ในเครื่องของคุณ

ภาพกราฟิก: Raspi: เชื่อมต่อกับ 10.0.0.5 Raspi: ไม่ได้อยู่ในเครือข่ายย่อยของฉันส่งไปยังเกตเวย์ Raspi ได้รับคำขออีกครั้งและตอบกลับด้วยข้อความเดียวกัน

คำถามของคุณค่อนข้างสับสน แต่ดูเหมือนว่าแล็ปท็อปของคุณควรมี IP เช่น 192.168.254.2

คุณจะต้องตั้งค่าการแปลที่อยู่เครือข่ายบนแล็ปท็อป

ฉันคิดว่ามันจะดีกว่าถ้าคุณเชื่อมต่อสองอินเทอร์เฟซดังนั้น raspi จะใช้ wifi ของแล็ปท็อปในการสื่อสารอย่างมีประสิทธิภาพ บนแล็ปท็อปของคุณให้ทำ:

sudo -i

สิ่งนี้ทำให้คุณรูต

apt-get update
apt-get install bridge-utils
brctl addbr br0
brctl addif br0 wlan0
brctl addif br0 eth0
ifconfig br0 10.42.0.1
ifconfig br0 netmask 255.0.0.0
ifconfig br0 up

Ctrl-D เพื่อออกจากรูท

ใน raspi (เชื่อมต่อกับ eth0):

sudo ifconfig eth0 10.42.0.2
sudo ifconfig eth0 netmask 255.0.0.0
sudo ifconfig eth0 up
echo 'nameserver 8.8.8.8'>/etc/resolv.conf
ping 10.42.0.1
ping 8.8.8.8
ping fb.com

คำสั่งสามคำสั่งสุดท้ายจะแสดงประเภทของการเข้าถึงเครือข่ายที่คุณมี:

  • ถ้าเพียงผ่านครั้งแรก: เครือข่ายท้องถิ่น
  • ถ้ามากถึงครั้งที่สอง: การเข้าถึงอินเทอร์เน็ต
  • ถ้าผ่านทั้งหมด: การเข้าถึงอินเทอร์เน็ตด้วย DNS

ฉันไม่แน่ใจว่าคุณหมายถึงอะไรเกี่ยวกับเกตเวย์ / ที่อยู่ของฉัน เมื่อฉันแบ่งปันการเชื่อมต่อแล็ปท็อปของฉันไม่เป็นเกตเวย์สำหรับ RasPi หรือไม่ ในการกำหนดค่าด้วยตนเองที่ฉันแสดงใน OP, RasPi หยิบ 192.168.254.100 - ฉันไม่มีปัญหาในการสื่อสารเนื่องจากเครือข่ายย่อยต่างกัน
Jake

วิธีที่ดีกว่าในการใช้ถ้อยคำคำถามอาจจะ: เมื่อแบ่งปันการเชื่อมต่อของฉันฉันต้องการให้ผู้จัดการเครือข่ายใช้เครือข่ายย่อย 192.168.254 แทนเครือข่ายย่อย 10.42.0
jake

@jake แล็ปท็อปของคุณเป็นประตูแน่นอน ขออภัยฉันเข้าใจคำถามผิดเล็กน้อยฉันเห็นปัญหาในตอนนี้ คุณสามารถทำroute -nเหมือนรูท ( sudo su) จากนั้นทำroute del default gw 192.168.254.1 dev eth0หรือเพื่อให้แม่นยำยิ่งขึ้นคุณจะใช้ข้อมูลจากroute -nการกรอกคำสั่ง del ดังนั้นroute del default gw <gateway> dev <Iface>
Wilhelm Erasmus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.