ubuntu上安装openvpn客户端连接服务端

4,021 阅读2分钟

1、背景:

客户那里部署着内网服务,通常会给我们一个vpn账号用于外网访问。但是受账号数量限制或者是单纯的每次登录都嫌麻烦,我们可以在外网服务器上搭建一个一直运行的vpn客户端去连接服务端,然后通过代理去访问内网,就可以资源共享与节省时间。

2、安装:

使用如下命令,等待安装完成。

sudo apt install openvpn

使用如下命令查看openvpn相关文件位置:

whereis openvpn

image.png 进入/etc/openvpn/目录下,将服务端提供的配置文件,就是那个.ovpn结尾的文件放在此目录下,然后创建一个passwd文件,第一行写用户名,第二行写密码即可。最终效果如图: image.png 使用如下命令编辑openvpn.service文件:

sudo vim /usr/lib/systemd/system/openvpn.service

内容如下:

[Unit]
Description=OpenVPN service
After=network.target

[Service]
Type=simple
RemainAfterExit=yes
ExecStart= /usr/sbin/openvpn --config /etc/openvpn/VPNConfigBJ.ovpn --auth-user-pass /etc/openvpn/passwd
WorkingDirectory=/etc/openvpn

[Install]
WantedBy=multi-user.target

type需要改成simple否则在后续使用systemctl启动时会有问题,会出现atcive(exited)状态。在操作系统中,有某些服务只需要初始化一下就可以了;不需要在服务器中启动一个守护进程。这种服务初始化完成后就直接退出,其服务的状态就是active(exited)。

使用systemctl 查看服务的状态,返回的状态有以下几种:

  1. loaded ##系统服务已经初始化完成,加载过配置
  2. active(running) ##正有一个或多个程序正在系统中执行, vsftpd就是这种模式
  3. atcive(exited) ##仅执行一次就正常结束的服务, 目前并沒有任何程序在系統中执行
  4. atcive(waiting)##正在执行当中,不过还在等待其他的事件才能继续处理
  5. inactive #服务关闭
  6. enbaled ##服务开机启动
  7. disabled ##服务开机不自启
  8. static ##服务开机启动项不可被管理
  9. failed ##系统配置错误

然后使用命令重载修改后的服务:

sudo systemctl daemon-reload

3、启动:

使用命令:

sudo systemctl start openvpn.service

查看状态,如下即为正常:

sudo systemctl status openvpn.service

image.png

4、常用命令:

# 启动服务 
systemctl start openvpn.service 
# 重启服务 
systemctl restart openvpn.service 
# 停止服务 
systemctl stop openvpn.service 
# 禁止开机启动 
systemctl disable openvpn.service 
# 启用开机启动 
systemctl enable openvpn.service