1.Linux路由表
1.1 路由表构成
目的网络:表示数据包要到达的目标网络地址段。
下一跳:表示数据包在到达目标网络之前需要经过的下一个路由器的地址。如果目标地址是一个局域网地址,则下一跳将指向与该局域网相连的路由器。
子网掩码:用于将IP地址分为网络地址和主机地址两部分,帮助路由器区分网络地址和主机地址,以便进行路由选择和数据包路由。
接口:表示数据包离开Linux主机时所使用的网络接口。每个接口都有一个唯一的标识符,用于标识该接口。
route -n #查看路由表信息
例如:
[root@fedora ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 10.100.0.1 0.0.0.0 UG 600 0 0 wlp0s20f3
8.219.61.76 10.100.0.1 255.255.255.255 UGH 0 0 0 wlp0s20f3
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
10.100.0.0 0.0.0.0 255.255.252.0 U 600 0 0 wlp0s20f3
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
1.2 设置路由表
主要在连接vpn时,在不关闭vpn的情况下连接内网设备。
方法:
- 1.查看网络接口,ifconfig命令查看,tun0是vpn,wlp0s20f3是wifi连接:
[root@fedora ~]# ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 3186817 bytes 323782902 (308.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3186817 bytes 323782902 (308.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.8.0.8 netmask 255.255.255.0 destination 10.8.0.8
inet6 fe80::3d13:4b06:7aa0:453b prefixlen 64 scopeid 0x20<link>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 38650 bytes 24933558 (23.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 36688 bytes 8833144 (8.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp0s20f3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.100.2.207 netmask 255.255.252.0 broadcast 10.100.3.255
inet6 fe80::9fd0:406:38cb:8da8 prefixlen 64 scopeid 0x20<link>
ether 98:8d:46:10:5e:69 txqueuelen 1000 (Ethernet)
RX packets 11455600 bytes 9320170526 (8.6 GiB)
RX errors 0 dropped 35041 overruns 0 frame 0
TX packets 5520381 bytes 1327831962 (1.2 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 2.将内网网段设为wifi对应网络接口
sudo ip route add 192.168.1.0/24 via 192.168.1.1 dev wlp0s20f3
# 参数解释,使用ip route命令在wlp0s20f3添加192.168.1.0/24,下一跳为192.168.1.1
现在在使用vpn的情况下ping 192.168.1.1可以联通。
- 3.删除路由
#删除路由
#要删除一条路由,可以使用 ip route del 命令。你需要指定足够的信息来唯一标识要删除的路由。
#例如,要删除上面添加的路由(如果它存在的话),可以使用:
sudo ip route del 192.168.1.0/24 via 192.168.1.1 dev wlp0s20f3
2.Windows
路由表构成基本相似,但网络接口需要通过:
route print
查看,并且在设置时需要管理员权限。
如接口列表:
===========================================================================
接口列表
9...........................OpenVPN Data Channel Offload
20...........................Wintun Userspace Tunnel
41...00 15 5d 66 43 4f ......Hyper-V Virtual Ethernet Adapter
添加到41接口:
route add 172.22.80.0 mask 255.255.240.0 172.22.80.1 if 41 -p
#参数:对41接口添加172.22.80.0/20网段,下一跳:172.22.80.1,-p 与 ADD 命令结合使用时,将路由设置为
在系统引导期间保持不变。默认情况下,重新启动系统时,
不保存路由。忽略所有其他命令,
这始终会影响相应的永久路由。
删除:
route delete 172.22.80.0