当前位置:   article > 正文

在Centos7.6通过Docker搭建OpenVPN_centos7.6防火墙

centos7.6防火墙

1.安装docker,此处省略

2.拉取openvpn镜像

docker pull kylemanna/openvpn:2.4

3.创建openvpn 数据一个目录

mkdir -p /data/openvpn

4.生产配置文件

docker run -v /data/openvpn:/etc/openvpn --rm kylemanna/openvpn:2.4 ovpn_genconfig -u udp://服务器公网IP

5.生成密钥文件

  1. docker run -v /data/openvpn:/etc/openvpn --rm -it kylemanna/openvpn:2.4 ovpn_initpki
  2. # 输入私钥密码(输入时是看不见的):
  3. Enter PEM pass phrase:12345678
  4. # 再输入一遍
  5. Verifying - Enter PEM pass phrase:12345678
  6. # 输入一个CA名称(我这里直接回车)
  7. Common Name (eg: your user, host, or server name) [Easy-RSA CA]:
  8. # 输入刚才设置的私钥密码(输入完成后会再让输入一次)
  9. Enter pass phrase for /etc/openvpn/pki/private/ca.key:12345678

6.生成客户端证配置(your_name可修改名字)

  1. docker run -v /data/openvpn:/etc/openvpn --rm -it kylemanna/openvpn:2.4 easyrsa build-client-full your_name nopass
  2. # 输入上面步骤设置的密码
  3. Enter pass phrase for /etc/openvpn/pki/private/ca.key:12345678

7.导出客户端配置

  1. mkdir -p /data/openvpn/conf
  2. docker run -v /data/openvpn:/etc/openvpn --rm kylemanna/openvpn:2.4 ovpn_getclient your_name > /data/openvpn/conf/your_name.ovpn

8.启动openvpn服务

docker run --name openvpn -v /data/openvpn:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn:2.4

9.保存防火墙规则(9和10步骤可选)

iptables-save > /etc/sysconfig/iptables

10.设置防火墙

  1. # 关闭firewalld防火墙,关闭开机自启
  2. systemctl stop firewalld.service
  3. systemctl disable firewalld.service
  4. #安装iptables防火墙,设置开机自启
  5. yum -y install iptables-services net-tools
  6. systemctl enable iptables.service
  7. #编辑防火墙配置
  8. vi /etc/sysconfig/iptables
  9. #在最后COMMIT前添加以下规则
  10. -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
  11. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  12. -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
  13. -A INPUT -j REJECT --reject-with icmp-host-prohibited
  14. -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  15. # 下面是一个完整的示例(这里只是个示例,根据自身情况对防火墙进行调整)
  16. *nat
  17. :PREROUTING ACCEPT [0:0]
  18. :INPUT ACCEPT [0:0]
  19. :OUTPUT ACCEPT [3:228]
  20. :POSTROUTING ACCEPT [3:228]
  21. :DOCKER - [0:0]
  22. -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
  23. -A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
  24. -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
  25. -A POSTROUTING -s 172.17.0.2/32 -d 172.17.0.2/32 -p udp -m udp --dport 1194 -j MASQUERADE
  26. -A DOCKER -i docker0 -j RETURN
  27. -A DOCKER ! -i docker0 -p udp -m udp --dport 1194 -j DNAT --to-destination 172.17.0.2:1194
  28. COMMIT
  29. *filter
  30. :INPUT ACCEPT [60:4900]
  31. :FORWARD DROP [0:0]
  32. :OUTPUT ACCEPT [50:4784]
  33. :DOCKER - [0:0]
  34. :DOCKER-ISOLATION - [0:0]
  35. -A FORWARD -j DOCKER-ISOLATION
  36. -A FORWARD -o docker0 -j DOCKER
  37. -A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
  38. -A FORWARD -i docker0 ! -o docker0 -j ACCEPT
  39. -A FORWARD -i docker0 -o docker0 -j ACCEPT
  40. -A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p udp -m udp --dport 1194 -j ACCEPT
  41. -A DOCKER-ISOLATION -j RETURN
  42. -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
  43. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  44. -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
  45. -A INPUT -j REJECT --reject-with icmp-host-prohibited
  46. -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  47. COMMIT

11.将登录的证书下载到本地

12.下载openvpn 客户端,windows 版本地址:http://down.whsir.com/downloads/openvpn-install-2.4.4-I601.exe

其他系统版本客户端可自行百度下载即可。

最后双击下载下来的your_name.ovpn 即可导入配置到openvpn 客户端,点击连接就可以

可以通过检测是当前出网IP还确定是否成功

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/943466
推荐阅读
相关标签
  

闽ICP备14008679号