我将把静态IP从VPS路由到我的OpenWRT路由器。它们与OpenVPN连接--服务器是10.8.0.1,路由器是10.8.0.6。例如,我的公共IP是1.1.1.1,所有通信量都应该转到10.8.0.6,但是我的路由器必须将答案发送给服务器,因为我的OpenWRT的默认路由是我的adsl调制解调器。所以我只想把流量路由到1.1.1.1,然后通过VPN给出这些包的答案。
我尝试过几种防火墙配置,主要是这样的:NAT是否在数据包中重写源IP? --但它不起作用。使用我的主路由器上的tcpdump,原来的发件人IP是可见的。所有的流量首先到VPS,它有两个IP。这是一个KVM盒,我有完全的根访问权,甚至可以使用iptables。首先,通过vpn将所有流量路由到1.1.1.1到我的主路由器:
iptables -t nat -A PREROUTING -d 1.1.1.1/32 -j DNAT --to-destination 10.8.0.6到目前为止,这是可行的;来自另一台服务器的1.1.1.1的点击将在我的主路由器上到达tun0。但问题是,ICMP应答通过eth0和ADSL调制解调器离开了我的路由器,因为ping的发送方(84.200.34.2XX)不适合任何路由,因此采用了默认路由。我能做什么,任何包的源到10.8.0.6将被重写到服务器IP,10.8.0.1,而服务器将把每个包发送到原始源?
tl;dr:
因此,我希望我的主路由器上的所有传入流量不是来自原始源IP,而是来自OpenVPN服务器(10.8.0.1),因为OpenWRT有一个路由,可以通过VPN路由这些包的答案。我的VPS必须再次编辑anwer包,以便源IP为1.1.1.1。我不能通过VPN路由我的所有私有通信量,因为我对VPS有一个流量限制。
有谁能解决这样的问题吗?我整个晚上都在尝试(从4个小时开始),但没有成功。
发布于 2014-10-25 09:59:07
然而,以下是为我所做的:
iptables -t nat -A PREROUTING -d 1.1.1.1/32 -j DNAT --to-destination 10.8.0.6
iptables -t nat -A POSTROUTING -o tun0 -j SNAT --to-source 10.8.0.1https://serverfault.com/questions/639516
复制相似问题