今天是:2025年8月10日 星期日
记住用户名密码
在生产环境中,有一些服务是不能对外提供访问权限的,例如Hadoop、Hbase等集群页面,当然可以使用Nginx转发并且配置仅公司网络可以访问,这个也是可以,但是页面一多或者需要跳转就很麻烦,并且还有在家办公就访问不了了,所以在对于这种需求,建议采用VPN方式访问。
部署OpenVpn服务的方式有很多,可以采用编译安装、二进制安装,也可以使用Docker安装,本次将基于Docker部署OpenVpn,具体操作步骤如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #创建OpenVpn数据持久化目录 mkdir /data/openvpn -p #生成OpenVpn配置文件,走udp协议,其中IP为公网IP,生成的配置文件可以修改端口等参数 docker run - v /data/openvpn : /etc/openvpn -- rm kylemanna /openvpn :latest ovpn_genconfig -u udp: //115 .159.91.148 #生成密钥文件 docker run - v /data/openvpn : /etc/openvpn -- rm -it kylemanna /openvpn :latest ovpn_initpki 输入私钥密码(输入时是看不见的): Enter PEM pass phrase:123456 再输入一遍 Verifying - Enter PEM pass phrase:123456 输入一个CA名称(我这里直接回车) Common Name (eg: your user, host, or server name) [Easy-RSA CA]: 输入刚才设置的私钥密码(输入完成后会再让输入一次) Enter pass phrase for /etc/openvpn/pki/private/ca .key:123456 #生成客户端证书,例如:likun docker run - v /data/openvpn : /etc/openvpn -- rm -it kylemanna /openvpn :latest easyrsa build-client-full likun nopass #导出客户端配置 mkdir -p /data/openvpn/conf docker run - v /data/openvpn : /etc/openvpn -- rm kylemanna /openvpn :latest ovpn_getclient likun > /data/openvpn/conf/likun .ovpn #启动OpenVpn服务程序 docker run --name openvpn - v /data/openvpn : /etc/openvpn -d -p 1194:1194 /udp --cap-add=NET_ADMIN kylemanna /openvpn :latest #查看OpenVpn服务程序是否启动正常 docker ps | grep openvpn |
将生成的客户端配置导入OpenVpn即可。至此,Docker构建OpenVpn服务程序完成!
按照上述操作部署,并且使用OpenVpn客户端连接之后发现是全局代理,也就是出现如下图所示:
为了防止全局代理,可修改客户端配置,修改如下:
1 2 3 4 5 6 7 | # 在remote ip port 这行后面加入 route 192.168.255.0 255.255.255.0 # 文件末尾注释掉,防止所有网络都走VPN服务器, 如果想全部流量通过VPN则添加这一行。 # redirect-gateway def1 # 添加下面一行,不从服务器拉取路由表 route-nopull |
客户端配置修改完成,重新导入OpenVpn客户端之后,即可实现局部代理。
目前有 0 条留言 其中:访客:0 条, 博主:0 条