在从事it行业的人经常会遇到这样的问题,经常需要要远程到自己的办公环境处理一些紧急问题这就需要一条隧道让你可以随时随地进入的环境;下面介绍两种方法便于远程办公;
1 老牌做法openvpn;
openvpn自诞生以来一直被it从人员喜欢;性能稳定占用资源小,但是唯一的需要固定的公网IP和稳定的带宽资源;原始的openvpn配置比较复杂,伴随着docker容器的发展openvpn的部署变得越来越简单,半个钟头就可以搭好;
A:安装部署:
centos7 以上安装docker docker-ce 这个网上很多很容易安装不再重复;
openvpnsever端部署:
拉取openvpn镜像
docker pull kylemanna/openvpn:2.4
创建volume目录
mkdir -p /data/openvpn
生成配置文件
docker run -v /data/openvpn:/etc/openvpn --rm kylemanna/openvpn:2.4 ovpn_config -u udp://外网ip
注意: 外网ip是机器外网ip或者说你做穿透那台电脑外网ip,用户客户端链接的外网ip
例子:docker run -v /data/openvpn:/etc/openvpn --rm kylemanna/openvpn:2.4 ovpn_config -u udp://219.16.43.XXX
运行结果:
Processing PUSH Config: 'block-outside-dns'
Processing Route Config: '192.168.254.0/24'
Processing PUSH Config: 'dhcp-option DNS 8.8.8.8'
Processing PUSH Config: 'dhcp-option DNS 114.114.114.114'
Successfully generated config
Cleaning up before Exit ...
这里openvpn一般采取udp协议,可以换成tcp协议根据自己的网络环境要求,udp较少了校验,速度会更快;
生成密钥文件
docker run -v /data/openvpn:/etc/openvpn --rm -it kylemanna/openvpn:2.4 ovpn_initpki
输入私钥密码(输入时是看不见的):
Enter PEM pass phrase:12345678
再输入一遍
Verifying - Enter PEM pass phrase:12345678
输入一个CA名称(我这里直接回车)
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:
输入刚才设置的私钥密码(输入完成后会再让输入一次)
Enter pass phrase for /etc/openvpn/pki/private/ca.key:12345678
生成客户端证书
docker run -v /data/openvpn:/etc/openvpn --rm -it kylemanna/openvpn:2.4 easyrsa build-client-full sunny nopass
输入刚才设置的密码
Enter pass phrase for /etc/openvpn/pki/private/ca.key:12345678
导出客户端配置
mkdir -p /data/openvpn/conf
docker run -v /data/openvpn:/etc/openvpn --rm kylemanna/openvpn:2.4 ovpn_client sunny > /data/openvpn/conf/sunny.ovpn
启动OpenVPN服务
docker run --restart=always --name openvpn -v /data/openvpn:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn:2.4
开启防火墙
firewall-cmd --zone=public --add-port=1194/upd --permanent
firewall-cmd --reload
关闭selinux
[root@ecs-vpn ~]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
##########################
B:客户端
下载openvpn-win的客户端安装然后把客户端文件sunny.ovpn拷贝到安装目录的config文件里面
重启openvpn软件然后点击链接就可以了
这样你就可以正常连接你的办公区域的服务器了,但是现实会存在路由跳转dns的分发解析,你可以让你的本地路由那些走vpn线路那些走自己的线路,it道路幽深值得去探索;
2 新的工具zerotier
zerotier 号称史上最强的内网穿透工具,他的理念是把你的所有node节点变成一个私有局域网;安装部署也很简单;
安装操作:
去zerotier的官网注册一个账户,然后创建一个组id,你的所有要实现连接的客户端下载zerotier的客户端软件目前支持win,mac,安卓,ios,linux,所有的客户端都加入你创建的组id,这些客户端会重新生成一个IP,这个ip作为这些客户端互相通信的ip
要使用原有的IP进行通信服务可以在服务端添加路由策略;实现子网互通;
zerotier的弊端就是服务器再国外然后客户端数量不能超过50个,超过50要收费;解决办法建立moon节点官方有私有花的开源方案但是不提供技术支持要自己摸索可以解决这些问题;
这些小工具关键时刻能解决大问题还是要具备一下;




