如何配置Debian OpenVPN客户端?

VPN

1 前言

一个问题,一篇文章,一出故事。
笔者工作环境有一台OpenVPN服务器,详细如下,

如何基于Rocky Linux 9.x部署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

2.6 允许客户端访问内网设备

如何允许openVPN客户端NAT访问内网?

没有评论

发表回复

VPN
如何基于Ubuntu部署OpenVPN服务端?

1 基础知识 1.1 OpenVPN的介绍 OpenVPN是一个功能齐全的开源SSL VPN解决方案 …

VPN
如何签发OpenVPN客户端证书?

1 前言 一个问题,一篇文章,一出故事。 以下章节在一部服务器上同时运行一个TCP OpenVPN实 …

VPN
如何实现OpenVPN多实例共用配置文件?

1 前言 一个问题,一篇文章,一出故事。 以下章节在一部服务器上同时运行一个TCP OpenVPN实 …