![具有用于 VPN 的 IP 和用于正常流量的辅助 IP 的适配器(IP 表)](https://linux22.com/image/741362/%E5%85%B7%E6%9C%89%E7%94%A8%E4%BA%8E%20VPN%20%E7%9A%84%20IP%20%E5%92%8C%E7%94%A8%E4%BA%8E%E6%AD%A3%E5%B8%B8%E6%B5%81%E9%87%8F%E7%9A%84%E8%BE%85%E5%8A%A9%20IP%20%E7%9A%84%E9%80%82%E9%85%8D%E5%99%A8%EF%BC%88IP%20%E8%A1%A8%EF%BC%89.png)
无法弄清楚如何路由我的辅助 IP 以使用具有以下设置的 IP 表“mytable”:
sudo ip route add default via 192.168.1.255 dev enp5s0 table mytable
该表设置在/etc/iproute2/rt_tables
192.168.1.113
我现在尝试使用以下规则将表添加到我的辅助 IP :
sudo ip rule add from 192.168.1.113 table mytable
但是,命令ip -o route get 192.168.1.113
返回:local 192.168.1.113 dev lo table local src 192.168.1.112
我认为这是将辅助 IP 路由回 VPN 隧道。
附加信息:
- 操作系统:Ubuntu 18.04
- 路由器网关、ip和dns:
192.168.1.254
- 主 IP:
192.168.1.112
- LAN 适配器
enp5s0
- VPN 是
tun0
- ip r 返回:
0.0.0.0/1 via 10.8.1.1 dev tun0
default via 192.168.1.254 dev enp5s0 proto dhcp metric 20100
-EXTERNAL_VPN_IP- via 192.168.1.254 dev enp5s0
10.8.1.0/24 dev tun0 proto kernel scope link src 10.8.1.2
128.0.0.0/1 via 10.8.1.1 dev tun0
169.254.0.0/16 dev enp5s0 scope link metric 1000
192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.112 metric 100
192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.113 metric 100
我研究过这个如何让Apache在连接到VPN时通过某个网络接口输出数据包?
我认为我的问题是错误的路由规则,也可能是我的路由器设置。任何帮助我都会很感激。
提前致谢。
答案1
您错误地使用了 ip route get 命令。
正确的命令是ip route get <dst> from 192.168.1.113
,其中<dst>
是某个外部主机的 IP 地址(最好运行 tcpdump 并从转储中获取 IP)。
您的规则是正确的,并且命令应该192.168.1.255 dev enp5s0
从附加表返回路线。