linux路由知識入門

千舟1900發表於2024-09-29

博主github page

ip rule 和 ip route

網路包優先匹配 ip rule 中的規則,然後再被轉到相應的 ip table 路由規則處理

ip rule
# output
# 0:      from all lookup local
# 32766:  from all lookup main
# 32767:  from all lookup default

這三條規則是核心建立的
前面的數字代表優先順序
from all代表所有包

ip route show table local
# output
# 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
# local 172.17.0.1 dev docker0 proto kernel scope host src 172.17.0.1

所以所有的網路包都會先在本地路由表(local table)中嘗試匹配路由規則,如果沒有匹配到,就到主路由表(main table),最後是預設路由表(default table)匹配

這就是所謂的策略路由,使用者也可以建立自己的路由策略(ip rule)以及路由表(ip tables)

除錯路由匹配

獲取 ip 匹配到的路由規則

ip route get ip_address
# ip route get 127.0.0.1

新增路由規則

# ip in 192.168.3.0/24 should be routed through mytun network interface
ip route add 192.168.3.0/24 dev mytun

相關文章