我目前有一个具有多个外部IP地址的openVPN服务器。
我想所有VPN连接(tun0接口,和/或10.19.88.xx IP范围)将第二个外部IP地址作为“公共IP”,而不是第一个。
作为一个例子,使用虚构地址:
Deault eth0 address: 11.12.13.1 (server.domain.tld) eth0:0 address: 11.12.13.2 (vpn.domain.tld)
所有VPN连接当前使用11.12.13.1,而不是11.12.13.2。
有没有办法解决这个问题(使用iptables?)
谢谢
尝试:
iptables -t nat -A POSTROUTING -s 10.19.88.0/24 -o eth0 -j SNAT --to 11.12.13.2
甚至更好;)
iptables -t nat -A POSTROUTING -s 10.19.88.0/24 -j SNAT --to 11.12.13.2
iptables -t nat -A POSTROUTING -i tun0 -j SNAT --to 11.12.13.2
rkthkr响应的问题(除了接口中怪异的字符),它只会匹配来自10.19.88.0/24子网的数据包,这些数据包已经出去了eth0:0并且正在进行攻击。
通过使用-i tun0 ,你只能通过接口来识别数据包(我认为这是来自tun0的唯一stream量),然后将它们发送到正确的外出IP地址。
同样的问题,iptables -t nat -A POSTROUTING -i tun0 -j SNAT – 到11.12.13.2不能在debian 5上运行
您不能在POSTROUTING中使用“-i interface_name”。
-i interface_name – > PREROUTING(来自数据包的位置)
-o interface_name – > POSTROUTING(到数据包的位置)
使用openvpn选项而不是引入iptables不是更好吗?
当地时间11.12.13.2
捆绑