设置如下:我有 1 个在远程位置运行 OpenVPN 的服务器和 1 个本地客户端。该服务器有多个 WAN IPv4 地址。我想使用 OpenVPN 将服务器的一个 WAN IP 地址专用于客户端。也就是说,服务器在专用 IP 上收到的所有内容都应转发(并适当伪装)到客户端;客户端通常应通过隧道设备发送所有内容;服务器应将专用 IP 地址用于客户端发送的所有数据。
这可能吗?我已经启动并运行了 OpenVPN,但我对路由规则感到无能为力。
答案1
您可以执行 NAT 并将 VPN IP 直接映射到 WAN IP(在服务器上):
iptables -t nat -A POSTROUTING -s $WAN_NET/$WAN_NET_SIZE -j SNAT --to-source $WAN_IP
iptables -t nat -A PREROUTING -d $WAN_IP -j DNAT --to-destination $VPN_REMOTE_IP
路由应该是什么样子取决于你想做什么。你可能需要这样的条目(如果还没有的话;在远程客户端上):
ip route add $WAN_NET/$WAN_NET_SIZE via $VPN_PEER_IP
这可以是 OpenVPN 配置的一部分,以便在接口可用时自动设置路由。