我已经设法得到openvpn设置,并得到它发出静态内部ips给客户端。 现在我遇到的麻烦是我现在试图分配每个客户端的开放端口,因为他们现在有静态的内部IP它使它很容易准备添加规则。 遇到问题的地方在于如何通过iptables正确执行此操作。
客户端推送的内部静态IP 10.8.0.10例子将是有端口1234转发
我已经试过这个没有运气vpn使用udp和端口1194,但已经尝试了以下规则修改为udp和tcp,并在一起。 请注意vpn已经工作,并有伪装规则,但除此之外,iptables是空的。
iptables -t nat -A PREROUTING -p tcp --dport 1234 -j DNAT --to-destination 10.8.0.10 iptables -A FORWARD -s 10.8.0.10 -p tcp --dport 1234 -j ACCEPT
我也试过10.8.0.1是网关,10.8.0.10是客户端需要端口转发的所有端口
iptables -t nat -A PREROUTING -d 10.8.0.1 -j DNAT --to-destination 10.8.0.10
我试图完成2件事先能够转发每个客户端端口,如果需要的话,如果他们需要所有端口转发静态公共IP。
openvpn server.conf
local 123.123.123.123 #- your_server_ip goes here port 1194 #- port proto udp #- protocol client-config-dir /etc/openvpn/ccd push "route 10.8.0.0 255.255.0.0" ifconfig-pool-persist /etc/openvpn/openvpn.dhcp 30 dev tun tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt cert /etc/openvpn/easy-rsa/2.0/keys/server.crt key /etc/openvpn/easy-rsa/2.0/keys/server.key dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf client-cert-not-required username-as-common-name server 10.8.0.0 255.255.255.0 push redirect-gateway def1 push dhcp-option DNS 8.8.8.8 push dhcp-option DNS 8.8.4.4 keepalive 5 30 comp-lzo persist-key persist-tun status 1194.log verb 3
iptables-save :
# Generated by iptables-save v1.3.5 on Sun Aug 26 14:27:12 2012 *nat :PREROUTING ACCEPT [4834:503608] :POSTROUTING ACCEPT [1000:70847] :OUTPUT ACCEPT [1000:70847] -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j MASQUERADE COMMIT # Completed on Sun Aug 26 14:27:12 2012 # Generated by iptables-save v1.3.5 on Sun Aug 26 14:27:12 2012 *filter :INPUT ACCEPT [21545:23742094] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [14867:1938275] COMMIT # Completed on Sun Aug 26 14:27:12 2012
为我工作得很好。 有几件事要检查:
-A PREROUTING -p tcp -m tcp --dport 1234 -j DNAT --to-destination 10.8.0.10
是你在找什么:)
自己也经历了这个同样的问题
我看到并假设你使用ccd文件推动静态内部IP? 如果是的话,上面的规则应该在编辑到你的iptables的时候工作