
VPN
1 前言
一个问题,一篇文章,一出故事。
笔者工作环境有一台OpenVPN服务器,详细如下,
笔者现有一台OpenVPN的客户端需要连接到服务器,于是整理此文。
另外,本章只完成OpenVPN的点对点连接,如果需要更加深入需要参阅其他章节。
2 最佳实践
2.1 安装软件包
apt install -y openvpn
2.2 创建配置文件
vim /etc/openvpn/client/client.conf
创建如下配置,
client dev tun proto udp #proto tcp remote openvpn.cmdschool.org 1194 resolv-retry infinite nobind persist-key persist-tun #http-proxy-retry #http-proxy 192.168.0.1 8080 password.txt ca ca.crt cert will-dg.crt key will-dg.key remote-cert-tls server #comp-lzo verb 3 cipher AES-256-GCM
根据上面配置文件的需求,我们需要部署以下证书,
cp ca.crt will-dg.crt will-dg.key /etc/openvpn/client
如果启用上面的“http-proxy”开头的代理配置,我们需要部署代理的验证用户名和密码,
echo username > /etc/openvpn/client/password.txt echo password >> /etc/openvpn/client/password.txt
2.3 测试配置
openvpn --config /etc/openvpn/client/client.conf
2.4 配置客户端服务
cp /lib/systemd/system/openvpn.service /lib/systemd/system/openvpn.service.default vim /lib/systemd/system/openvpn.service
配置修改如下,
# This service is actually a systemd target, # but we are using a service since targets cannot be reloaded. [Unit] Description=OpenVPN service Documentation=man:openvpn(8) After=network.target [Service] Type=notify PrivateTmp=true RemainAfterExit=yes ExecStart=/usr/sbin/openvpn --cd /etc/openvpn/client/ --config client.conf WorkingDirectory=/etc/openvpn [Install] WantedBy=multi-user.target
配置修改后,你需要使用如下命令重载服务,
systemctl daemon-reload
然后,你需要重启服务使配置生效,
systemctl restart openvpn
重启服务后,你如果使用如下指令,
ip a
可见如下输出,
#... 7: tun0: mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 500 link/none inet 10.8.0.10 peer 10.8.0.9/32 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::eb1e:7bb6:801:5182/64 scope link stable-privacy valid_lft forever preferred_lft forever
2.5 配置客户端服务
ping 10.8.0.1
以上从OpenVPN客户端ping测试OpenVPN服务器,应当能ping通,参阅如下命令反过来ping也应该能ping通,
ping 10.8.0.10
没有评论