1、背景:
客户那里部署着内网服务,通常会给我们一个vpn账号用于外网访问。但是受账号数量限制或者是单纯的每次登录都嫌麻烦,我们可以在外网服务器上搭建一个一直运行的vpn客户端去连接服务端,然后通过代理去访问内网,就可以资源共享与节省时间。
2、安装:
使用如下命令,等待安装完成。
sudo apt install openvpn
使用如下命令查看openvpn相关文件位置:
whereis openvpn
进入/etc/openvpn/目录下,将服务端提供的配置文件,就是那个.ovpn结尾的文件放在此目录下,然后创建一个passwd文件,第一行写用户名,第二行写密码即可。最终效果如图: 使用如下命令编辑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 查看服务的状态,返回的状态有以下几种:
- loaded ##系统服务已经初始化完成,加载过配置
- active(running) ##正有一个或多个程序正在系统中执行, vsftpd就是这种模式
- atcive(exited) ##仅执行一次就正常结束的服务, 目前并沒有任何程序在系統中执行
- atcive(waiting)##正在执行当中,不过还在等待其他的事件才能继续处理
- inactive #服务关闭
- enbaled ##服务开机启动
- disabled ##服务开机不自启
- static ##服务开机启动项不可被管理
- failed ##系统配置错误
然后使用命令重载修改后的服务:
sudo systemctl daemon-reload
3、启动:
使用命令:
sudo systemctl start openvpn.service
查看状态,如下即为正常:
sudo systemctl status openvpn.service
4、常用命令:
# 启动服务
systemctl start openvpn.service
# 重启服务
systemctl restart openvpn.service
# 停止服务
systemctl stop openvpn.service
# 禁止开机启动
systemctl disable openvpn.service
# 启用开机启动
systemctl enable openvpn.service