搭建 VPN 服务器教程(麒麟v10sp3)
一、环境介绍
VPN主机:10.0.0.71和172.16.1.71
局域网主机:全部为172.16.1.x段
二、VPN虚拟网段
10.8.0.x
服务端安装配置VPN
yum install -y openvpn
openvpn --version
通过以下命令查看安装 OpenVPN 后生成的文件: rpm -ql openvpn
server.conf拷贝到/etc/openvpn/
修改server.conf内容push "route 172.16.1.0 255.255.255.0
启动VPN
systemctl start openvpn@server
systemctl enable openvpn@server
netstat -tunlp | grep 1194
systemctl status openvpn@server
服务端若缺少 server.crt
、server.key
、ta.key
等文件,可使用 easy-rsa
生成,方法如下:
yum install -y easy-rsa
mkdir -p /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
cp -r /usr/share/easy-rsa/3.0.8/* . #复制 Easy-RSA 脚本
./easyrsa init-pki #初始化 PKI 目录
./easyrsa build-ca #生成 CA 证书和密钥,需要输入密码,名字(记住生成证书需要)
./easyrsa build-server-full server nopass ##生成服务器证书和密钥
./easyrsa gen-dh ##生成 Diffie-Hellman 参数dh.pem,如果需要dh20xx更改文件名字即可
openvpn --genkey --secret /etc/openvpn/ta.key ##生成 ta.key文件
#然后把以上生成的cp到/etc/openvpn/下,确保server.conf文件中的路径正确指向生成的证书和密钥文件systemctl status openvpn@server查看启动缺少哪些文件
ca.crt
dh2048.pem
server.crt
server.key
ta.key
#启动VPN
systemctl start openvpn@server
systemctl enable openvpn@serve
netstat -tunlp | grep 1194
systemctl status openvpn@server
自己生成证书
服务端安装配置VPN—-里有生成服务端证书教程
客户端连接———里有生成连接点、客户端的教程
客户端连接
VPN 客户端软件:从软猫下载网站下载,链接为 https://www.softmall.net/apps/896。
在服务器,服务端生成客户端证书和密钥
#连接端、客户端生成证书密钥
./easyrsa build-client-full <client_name> nopass # <client_name> 是名字,生成客户端秘钥和证书:在这么目录下面 /etc/openvpn/easy-rsa/pki
#编辑生成客户端client.ovpn连接文件:remote 10.0.0.71 1194改为自己服务端的公网ip
[root@VPN /etc/openvpn]vim client.ovpn
client
dev tun
proto udp
remote 10.0.0.71 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
verb 3
#注意以上client.crt 和 client.key名字自定义,替换成hsc也可以,但是第一行client不能换改
Windows连接需要以下文件:
hsc.ovpn
hsc.crt
hsc.key
ta.key
ca.crt
一定注意: 被连接端要添加route网关路由
route add -net 10.8.0.0 netmask 255.255.255.0 gw 172.16.1.71
在所有内网主机上添加这条路由,Windows才能pinng通(临时路由)
放行所有ip永久
iptables -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
service iptables save
注意事项
- 证书和密钥文件:确保服务器和客户端的证书和密钥文件是匹配的,并且由同一个 CA 签名.
- 防火墙和端口:确保服务器的防火墙允许客户端通过指定的端口(默认为 1194)进行连接.
- 网络设置:根据实际的网络环境和需求,调整 VPN 网络的 IP 范围和路由设置.
注:用通用证书
VPN 服务器证书及客户端文件:从百度网盘下载,链接为 https://pan.baidu.com/s/1NSmF0iy0_Za1iamj8ZmZig,提取码:lk66。解压后包含 openvpn
和 client_adhliang
两个文件夹。
3.1 修改 vars 文件
可以直接下载 vars
文件替换,链接为 https://pan.baidu.com/s/1spSr41cR28WyjU16WkY7TA,提取码:lk66。
3.2 生效变量文件并清除历史证书
执行以下命令:
cd /etc/openvpn/easy-rsa
source vars
./clean-all
3.3 生成证书
执行以下命令生成证书:
./build-ca
./build-key-server vpnadhliang
./build-dh
./build-key adhliang
生成的证书都在 /etc/openvpn/easy-rsa/keys
文件夹中,期间全部回车,y/n 选择 y。
放行所有ip永久
iptables -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
service iptables save