admin 发表于 2024-5-15 11:56:05

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

在CentOS 7.6上搭建VPN可以使用OpenVPN。下面是一个详细的指南,涵盖从安装到配置的全过程。



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

sudo yum update -y
sudo yum install -y epel-release
sudo yum install -y openvpn easy-rsa

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


sudo mkdir -p /etc/openvpn/easy-rsa
sudo cp -r /usr/share/easy-rsa/3/* /etc/openvpn/easy-rsa/
sudo chown -R $(whoami) /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa


创建并编辑vars文件。


nano vars


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


set_var EASYRSA_REQ_COUNTRY    "US"
set_var EASYRSA_REQ_PROVINCE   "California"
set_var EASYRSA_REQ_CITY       "San Francisco"
set_var EASYRSA_REQ_ORG      "MyCompany"
set_var EASYRSA_REQ_EMAIL      "[email protected]"
set_var EASYRSA_REQ_OU         "MyOrganizationalUnit"



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

./easyrsa init-pki
./easyrsa build-ca


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



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


./easyrsa gen-req server nopass
./easyrsa sign-req server server


生成Diffie-Hellman参数。


./easyrsa gen-dh


生成HMAC签名密钥。


openvpn --genkey --secret ta.key



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

sudo nano /etc/openvpn/server.conf
在server.conf文件中添加以下内容:

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
tls-auth /etc/openvpn/easy-rsa/ta.key 0
cipher AES-256-CBC
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server


sudo firewall-cmd --permanent --add-service=openvpn
sudo firewall-cmd --permanent --add-masquerade
sudo firewall-cmd --reload

cd /etc/openvpn/easy-rsa
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
创建客户端配置文件。

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

mkdir -p ~/client-configs/files
nano ~/client-configs/files/client1.ovpn
添加以下内容:

client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
tls-auth ta.key 1
cipher AES-256-CBC
comp-lzo
verb 3
确保替换YOUR_SERVER_IP为你的服务器IP地址。



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

cd ~/client-configs/files
cp ~/client-configs/keys/ca.crt .
cp ~/client-configs/keys/client1.crt .
cp ~/client-configs/keys/client1.key .
cp ~/client-configs/keys/ta.key .
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)获取更多调试信息,并确保防火墙和网络配置正确。



页: [1]
查看完整版本: 【分享】Centos 7.6 搭建 VPN 超详细