从openvpn服务器到客户端的前端

我有一个私人局域网上的服务器(node03)。 我把一个VPN(openvpn)给它上网。 我现在想要从node03到互联网的stream量。 Node03正在监听端口32350上的所有地址。我想将外部(互联网)通信端口10000转发到内部32350.或NAT通信我不确定…

Node03信息

我在这个节点上有几个接口,所以我只粘贴了VPN隧道。

root@Node03:~# ifconfig tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:192.168.255.150 PtP:192.168.255.149 Mask:255.255.255.255 inet6 addr: fe80::42f5:1019:38cc:3aa3/64 Scope:Link UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:685393 errors:0 dropped:0 overruns:0 frame:0 TX packets:395970 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:924362643 (924.3 MB) TX bytes:24261606 (24.2 MB) 

 root@Node03:~# netstat -ap | grep 32350 tcp6 0 0 [::]:32350 [::]:* LISTEN 14583/hyperkube udp6 0 0 [::]:32350 [::]:* 14583/hyperkube 

 root@Node03:~# ip route | grep default default via 192.168.255.149 dev tun0 

OpenVPN服务器信息

一直抛弃我的主要是VPN服务器有一个浮动IP。 所以这是公共IP是别的说111.111.111.111,我猜这是NAT的私人eth0地址的OpenVPN服务器…

 root@NAT:~# ifconfig eth0 Link encap:Ethernet HWaddr de:19:50:38:c0:08 inet addr:10.2.226.209 Bcast:10.2.226.209 Mask:255.255.255.254 inet6 addr: fe80::dc19:50ff:fe38:c008/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:14128574 errors:0 dropped:0 overruns:0 frame:0 TX packets:18603623 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:12497066752 (12.4 GB) TX bytes:12444328478 (12.4 GB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:3805 errors:0 dropped:0 overruns:0 frame:0 TX packets:3805 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:479072 (479.0 KB) TX bytes:479072 (479.0 KB) tun443 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:192.168.255.1 PtP:192.168.255.2 Mask:255.255.255.255 inet6 addr: fe80::db8e:53d5:afce:b3f8/64 Scope:Link UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:339 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 B) TX bytes:16272 (16.2 KB) tun1194 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:192.168.255.129 PtP:192.168.255.130 Mask:255.255.255.255 inet6 addr: fe80::b13e:ea25:322b:520a/64 Scope:Link UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:4603829 errors:0 dropped:0 overruns:0 frame:0 TX packets:7124211 errors:0 dropped:29499 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:368522813 (368.5 MB) TX bytes:8452456627 (8.4 GB) 

 root@NAT:~# ip route default via 10.2.226.208 dev eth0 10.2.226.208/31 dev eth0 proto kernel scope link src 10.2.226.209 192.168.255.0/25 via 192.168.255.2 dev tun443 192.168.255.2 dev tun443 proto kernel scope link src 192.168.255.1 192.168.255.128/25 via 192.168.255.130 dev tun1194 192.168.255.130 dev tun1194 proto kernel scope link src 192.168.255.129 

现在,如果我从OpenVPN服务器curl到端口32350上的node03私有VPN地址(192.168.255.150),它工作正常。 我现在想能够从连接到OpenVPN服务器的浮动公共IP 111.111.111.111中做同样的事情。 我想我需要在OpenVPN服务器上的端口10000上将所有发往eth0的stream量转发到192.168.255.146:32350(node03),但是我也可能需要DNAT和SNAT。

如果你需要完整的路线表或更多的信息,如地铁等,请让我知道。

谢谢,列维

编辑

这工作了大约30分钟,停下来…令人费解,我知道。

 root@NAT:~# iptables -A FORWARD -i eth0 -o tun1194 -p tcp --syn --dport 10000 -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT root@NAT:~# iptables -A FORWARD -i eth0 -o tun1194 -p udp --dport 10000 -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT root@NAT:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10000 -j DNAT --to-destination 192.168.255.150:32350 root@NAT:~# iptables -t nat -A PREROUTING -i eth0 -p udp --dport 10000 -j DNAT --to-destination 192.168.255.150:32350 root@NAT:~# iptables -t nat -A POSTROUTING -o tun1194 -p tcp --dport 32350 -j SNAT --to-source 192.168.255.129 root@NAT:~# iptables -t nat -A POSTROUTING -o tun1194 -p udp --dport 32350 -j SNAT --to-source 192.168.255.129 

它仍然不起作用

 root@NAT:~# curl 10.2.226.209:10000 curl: (7) Failed to connect to 10.2.226.209 port 10000: Connection refused 

但从外部IP:10000,所以我很高兴=)

所以它停止工作,是的我保存了规则,并没有VPN服务器没有停止,没有客户端已经改变了IP的或任何东西。