Linux 中的静态路由(作为路由器)

Linux 中的静态路由(作为路由器)

目前我有一台物理 Linux 机器 (Centos7),有两个物理接口。在 eth0 接口上,我有 3 个虚拟接口 - eth0.66、eth0、67、eth0.99(vlan 接口)。wlan0 是内部 WAN 上行链路。tun0 是通过 SSL 站点到站点隧道创建的。我已在内核中启用了 ipv4 转发。

截至目前,默认路由表如下所示:

0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1004   0        0 eth0.66
169.254.0.0     0.0.0.0         255.255.0.0     U     1005   0        0 eth0.67
169.254.0.0     0.0.0.0         255.255.0.0     U     1006   0        0 eth0.99
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
192.168.2.0     192.168.60.65   255.255.255.0   UG    0      0        0 tun0
192.168.6.0     192.168.60.65   255.255.255.0   UG    0      0        0 tun0
192.168.7.1   0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.7.128  0.0.0.0         255.255.255.192 U     0      0        0 eth0.99
192.168.7.192  0.0.0.0         255.255.255.224 U     0      0        0 eth0.66
192.168.7.224  0.0.0.0         255.255.255.224 U     0      0        0 eth0.67

我正在尝试强制来自 192.168.7.224/27 网络的所有流量通过隧道,并使用 192.168.7.1 作为默认网关(192.168.7.1 是 VPN 服务器端防火墙的网关,也是我控制的)。

我尝试创建一个新的路由表(在 etc/iproute2/rt_tables 中) - 并添加适当的规则(目前在运行时而不是通过脚本,但我知道如何执行此操作以实现持久路由)。

from all to 192.168.7.224/27 lookup custom
from 192.168.7.224/27 lookup custom

然后是路由表:

default via 192.168.7.1 dev tun0

此时,一切都崩溃了……ping 停止工作,eth0.67 网络上的互联网失败,等等。我如何才能正确获取此路由?这可能是一个愚蠢的问题,但内核路由表是否会被完全忽略,我是否需要写入 SSL VPN 正在推送的所有其他路由?(192.168.2.0 和 6.0 路由来自 SSL OPENVPN 配置)。

答案1

找到解决方案:需要再添加一条路由 192.168.7.224/27 dev eth0.67 src 0.0.0.0 table custom。

其他路由仍然存在,因此无需重复添加它们。(针对 192.168.6.0 和 192.168.2.0 网络)。

PS-感谢您的反对!

相关内容