在 openvpn 中禁用 NAT

在 openvpn 中禁用 NAT

我遇到了类似的问题: 无需 NAT 的 OpenVPN

好像还没有答复。

我的情况描述:我在网络 A 上有一个 openvpn 服务器,这是另一位管理员在离开公司之前安装的,现在有几个用户和服务器连接到该 openvpn 服务器来访问网络 A 并进行 NAT,因此来自 vpn 用户/服务器的所有请求都有来自 openvpn 服务器的源地址。

现在我需要网络 A 上的一个服务器来访问其中一个 openvpn 客户端/服务器,并且想要禁用 openvpn 中的 NAT 以公开这些客户端和服务器的“vpn 内部”IP 地址。

我知道我需要在网络 A 上添加一条路由才能访问 vpn 网络,这对我来说很清楚,但我看不到如何在 openvpn 中禁用 NAT,而且没有 IPtables 规则,因此似乎正在使用某些 openvpn 内部 NAT 机制。

我需要检查哪些选项来禁用 NAT?

答案1

在 OpenVPN 服务器上必须有一条规则,例如

        iptables -t nat -A POSTROUTING -i tun0 -j MASQUERADE

你可以通过以下方式找到它

      iptables-t nat -L -n -v

您必须取消此规则。

如果像你声称的那样(但你跑了吗?

      iptables -t nat -L -n -v

再次检查是否有 iptables 规则在起作用?),唯一的另一种可能性是 natting 是通过套件完成的iproute2

    cat /etc/iproute2/rt_tables

记下您拥有的表的名称,然后发出

     ip route table TABLE_NAME | grep ^nat

看看是否能找到一些输出。如果能找到,则意味着数据包头已被该iproute2命令重写ip route add nat ..。您需要做的就是删除有问题的路由表。

有两种可能性,特里姆

现在您需要向路由器添加一条规则,以便通过 OpenVPN 服务器 (假设其 IP 地址为 192.168.0.127) 为 OpenVPN 子网 10.0.0.0/24 路由​​数据包。如果路由器是 Linux 机器,则以下命令将执行:

       ip route add 10.0.0.0/24 via 192.168.0.127

大多数路由器(如 Cisco 的)都具有一项Advanced routing功能,可在其 GUI 中找到。您应该使用该功能来指定上述路由。

相关内容