Fork me on GitHub

CentOS7.4 安装 OpenVpn

openvpn service 安装与配置

1. 下载脚本 wget https://git.io/vpn -O openvpn-install.sh

# 添加执行权限
chmod +x openvpn-install.sh
#总结
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

2. 运行脚本./openvpn-install.sh, 设置如下

 监听地址设置为空 IP address:
Protocol:[2]TCP
Port:1194
不选 DNS:
client name: client_k2
External IP : 112.74.51.136

3. 配置服务端 vim /etc/openvpn/server.conf

# 指定 ip, 所以记录 ip 没效果屏蔽
;ifconfig-pool-persist ipp.txt
;push "redirect-gateway def1 bypass-dhcp"
#推送服务器路由
push "route 10.14.0.0 255.255.255.0"
#推送 k2 客户端子网路由到所有客户端除了 ccd 里面申明了该路由的客户端
push "route 192.168.123.0 255.255.255.0"
#添加服务器路由,访问客户端 K2 的 192.168.123.0 子网通过网关 10.14.0.2(k2 客户端 ip)
route 192.168.123.0 255.255.255.0 10.14.0.2
#添加客户端配置目录,启用之后,每个客户端必须指定 ip,否正有可能访问不了其他客户端的子网
client-config-dir ccd
#客户端访问客户端
client-to-client

4. 配置客户端路由 mkdir /etc/openvpn/ccd 和 vim /etc/openvpn/ccd/client_k2

# 设置该客户端的 vpn 的 ip 是 10.14.0.2, 子网掩码必须是 255.255.255.0,如果启用 ccd,必须配置
ifconfig-push 10.14.0.2 255.255.255.0
#申明 192.168.123.0 是自己的子网,并且让子网也可以访问 vpn 服务器,申明之后不会推送该路由到该客户端
iroute 192.168.123.0 255.255.255.0
route 192.168.123.0 255.255.255.0

5. 添加客户端./openvpn-install.sh

Select an option[1-4]:1 (add a new user)

client name: client_worker

# 编辑配置文件
vim /etc/openvpn/server.conf
#重启生效
systemctl restart openvpn@server.service
systemctl enable openvpn@server.service
#注释掉客户端的
#setenv opt block-outside-dns

6. 下载 ovpn 文件,并修改配置,

注释调 #setenv opt block-outside-dns

7. 常用命令

# 重启生效
systemctl restart openvpn@server.service
#使能服务
systemctl enable openvpn@server.service
#ssh 下载文件
scp root@112.74.51.136:/root/client_xuan_ubuntu.ovpn ./

openvpn client 安装与配置

1. 安装

yum update #更新
yum install vim  #安装 vim
yum install epel-release  #添加 epel 源
yum clean all # 可选
yum update # 可选
yum makecache # 可选
yum install openvpn iptables-services #安装 openvpn
scp root@112.74.51.136:~/client_vm.ovpn /etc/openvpn/client/ #下载客户端配置
#注释掉客户端的 vim /etc/openvpn/client/client_vm.ovpn
#setenv opt block-outside-dns
#----------------------- 废弃 ------------------------------------------------
openvpn --daemon --cd /etc/openvpn/client --config client_vm.ovpn --log-append /etc/openvpn/openvpn.log #启动
tail -100f /etc/openvpn/openvpn.log  #查看日志
ps -ef | grep openvpn #查看 openvpn 进程
kill <pid> #杀死进程
#--------------------- 废弃结束 ------------------------------------------------------
#openvpn-client 启动服务,反斜杠转义字符,实际名称是 openvpn-client@.service
vim /lib/systemd/system/openvpn-client\@.service
#修改
ExecStart=/usr/sbin/openvpn --suppress-timestamps --nobind --config %i.conf
#为
ExecStart=/usr/sbin/openvpn --daemon --config %i.ovpn --log-append /etc/openvpn/openvpn.log
#防止已经启动,@符号后面等效与 %i, 所以这里为客户端配置的名字
systemctl restart openvpn-client@client_vm
#开机启动
systemctl enable openvpn-client@client_vm

以上整理主要参照下面的文档,如涉及侵权请联系本人,进行删除。

参考

官网

脚本 github 官网 Nyr/openvpn-install

openvpn 的一个一键安装脚本“openvpn-install”让 openvpn 重放光彩(需翻墙)

How to Configure OpenVPN Server on CentOS 7.3

使用 OpenVPN 互联多地机房及 Dokcer 跨主机 / 机房通讯

扩大 OpenVPN 使用范围,包含服务器或客户端子网中的其他计算机

赞赏是最好的支持与鼓励!
-------------本文结束感谢您的阅读-------------