服务器限制外网访问,使用vpn连接服务器
1.先在同地区下找一台服务器,开放1194端口
2.使用docker搭建openvpn
镜像链接
OVPN_DATA="ovpn-data-example"
docker volume create --name $OVPN_DATA
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://公网地址
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
#启动
docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn
#生成客户端.ovpn test为自定义名称
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full test nopass
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient test > /tmp/test.ovpn
#使用scp把test.ovpn导到本地,使用openvpn客户端打开
3.设置使用vpn代理的网段。默认全部经过vpn
#进入容器
docker exec -it 179cd7366b99 bash
vi /etc/openvpn/openvpn.conf
#注释下面两行,可能导致有些网站无法访问,比如postman
#push "dhcp-option DNS 8.8.8.8"
#push "dhcp-option DNS 8.8.4.4"
###最后添加阿里内网的地址段,例如:配置172.33.0.0~172.33.255.255
push "route 172.33.0.0 255.255.0.0"
或如果IP段仅设置C类
push "route 172.33.177.0 255.255.255.0"
最后删除客户端.ovpn最后一行 redirect-gateway def1
创建用户
#需要创建用户时运行以下命令
OVPN_DATA="ovpn-data-example"
#生成客户端.ovpn test为自定义名称
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full test nopass
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient test > /tmp/test.ovpn
#使用scp把test.ovpn导到本地,使用openvpn客户端打开
吊销证书
docker run -v openvpn-data:/etc/openvpn --rm -it kylemanna/openvpn easyrsa revoke test
docker run -v openvpn-data:/etc/openvpn --rm -it kylemanna/openvpn easyrsa gen-crl