通过另一个网络接口路由 VPN 流量

通过另一个网络接口路由 VPN 流量

我在 Ubuntu 18.04 上设置了 OpenVPN 服务器。客户端连接到 VPN,所有流量都通过 VPN 路由。传出 IP 与客户端连接到的 IP 相同。

现在我在私有子网上添加了另一个网络接口。我希望客户端的传出流量通过该接口路由,以便传出 IP 将是私有子网上 NAT 网关的外部 IP。

我有点不知所措,因为我不知道如何配置路由。如果我只是增加 eth1 的度量以将其置于 eth0 之上,那么我将无法再连接到 VPN 或 SSH 到服务器。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         ip-172-30-0-1.e 0.0.0.0         UG    100    0        0 eth0
default         ip-172-30-10-1. 0.0.0.0         UG    200    0        0 eth1
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
172.30.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
ip-172-30-0-1.e 0.0.0.0         255.255.255.255 UH    100    0        0 eth0
172.30.10.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
ip-172-30-10-1. 0.0.0.0         255.255.255.255 UH    200    0        0 eth1

在此输入图像描述

绿色箭头是我想要实现的目标,红色箭头是现在发生的事情。

答案1

这似乎是非对称路由的问题,我以前在多宿主服务器中遇到过这些问题。您无法再通过 ssh 连接到服务器的原因之一是数据包来自一个接口,但响应通过另一个接口。如果我没记错的话,当向 IP A 发送简单的 ping 时,我收到了来自 IP B 的回复,这与安全协议/应用程序不太兼容。我使用“策略路由”解决了这个问题

那篇文章帮助我做到了这一点: 4.1.简单源策略路由

这是一篇关于多宿主服务器上的非对称路由

相关内容