แก้ไข: เส้นทางไม่สามารถโฮสต์บน Ubuntu ด้วยเครือข่ายหลายแห่ง
เมื่อคุณมีการตั้งค่าเครือข่ายที่ซับซ้อนน่าหงุดหงิดที่จะ ไม่มีเส้นทางไปยัง Host เริ่มปรากฏขึ้นหลังจากเพิ่มอินเทอร์เฟซใหม่ นี่เป็นเพราะเส้นทางเริ่มต้นถูกเปลี่ยนหรือลดลง
เมื่อต้องการตรวจสอบเส้นทางเริ่มต้นของคุณให้ป้อน
การแสดงเส้นทาง ip
ดังที่แสดงไว้ข้างต้นฉันมีอินเทอร์เฟซทางกายภาพสามทางซึ่งหันหน้าไปทางด้านนอกและสองไปยังเครือข่ายภายใน เส้นทางเริ่มต้นลดลงในเครือข่ายเมื่อมีการรีเซ็ตการเชื่อมต่อทำให้เครือข่ายที่เหลือทำงานได้ตามปกติโดยมีเพียงเครื่องนี้เท่านั้นที่ไม่ทราบว่าจะไปที่อินเทอร์เน็ต
สำหรับเครื่องที่สามารถเข้าถึงอินเทอร์เน็ตได้จำเป็นต้องมีเส้นทางเริ่มต้นซึ่งสามารถเพิ่มได้ด้วยคำสั่งต่อไปนี้
เส้นทาง sudo ip เพิ่มค่าเริ่มต้นผ่าน 136.63.176.1
หากคุณมีปัญหานี้เกิดขึ้นมากกว่าหนึ่งครั้งหรือสองครั้งอาจทำให้เกิดความรำคาญได้ดังนั้นฉันจึงได้เขียนสคริปต์เชลล์เพื่อแก้ไขสถานการณ์ได้อย่างรวดเร็ว
สคริปต์แรกจะดึง ip ปัจจุบันของคุณให้คุณ ฉันมีชุด INTF $ เป็น STDIN แล้วเปลี่ยนเป็นอินเทอร์เฟซเฉพาะของคุณหากคุณไม่ต้องการป้อนชื่ออินเทอร์เฟซ
ใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบฉันชอบ vim และมีโฟลเดอร์ต้นทางในไดเร็กทอรีโฮมของฉัน
mkdir ~ / src && cd ~ / src
vim getip.sh
#! / bin / ทุบตี
#fetch ip address set สำหรับอุปกรณ์ที่กำหนด
INTF = $ {1}
PTH = (~ / src /)
ประกาศ TMP_IP2
TMP_IP2 = $ (ip a | grep $ {INTF} | grep inet | ตัด -d -f6 | ตัด -d / -f1> $ {PTH} ปัจจุบัน _ $ {INTF} .ip)
ip a | grep $ {INTF} | grep inet | ตัด -d -f6 | ตัด -d / -f1 | ตัด -d -f1-3 | awk '{print $ 0 ".0 / 24"}'> $ {PTH} net _ $ {INTF} .ip
ip a | grep $ {INTF} | grep inet | ตัด -d -f6 | ตัด -d / -f1 | ตัด -d -f1-3 | awk '{print $ 0 ".1"}'> $ {PTH} gw _ $ {INTF} .ip
ประกาศ TMP_IP
TMP_IP = $ (แมว $ {PTH} ปัจจุบัน _ $ {INTF} .ip)
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่echo ปัจจุบัน wan ip $ TMP_IP
บันทึกและออกให้ปฏิบัติและทดสอบ
sudo chmod a + x getip.sh
bash getip.sh eth0.2
สมมติว่าทำงานอย่างถูกต้องสำหรับคุณไปข้างหน้าและคัดลอกลงใน / usr / local / bin / เพื่อให้ทั่วโลกปฏิบัติการ
sudo cp getip.sh / usr / local / bin / getip
ตอนนี้ฉันสามารถพิมพ์ getip eth0.2 และ ip จะถูกส่งกลับ
สคริปต์ที่สองจะกำหนดเส้นทางดีฟอลต์เช่นเดียวกับการเรียกใช้สคริปต์แรก
vim setip.sh
#! / bin / ทุบตี
getip $ {1}
#fetch ip address set สำหรับอุปกรณ์ที่กำหนด
PTH = (~ / src /)
ประกาศ RT_IP
RT_IP = $ (cat $ {PTH} gw _ $ {1} .ip)
ip เริ่มต้นเปลี่ยนเส้นทางผ่าน $ RT_IP
เส้นทาง ip เพิ่มค่าเริ่มต้นผ่านทาง $ RT_IP
เส้นทางของ echo ip - ค่าเริ่มต้นผ่านทาง $ RT_IP
บันทึกและออก คุณอาจสังเกตเห็นว่าฉันมีทั้งการเปลี่ยนแปลงและเพิ่มเส้นทางเริ่มต้นนี่เป็นโอกาสที่คุณมีเกตเวย์ผิด
sudo chmod a + x setip.sh
sudo setip.sh eth0.2
คุณสามารถตรวจสอบตารางเส้นทางอีกครั้งเพื่อตรวจสอบว่าทั้งหมดเป็นสิ่งที่ดี
เส้นทาง sudo ip route show
คุณสามารถคัดลอกสคริปต์ลงใน / usr / local / bin / หากต้องการให้ไฟล์เหล่านี้สามารถใช้งานได้ทั่วโลก ยังคงต้องใช้ sudo เนื่องจากคุณกำลังปรับเปลี่ยนและเชื่อมต่อ
sudo cp setip.sh / usr / local / bin / setip
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่