linux route路由
网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连
就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。默认网关。默认网关一般填写192.168.x.1
需要特别注意的是:默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址
直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了。永久方法:
- 在/etc/rc.local里添加
- 在/etc/sysconfig/network里添加到末尾
命令格式
# route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
# route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]
-net:路由为一个网域
-host:连接到主机的路由
dev:指定由哪一块网卡连线出去
-f:清除所有不是主路由(网掩码为 255.255.255.255 的路由)、环回网络路由(目标为 127.0.0.0,网掩码为 255.255.255.0 的路由)或多播路由(目标为 224.0.0.0,网掩码为 240.0.0.0 的路由)的条目的路由表
例子
# route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
# route add -host 192.56.76.11 gw 192.168.2.16
-net:必须指定netmask。否则报”Invalid argument”错误
gw:指定下一跳地址
Flags
- U (route is up):该路由是启动的
- H (target is a host):目标是一主机 (IP) 而非网域
- G (use gateway):需要透过外部的主机 (gateway) 来转递封包
- R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标
- D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由
- M (modified from routing daemon or redirect):路由已经被修改了
- ! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)
- A (installed by addrconf)
- C (cache entry)
配置路由
比如,你的主机处于192.168.10.0/24,而你想访问192.168.20.0/24网的主机,当然你知道一个网关IP,例如192.168.10.1(必须和你主机处于同一子网)
# route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.10.1
路由表
Destination Gateway Genmask Flage Metric Ref Use Iface
192.168.100.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.255.255.0 U 0 0 0 l0
default 192.168.100.5 0.0.0.0 UG 0 0 0 eth0
第一行指192.168.100.0网段数据包通过eth0口发出
第三行指其余数据包下一跳为192.168.100.5(默认网关)
重复设定多个同样的路由
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
也就是说,由于路由是依照顺序来排列与传送的,所以不论封包是由那个介面 (eth0, eth1) 所接收,都会由上述的 eth0 传送出去
下达错误指令
# route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254
系统会报”No suck process”错误。要求相连网口必须处于同一网段
因为我的环境内仅有 192.168.10.100 这个 IP ,所以不能与 192.168.200.254这个网段直接使用 MAC 互通
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!