在这个 OpenVPN中,他们有这个iptables规则
iptables -A INPUT -i eth1 -p udp --dport 1194 -j ACCEPT iptables -A INPUT -i tun+ -j ACCEPT iptables -A FORWARD -i tun+ -j ACCEPT iptables -A FORWARD -i eth0 -o tun+ -j ACCEPT iptables -A FORWARD -i eth1 -o tun+ -m state --state ESTABLISHED,RELATED -j ACCEPT service iptables save
这是为2个NIC的服务器。
我只有一个网卡。
这个iptables对于只有一个网卡的服务器来说看起来如何?
上面的iptables规则使用这个图:
client ----- (eth1) OpenVPN server (eth0) ----- LAN | | |________________(tun+)__|
所以如果你只有一个网卡,像这样:
client ----- (eth0) OpenVPN server | | |________________(tun+)__|
你可以写下面的iptables规则:
iptables -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT iptables -A INPUT -i tun+ -j ACCEPT
删除最后3个FORWARD链规则。
在你链接的例子中, eth1是外部接口 ,而eth0是LAN接口 。 这些iptables规则使外部的 VPN连接可以访问本地局域网。
如果使用一个单独的eth0 ,一个部分,也许是这样,你不需要它们:
iptables -A INPUT -i eth1 -p udp --dport 1194 -j ACCEPT iptables -A INPUT -i tun+ -j ACCEPT
如果你在iptables中有一个默认的DROP策略(或者你使用软件防火墙接口,你需要允许连接到端口1194)。
也就是说,只有一个以太网接口的VPN需要什么? 或者你在同一个接口上有WAN和LAN IP吗?