控制OpenVPN的公开可见的IP地址

我想用两个独立的IP地址来分隔主机上的服务。 一个IP只能用于OpenVPN,并将作为连接到其他服务器的网关。 在另一个知识产权所有types的服务正在服务。

# /etc/network/interfaces auto eth0 iface eth0 inet static address 123.245.100.147 netmask 255.255.255.240 gateway 123.245.100.145 up ip addr add 123.245.100.148/28 dev eth0 ### OpenVPN IP auto eth0:1 iface eth0:1 inet static address 192.168.10.2 netmask 255.255.255.0 

我现在遇到的问题是我无法更改公开可见的OpenVPN IP地址。 OpenVPN侦听123.245.100.147,但主机显然是使用123.245.100.148出站stream量。

 # Extract from /etc/openvpn/server.conf # Which local IP address should OpenVPN # listen on? (optional) local 123.245.100.147 [...] # opened ports root@srv02 /etc/openvpn $ netstat -tulpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2425/mysqld tcp 0 0 123.245.100.148:80 0.0.0.0:* LISTEN 10386/apache2 tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 13836/proftpd: (acc tcp 0 0 123.245.100.148:22 0.0.0.0:* LISTEN 10170/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2868/exim4 tcp6 0 0 ::1:25 :::* LISTEN 2868/exim4 udp 0 0 123.245.100.147:1194 0.0.0.0:* 12477/openvpn 

连接到OpenVPN根本不是问题。 我想要做的是连接到123.245.100.147,并使用123.245.100.147作为源地址到其他目的地,而其他服务在123.245.100.148上侦听。 在123.245.100.148上运行的服务的传出IP无关紧要。

但是现在的情况是,客户端连接到123.245.100.147,但外部可见的地址是123.245.100.148。

谢谢你的帮助。

正如iptables -nLiptables -nL我确实没有看到iptables -nL

 root@srv02 ~ $ iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 

但是,用iptables-save显示所有应用规则确实显示了问题。

 root@srv02 ~ $ iptables-save # Generated by iptables-save v1.4.14 on Wed Apr 22 23:30:08 2015 *filter :INPUT ACCEPT [221621:230332072] :FORWARD ACCEPT [130716:101992043] :OUTPUT ACCEPT [253503:132488010] COMMIT # Completed on Wed Apr 22 23:30:08 2015 # Generated by iptables-save v1.4.14 on Wed Apr 22 23:30:08 2015 *nat :PREROUTING ACCEPT [1370874:86580150] :INPUT ACCEPT [1025247:61032269] :OUTPUT ACCEPT [1408751:103150160] :POSTROUTING ACCEPT [1408759:103150991] -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 123.245.100.148 COMMIT # Completed on Wed Apr 22 23:30:08 2015 

你的防火墙是什么样的? OpenVPN与路由的VPN客户端的传出数据包的源地址没有任何关系。 你几乎可以肯定在你的iptables /防火墙configuration中有一些SNAT / MASQ规则。 你需要改变这一点。 或者为您的OpenVPN客户添加一个额外的规则。 OpenVPN侦听的端口与路由VPN通信无关。