windows系统为电脑本地添加路由条目
主要为解决双网卡的内外网访问问题
如,网卡1用于内网访问,路由条目设置所有对内网网段的访问走网卡1的网关;网卡2用于外网访问,设置为默认全部网络0.0.0.0走网卡2的网关
以管理员身份运行cmd
-
打印当前路由表
route print
-
临时增加路由条目(电脑重启后失效)
route add 10.0.0.0 mask 255.0.0.0 10.20.36.254
route add 192.168.0.0 mask 255.255.0.0 10.20.36.254
- 永久增加路由条目(使用 -p 参数,电脑重启后仍然有效)
route add 10.0.0.0 mask 255.0.0.0 10.20.36.254
route add 192.168.0.0 mask 255.255.0.0 10.20.36.254
- 删除已添加的路由条目
route delete 10.0.0.0
route delete 192.168.0.0
- 谨慎使用-f参数
使用-f参数后会清空所有路由条目导致所有网络不通,包括localhost和127.0.0.1的使用
使用route -f之后,只能重置ipv4协议才能恢复
执行命令
netsh int ipv4 reset
然后重启电脑
特殊情况
对于一些特殊情况,例如网卡1为正常使用有自己的网关和DNS,但网卡2只连接特殊的工控网络,这个工控网络只是个简单的二层网络只有ip和掩码没有路由网关DNS,对端可能是一个二层局域网,也可能仅仅就是一台普通电脑
在这种情况下,就需要使用完整的route命令:route [操作命令] [目标网络] [mask 子网掩码地址] [网关地址] [if 网络接口序号]
其中,操作命令、目标网络、子网掩码地址不再赘述
网关地址用的是网卡2上设置的本机ip地址
网络接口序号使用的是网卡2在操作系统里分配的编号
该编号可以用route print命令查看
(这里需要注意的是,if命令后面必须跟编号,而不能跟ip,否则无法添加成功)
例如
网卡1:情况略
网卡2:192.168.80.8/24
现在网卡2接入了一个工控网络192.168.80.0/24
假定网卡2的网络接口序号为10
实现1:要求网卡2与整个工控网络中所有工控机互通
route add 192.168.80.0 mask 255.255.255.0 192.168.80.8 if 10
实现2:要求网卡2仅与工控网络中一台指定的工控电脑192.168.80.4/24互通,与工控网络中其他工控机不互通
route add 192.168.80.4 mask 255.255.255.255 192.168.80.8 if 10
其他
关于什么是“在链路上”
在链路上英文中叫做on-link,表示的是通过二层链路可以直达的路由,其实就是网卡所在的二层网络
简单理解就是网关ip和网卡上设置的本机ip是同一个