bảng tuyến được phân tích theo thứ tự nào?


19

Trên máy tính của tôi, tôi phải theo bảng định tuyến:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0

Tôi không hiểu nó được phân tích như thế nào, ý tôi là từ trên xuống hay từ dưới lên?

Nếu nó được phân tích từ trên xuống thì mọi thứ sẽ luôn được gửi đến bộ định tuyến trong nhà tôi mặc dù đích ip là 192.168.1.15; nhưng điều tôi biết (sai?) là nếu một máy tính nằm trong cùng mạng cục bộ của tôi thì một khi tôi đã phục hồi đích MAC thông qua tin nhắn quảng bá thì máy tính của tôi có thể gửi tin nhắn trực tiếp đến đích.

Câu trả lời:


19

Bảng định tuyến được sử dụng theo thứ tự cụ thể nhất đến ít cụ thể nhất.

Tuy nhiên, trên linux, nó phức tạp hơn bạn tưởng. Thứ nhất, có nhiều hơn một bảng định tuyến và khi nào bảng định tuyến được sử dụng phụ thuộc vào một số quy tắc.

Để có được hình ảnh đầy đủ:

$ ip rule show
0:  from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default

$ ip route show table local
broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1 
local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1 
local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1 
broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1 
broadcast 192.168.0.0 dev eth0  proto kernel  scope link  src 192.168.1.27 
local 192.168.1.27 dev eth0  proto kernel  scope host  src 192.168.1.27 
broadcast 192.168.1.255 dev eth0  proto kernel  scope link  src 192.168.1.27 

$ ip route show table main
default via 192.168.1.254 dev eth0 
192.168.0.0/23 dev eth0  proto kernel  scope link  src 192.168.1.27 

$ ip route show table default

$

Các localbảng là bảng định tuyến đặc biệt có chứa các tuyến đường kiểm soát ưu tiên cao cho các địa chỉ địa phương và phát sóng.

Các mainbảng là bảng định tuyến bình thường có chứa tất cả tuyến bay chính sách. Đây cũng là bảng bạn có thể xem nếu bạn chỉ thực hiện ip route show(hoặc ip roviết tắt). Tôi khuyên bạn không nên sử dụng routelệnh cũ nữa, vì nó chỉ hiển thị mainbảng và định dạng đầu ra của nó là hơi cổ xưa.

Bảng defaulttrống và được dành riêng để xử lý hậu kỳ nếu các quy tắc mặc định trước đó không chọn gói.

Bạn có thể thêm các bảng của riêng bạn và thêm các quy tắc để sử dụng các bảng trong các trường hợp cụ thể. Một ví dụ là nếu bạn có hai kết nối internet, nhưng một máy chủ hoặc mạng con phải luôn được định tuyến thông qua một kết nối internet cụ thể.

Cuốn sách Chính sách định tuyến với Linux giải thích tất cả điều này một cách chi tiết.


Có cách nào để thay đổi ưu tiên đó?
Mheni

4

Bảng định tuyến thường được áp dụng theo thứ tự từ "cụ thể nhất" đến "ít cụ thể nhất". Một đích đến 0.0.0.0với một mặt nạ mạng 0.0.0.0, tức là tuyến đường mặc định của bạn , là ít cụ thể nhất có thể và do đó sẽ luôn được áp dụng sau cùng.

Nếu bạn có địa chỉ MAC cho một PC khác trên mạng cục bộ của bạn, nhưng đó là trên một mạng con khác, bạn có thể thêm một tuyến máy chủ cụ thể cho PC đó và bạn có thể sẽ có được giao tiếp.


s / thường / luôn luôn /. Đó là điều khá cơ bản đối với cách thức hoạt động của các bảng định tuyến.
Celada

1
@Celada Tôi đã bỏ qua đề cập đến các số liệu cho các tuyến đường "cụ thể". Và sau đó có chính sách định tuyến. Ít nhất, tôi thường đứng bên cạnh .
roaima
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.