Không thể xóa tuyến đường với cổng 0.0.0.0


8

Tôi đang cố gắng thiết lập các tuyến đường của mình theo cách cho phép tôi kết nối với hộp Solum của bản demo Solum .

Bảng định tuyến của tôi chứa, nhưng không giới hạn ở các tuyến đường sau:

$ 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

Tôi nghi ngờ tuyến thứ ba (được tạo tự động khi khởi động hộp Vagrant) đang can thiệp vào tuyến thứ hai (được tạo thủ công), vì vậy tôi đang cố xóa nó.

Tuy nhiên, sử dụng một trong hai lệnh sau

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

trả về:

SIOCDELRT: No such process

thường bật lên khi routekhông thể tìm thấy tuyến đường.

Mặt khác, sử dụng

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

sản lượng:

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

Tôi đang làm gì sai? Có một lý do tôi không thể loại bỏ tuyến đường đó? Tôi có sai khi cho rằng nó can thiệp vào cái tôi thiết lập không?

(Tôi đang sử dụng Ubuntu 14.04 trở lên).


2
Tắt đầu tôi: cố gắng route del -net 192.168.76.0. Nếu không, nó nghĩ rằng bạn đang cố xóa một tuyến đến một máy chủ duy nhất.
Jos

Làm thế nào bạn thêm tuyến đường? Có vẻ như bạn đang sử dụng vbox, vì vậy việc định tuyến có thể là một phần của cấu hình vobx, tôi không thể biết được những gì bạn đã đăng.
Panther

Chỉ tò mò thôi, nhưng tại sao bạn lại đặt con đường đó? Đối với tôi có vẻ như mạng 192.168.76.0/24 là liên kết - không cần cổng. Nhưng khi bạn xem các hướng dẫn thiết lập mà bạn đã liên kết, bạn sẽ thấy tuyến đường route add -net 192.168.78.0/24 192.168.76.2có ý nghĩa hơn nhiều.
Nepeavere

2
Btw. Nếu hai hoặc nhiều tuyến khớp với một máy chủ, thì ưu tiên cụ thể nhất sẽ được ưu tiên, đó là tuyến có tiền tố dài nhất. Một tuyến máy chủ tĩnh có tiền tố / 32 và sẽ được ưu tiên. Tiêu chí tiếp theo (thông thường) phụ thuộc vào cách tuyến đường được học, ví dụ: tĩnh hoặc thông qua giao thức định tuyến, trong đó các tuyến trên liên kết có quyền ưu tiên cao nhất, tiếp theo là tuyến tĩnh, tiếp theo là các tuyến động được học thông qua OSPF.
Nepeavere

@Jos câu trả lời của bạn hóa ra gần như đúng - nếu tôi chỉ thêm /24vào cuối lệnh, nó sẽ hoạt động. Cảm ơn bạn. Nếu bạn đăng một câu trả lời, có lẽ với một số chi tiết về sự quan tâm của những người sẽ duyệt câu hỏi này trong tương lai, tôi sẽ chấp nhận nó.
Dragomok

Câu trả lời:


11

Để xóa một tuyến đường khỏi bảng tuyến đường, bạn cần chỉ định đủ các tham số để có thể thực hiện khớp khớp duy nhất với một trong các tuyến đường.

Nếu bạn muốn xóa toàn bộ mạng con (trái ngược với một máy chủ duy nhất), bạn cần sử dụng cả -netcờ và một số chỉ dẫn về phạm vi của địa chỉ mạng, tức là netmasktham số (ví dụ: 255.255.255.0) hoặc một số như / 24 (có nghĩa là 24 bit đầu tiên là số mạng và 8 bit còn lại được sử dụng cho máy chủ). Trong trường hợp của bạn, cả hai

sudo route del -net 192.168.76.0/24

sudo route del -net 192.168.76.0 netmask 255.255.255.0

sẽ làm việc

(cảm ơn @nep saoe vì những bổ sung hữu ích)


hoặc theo sau bằng cách chỉ định giao diện, ví dụ dev vboxnet0->sudo route del -net 192.168.76.0 netmask 255.255.255.0 dev vboxnet0
adadion

0

Nhận xét của Jos là gần như đúng:

$ sudo route del -net 192.168.76.0/24 xóa tuyến đường.

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.