本文参考
1.https://www.wangfeng.live/2020/11/centos7-openvpn-access-server-installation-latest-version/
2.https://www.starduster.me/2019/12/19/talk-about-egg-file-and-hacking-ovpnas/
OpenVPN Access Server又名OpenVPN AS,是OpenVPN官方提供的商业版,有web页面方便配置,普通的版本是社区版,没有web页面,需要自行开发。
OpenVPN AS
1.官网安装步骤
yum -y install https://as-repository.openvpn.net/as-repo-centos7.rpm
yum -y install openvpn-as
实际上行不通,因为openvpn官网被墙,国内请勿执行上述命令,会导致你安别的软件报错,若执行了,需要通过下面方式卸载yum源
#查找yum源
rpm -qa |grep -i as
#卸载yum源
rpm -e openvpn-as-yum-7-1.noarch
2.离线安装
可离线安装的版本只能小于2.7.3,高于2.7.3的版本依赖openvpn-as-bundled-clients,需要先吧openvpn-as-bundled-clients离线下载下来,目前没有比较好的方式
wget http://swupdate.openvpn.org/as/openvpn-as-2.5.2-CentOS7.x86_64.rpm
rpm -ivh openvpn-as-2.5.2-CentOS7.x86_64.rpm
安装后会提示你的管理员地址和客户端地址,里面的IP地址换成你服务器的ip地址即可访问
Admin UI: https://10.24.11.242:943/admin
Client UI: https://10.24.11.242:943/
3.管理员登录
首先需要修改管理员密码
passwd openvpn
输入之后可以登录管理员页面了。
登录后点击User Management–>User Permissions 添加用户
然后添加用户名密码
4.客户登录
使用上面的地址和添加的用户登录客户端界面,下载页面中的配置文件即可,第一个使用客户端登录时需要输入账号密码,第二个不需要
5.外网映射方式配置
Configuration–>Network Settings,将Hostname or IP Address的IP地址改成要映射的外网端口地址即可。只支持内外同端口映射。改完后客户端需要重新下载的配置文件。
6.破解用户数限制
默认情况下,只支持2个设备连接使用,目前网络上可以搜到的只有2.5.2和2.7.3的破解文件,2.5.2的破解命令如下
# 下载egg破解文件,每个版本对应一个,不通用
wget http://www.thege.cn/pyovpn-2.0-py2.7.egg
cp pyovpn-2.0-py2.7.egg /usr/local/openvpn_as/lib/python2.7/site-packages/
cd /usr/local/openvpn_as/bin
# 执行初始化脚本
./ovpn-init
# 如报错找不到相关模块,编辑_ovpn-init 注解掉即可。
nano _ovpn-init
# 注释掉 from pyovpn.util.gcp行,然后Ctrl+X保存
# 再次执行初始化脚本
./ovpn-init
#交互模式下,第一次输入大写的 DELETE,第二次输入yes,之后一路回车
7.桥接
2.5之前,有个VPN Mode的菜单可以切换 L2桥接模式和L3路由模式,但是从2.5开始去掉这个菜单了,只能用命令调,命令如下
切换到Layer 2桥接模式:
cd /usr/local/openvpn_as/scripts/
./sacli --key "vpn.general.osi_layer" --value "2" ConfigPut
./sacli start
恢复到Layer 3路由模式:
./sacli --key "vpn.general.osi_layer" ConfigDel
./sacli start
有配置桥接界面的AS下载地址:http://swupdate.openvpn.org/as/openvpn-as-2.1.12-CentOS7.x86_64.rpm
配置界面如图
2.7.3的egg文件
magnet:?xt=urn:btih:0EB4AA47AEBC859AF0539605CCB6F55468DD68A1&tr=http%3A%2F%2Fbt2.t-ru.org%2Fann%3Fmagnet