找回密码
 立即注册
查看: 820|回复: 0

[linux] 【分享】Centos 7.6 搭建 VPN 超详细

[复制链接]

66

主题

3

回帖

284

积分

管理员

积分
284
QQ
发表于 2024-5-15 11:56:05 | 显示全部楼层 |阅读模式
在CentOS 7.6上搭建VPN可以使用OpenVPN。下面是一个详细的指南,涵盖从安装到配置的全过程。



1. 安装OpenVPN和Easy-RSA
首先,更新系统并安装OpenVPN和Easy-RSA。

  1. sudo yum update -y
  2. sudo yum install -y epel-release
  3. sudo yum install -y openvpn easy-rsa
复制代码

2. 设置Easy-RSA复制Easy-RSA样本目录到OpenVPN目录。


  1. sudo mkdir -p /etc/openvpn/easy-rsa
  2. sudo cp -r /usr/share/easy-rsa/3/* /etc/openvpn/easy-rsa/
  3. sudo chown -R $(whoami) /etc/openvpn/easy-rsa
  4. cd /etc/openvpn/easy-rsa
复制代码


创建并编辑vars文件。


  1. nano vars
复制代码


在vars文件中,设置环境变量。例如:


  1. set_var EASYRSA_REQ_COUNTRY    "US"
  2. set_var EASYRSA_REQ_PROVINCE   "California"
  3. set_var EASYRSA_REQ_CITY       "San Francisco"
  4. set_var EASYRSA_REQ_ORG        "MyCompany"
  5. set_var EASYRSA_REQ_Email      "[email protected]"
  6. set_var EASYRSA_REQ_OU         "MyOrganizationalUnit"
复制代码



3. 构建CA证书和密钥
初始化PKI并构建CA证书。

  1. ./easyrsa init-pki
  2. ./easyrsa build-ca
复制代码


输入一个安全的CA密码,并根据提示完成操作。



4. 生成服务器证书和密钥
生成服务器证书和密钥。


  1. ./easyrsa gen-req server nopass
  2. ./easyrsa sign-req server server
复制代码


生成Diffie-Hellman参数。


  1. ./easyrsa gen-dh
复制代码


生成HMAC签名密钥。


  1. openvpn --genkey --secret ta.key
复制代码



5. 配置OpenVPN服务器
创建并编辑OpenVPN服务器配置文件。

  1. sudo nano /etc/openvpn/server.conf
复制代码
在server.conf文件中添加以下内容:

  1. port 1194
  2. proto udp
  3. dev tun
  4. ca /etc/openvpn/easy-rsa/pki/ca.crt
  5. cert /etc/openvpn/easy-rsa/pki/issued/server.crt
  6. key /etc/openvpn/easy-rsa/pki/private/server.key
  7. dh /etc/openvpn/easy-rsa/pki/dh.pem
  8. tls-auth /etc/openvpn/easy-rsa/ta.key 0
  9. cipher AES-256-CBC
  10. topology subnet
  11. server 10.8.0.0 255.255.255.0
  12. ifconfig-pool-persist /var/log/openvpn/ipp.txt
  13. push "redirect-gateway def1 bypass-dhcp"
  14. push "dhcp-option DNS 8.8.8.8"
  15. push "dhcp-option DNS 8.8.4.4"
  16. keepalive 10 120
  17. comp-lzo
  18. user nobody
  19. group nobody
  20. persist-key
  21. persist-tun
  22. status /var/log/openvpn/openvpn-status.log
  23. log /var/log/openvpn/openvpn.log
  24. verb 3
复制代码
  1. sudo systemctl enable openvpn@server
  2. sudo systemctl start openvpn@server
复制代码

  1. sudo firewall-cmd --permanent --add-service=openvpn
  2. sudo firewall-cmd --permanent --add-masquerade
  3. sudo firewall-cmd --reload
复制代码
  1. cd /etc/openvpn/easy-rsa
  2. ./easyrsa gen-req client1 nopass
  3. ./easyrsa sign-req client client1
复制代码
创建客户端配置文件。

  1. mkdir -p ~/client-configs/keys
  2. cp pki/ca.crt pki/issued/client1.crt pki/private/client1.key ta.key ~/client-configs/keys/
复制代码
在~/client-configs目录下创建一个示例客户端配置文件

  1. mkdir -p ~/client-configs/files
  2. nano ~/client-configs/files/client1.ovpn
复制代码
添加以下内容:

  1. client
  2. dev tun
  3. proto udp
  4. remote YOUR_SERVER_IP 1194
  5. resolv-retry infinite
  6. nobind
  7. user nobody
  8. group nobody
  9. persist-key
  10. persist-tun
  11. ca ca.crt
  12. cert client1.crt
  13. key client1.key
  14. tls-auth ta.key 1
  15. cipher AES-256-CBC
  16. comp-lzo
  17. verb 3
复制代码
确保替换YOUR_SERVER_IP为你的服务器IP地址。



9. 分发客户端配置文件
将客户端配置文件和相关证书、密钥打包分发给客户端。

  1. cd ~/client-configs/files
  2. cp ~/client-configs/keys/ca.crt .
  3. cp ~/client-configs/keys/client1.crt .
  4. cp ~/client-configs/keys/client1.key .
  5. cp ~/client-configs/keys/ta.key .
  6. tar czvf client1.tar.gz client1.ovpn ca.crt client1.crt client1.key ta.key
复制代码
分发client1.tar.gz文件给客户端。



总结
通过以上步骤,你可以在CentOS 7.6上成功搭建OpenVPN服务器。这些步骤涵盖了从安装、配置到生成和分发客户端配置文件的全过程。如果在实际操作中遇到问题,可以查看OpenVPN的日志文件(如/var/log/openvpn/openvpn.log)获取更多调试信息,并确保防火墙和网络配置正确。



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-4 08:37 , Processed in 0.059537 second(s), 26 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表