openvpn iptables配置

安装 iptables,写入策略

[root@openvpn ~]# yum -y install iptables iptables-services
[root@openvpn ~]# iptables -t nat -A POSTROUTING -s 17.166.221.0/24 -o ens192 -j MASQUERADE   #NAT
[root@openvpn ~]# systemctl enable iptables.service
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.
[root@openvpn ~]# systemctl start iptables.service
[root@openvpn ~]# iptables -L -n
[root@openvpn ~]# iptables -t nat -L -n

我上面的操作只是单纯的添加了一个 nat,端口没做任何限制,全部开放,如果你的服务器 iptables 已经装好了,而且还有一系列的规则,你的操作就是放行 vpn 端口,添加 NAT,以上两项完成之后看一下现有的规则,看 FORWARD 链,如果发现这一个,就还需要添加 FORWARD 规则。

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

现在是拒绝全部 FORWARD,如果不添加 FORWARD 规则,连接 vpn 之后,不会发现你的电脑断网了,只能访问到提供 vpn 服务的服务器,其他都访问不通,大概酱子。

 

这个问题的解决办法两种,第一种是编辑 iptables 配置文件,删除下面的规则重启 iptables 即可,这个比较简单。

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

第二种就是添加规则了,允许 tun0 网卡进行 FORWARD,两条规则

[root@openvpn ~]# iptables -I FORWARD -i tun0 -j ACCEPT
[root@openvpn ~]# iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@openvpn ~]# iptables -L -n
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited


root@10-9-128-245:~# iptables-save > /etc/iptables-rules    #保存配置
root@10-9-128-245:~# vim /etc/iptables-rules                 #编辑保存的配置文件,不要的删掉
root@10-9-128-245:~# iptables-restore < /etc/iptables-rules   #恢复配置文件

开启转发

[root@openvpn ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1
[root@openvpn ~]# sysctl -p

重启 openvpn,然后 ifconfig 看一下,会多一个 tun0 虚拟网卡

root@10-9-128-245:~# /etc/init.d/openvpn restart
[ ok ] Stopping virtual private network daemon: server.
[ ok ] Starting virtual private network daemon: server.
root@10-9-128-245:~# ifconfig

 

客户端配置

猜你喜欢

转载自www.cnblogs.com/paad/p/10730899.html