ไม่สามารถลบเส้นทางด้วยเกตเวย์ 0.0.0.0


8

ฉันกำลังพยายามตั้งค่าเส้นทางของฉันในแบบที่จะทำให้ฉันสามารถเชื่อมต่อกับกล่องสาธิต Solum ของ Vagrantได้

ตารางเส้นทางของฉันมี แต่ไม่ จำกัด เฉพาะเส้นทางต่อไปนี้:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0
192.168.76.0    192.168.76.2    255.255.255.0   UG    0      0        0 vboxnet0
192.168.76.0    0.0.0.0         255.255.255.0   U     0      0        0 vboxnet0

ฉันสงสัยว่าเส้นทางที่สาม (สร้างโดยอัตโนมัติเมื่อเริ่มต้นกล่อง Vagrant) กำลังรบกวนเส้นทางที่สอง (สร้างด้วยตนเอง) ดังนั้นฉันจึงพยายามลบ

อย่างไรก็ตามการใช้คำสั่งอย่างใดอย่างหนึ่งต่อไปนี้

$ sudo route del 192.168.76.0 gw 0.0.0.0
$ sudo route del 192.168.76.0

ผลตอบแทน:

SIOCDELRT: No such process

ซึ่งมักจะปรากฏขึ้นเมื่อrouteไม่สามารถหาเส้นทาง

ในทางกลับกันโดยใช้

$ sudo route del 192.168.76.0/24 gw 0.0.0.0
$ sudo route del 192.168.76.0/24

อัตราผลตอบแทน:

route: netmask 000000ff doesn't make sense with host route
Usage: route [-nNvee] [-FC] [<AF>]           List kernel routing tables
(rest of usage)

ผมทำอะไรผิดหรือเปล่า? มีเหตุผลที่ฉันไม่สามารถลบเส้นทางนั้นได้หรือไม่? ฉันคิดผิดที่คิดว่ามันรบกวนการตั้งค่าของฉันหรือไม่?

(ฉันใช้ Ubuntu 14.04+)


2
ปิดด้านบนของหัวของฉัน: route del -net 192.168.76.0ลอง มิฉะนั้นจะคิดว่าคุณกำลังพยายามลบเส้นทางไปยังโฮสต์เดียว
Jos

คุณเพิ่มเส้นทางอย่างไร ดูเหมือนว่าคุณกำลังใช้ vbox ดังนั้นการกำหนดเส้นทางอาจเป็นส่วนหนึ่งของการกำหนดค่า vobx ฉันไม่สามารถบอกได้จากสิ่งที่คุณโพสต์
Panther

เพิ่งอยากรู้อยากเห็น แต่ทำไมคุณถึงกำหนดเส้นทางนั้น สำหรับฉันดูเหมือนว่าเครือข่าย 192.168.76.0/24 เป็นแบบออนไลน์ - ไม่จำเป็นต้องใช้เกตเวย์ แต่เมื่อคุณดูคำแนะนำการตั้งค่าที่คุณเชื่อมโยงคุณจะพบเส้นทางroute add -net 192.168.78.0/24 192.168.76.2ที่เหมาะสมกว่า
Nephente

2
Btw หากเส้นทางสองเส้นทางขึ้นไปตรงกับโฮสต์เส้นทางที่เฉพาะเจาะจงที่สุดจะมีความสำคัญนั่นคือเส้นทางที่มีคำนำหน้ายาวที่สุด เส้นทางโฮสต์คงที่มีคำนำหน้า / 32 และจะเป็นที่ต้องการ เกณฑ์ต่อไป (ปกติ) ขึ้นอยู่กับวิธีการเรียนรู้เส้นทางเช่นแบบคงที่หรือผ่านโปรโตคอลการกำหนดเส้นทางที่เส้นทางบนลิงก์มีลำดับความสำคัญสูงสุดตามด้วยเส้นทางแบบคงที่ตามด้วยเส้นทางแบบไดนามิกที่เรียนรู้ผ่านเช่น OSPF
Nephente

@ เพียงแค่คำตอบของคุณถูกต้อง - หากฉันเพิ่งเพิ่ม/24คำสั่งท้ายคำสั่งก็ใช้งานได้ ขอบคุณ. หากคุณโพสต์คำตอบบางทีด้วยความละเอียดในความสนใจของคนที่จะดูคำถามนี้ในอนาคตฉันจะยอมรับมัน
Dragomok

คำตอบ:


11

หากต้องการลบเส้นทางเดียวออกจากตารางเส้นทางคุณต้องระบุพารามิเตอร์ให้เพียงพอเพื่อให้สามารถจับคู่ที่ไม่ซ้ำกับเส้นทางใดเส้นทางหนึ่งได้

หากคุณต้องการลบซับเน็ตทั้งหมด (เมื่อเทียบกับโฮสต์เดียว) คุณต้องใช้ทั้ง-netแฟล็กและการบ่งชี้ขอบเขตของที่อยู่เครือข่ายเช่นnetmaskพารามิเตอร์ (เช่น 255.255.255.0) หรือจำนวนเช่น / 24 (หมายถึง 24 บิตแรกเป็นหมายเลขเครือข่ายและอีก 8 บิตที่เหลือจะใช้สำหรับโฮสต์) ในกรณีของคุณทั้งสอง

sudo route del -net 192.168.76.0/24

และ

sudo route del -net 192.168.76.0 netmask 255.255.255.0

จะได้ทำงาน

(ขอบคุณ @nephente สำหรับการเพิ่มเติมที่มีประโยชน์)


หรือตามด้วยการระบุอินเทอร์เฟซเช่นdev vboxnet0->sudo route del -net 192.168.76.0 netmask 255.255.255.0 dev vboxnet0
adadion

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.