gongarek Asked: 2019-08-23 05:09:48 +0800 CST2019-08-23 05:09:48 +0800 CST 2019-08-23 05:09:48 +0800 CST 本地服务器上的 Openvpn 客户端 772 我的无头服务器与 VPN 服务器建立了 VPN 连接。如何连接到 VPN 服务器提供的 ip 网站? 我想要的是: 我不想直接连接: 任何意见将不胜感激。 openvpn debian 1 个回答 Voted Best Answer Daniel B 2019-08-23T10:49:07+08:002019-08-23T10:49:07+08:00 既然你表明你不能改变服务器,你必须使用 NAT。这是因为服务器需要知道将响应发送到哪里,并且它只知道 VPN 客户端本身,即您的本地服务器。它不知道可通过 VPN 客户端访问的 PC。 在您的本地服务器上,您需要在 OpenVPN 接口上启用 NAT。这可以通过使用脚本来完成。一种可能的挂钩是--route-up. 记得--script-security适当改变。您需要运行的命令是iptables -t nat -A POSTROUTING -o $THE_OPENVPN_INTERFACE -j MASQUERADE. 由于 IPTables 允许一切都是默认的,进一步的配置是可选的。您可能还应该添加一个--route-pre-down(或类似的)脚本来再次删除 IPTables 规则。 路由可以通过编辑启用/etc/sysctl.conf,net.ipv4.ip_forward需要1。echo 1 > /proc/sys/net/ipv4/ip_forward使更改立即生效。sysctl.conf用于重启后的持久性。 在您的路由器上,您需要设置到目的地(可通过 VPN 访问的网络)的静态路由,网关是您的本地服务器(VPN 客户端)。请注意:因为您与网关位于同一网络上,您的路由器可能会发送重定向。您可能无法更改此行为。您的操作系统必须接受重定向。但首先在没有额外设置的情况下尝试。 您可能希望正确设置本地服务器的防火墙,因为可以访问 VPN 服务器的恶意行为者可能会以其他方式访问您的本地网络。
既然你表明你不能改变服务器,你必须使用 NAT。这是因为服务器需要知道将响应发送到哪里,并且它只知道 VPN 客户端本身,即您的本地服务器。它不知道可通过 VPN 客户端访问的 PC。
在您的本地服务器上,您需要在 OpenVPN 接口上启用 NAT。这可以通过使用脚本来完成。一种可能的挂钩是
--route-up
. 记得--script-security
适当改变。您需要运行的命令是iptables -t nat -A POSTROUTING -o $THE_OPENVPN_INTERFACE -j MASQUERADE
. 由于 IPTables 允许一切都是默认的,进一步的配置是可选的。您可能还应该添加一个--route-pre-down
(或类似的)脚本来再次删除 IPTables 规则。路由可以通过编辑启用
/etc/sysctl.conf
,net.ipv4.ip_forward
需要1
。echo 1 > /proc/sys/net/ipv4/ip_forward
使更改立即生效。sysctl.conf
用于重启后的持久性。在您的路由器上,您需要设置到目的地(可通过 VPN 访问的网络)的静态路由,网关是您的本地服务器(VPN 客户端)。请注意:因为您与网关位于同一网络上,您的路由器可能会发送重定向。您可能无法更改此行为。您的操作系统必须接受重定向。但首先在没有额外设置的情况下尝试。
您可能希望正确设置本地服务器的防火墙,因为可以访问 VPN 服务器的恶意行为者可能会以其他方式访问您的本地网络。