【分享】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]