openvpn docker
本文最后更新于 373 天前,其中的信息可能已经有所发展或是发生改变。

1、先按照docker 及 dockercompose

2、安装服务端

nano start.sh
#!/bin/bash
echo "输入服务端IP或者域名"
read NODE_HOST
echo "配置文件目录/绝对路径"
read CONF_PWD

#生成配置文件和私钥文件
docker run -v $CONF_PWD:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u tcp://$NODE_HOST
docker run -v $CONF_PWD:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
#启动
cat <<EOF > ./docker-compose.yaml
version: "3"
services:
  openvpn:
    image: kylemanna/openvpn
    container_name: openvpn
    volumes:
      - $CONF_PWD:/etc/openvpn
    ports:
      - "1194:1194"
    cap_add:
      - NET_ADMIN
EOF

docker-compose up -d
sh start.sh
#输入IP和路径后
#第一个选项是输入密码 
#第二个是重复输入密码 
#第三个任意 
#第四个是输入第一次的密码 
#第五个是输入第一次的密码

3、创建用户

nano create_user.sh
#!/bin/bash
#创建用户
echo "输入创建的用户名"
read USER
echo "输入配置文件地址/绝对路径"
read CONF_PWD
docker run -v $CONF_PWD:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full $USER nopass
docker run -v $CONF_PWD:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient $USER > ./$USER.ovpn
#添加链接配置
echo 'comp-lzo no' >> ./$USER.ovpn
sh create_user.sh

4、将./$USER.ovpn复制到客户端配置文件中

5、客户端设置静态路由

windows:(192.168.255.6为虚拟IP)

route add 0.0.0.0 mask 0.0.0.0 192.168.255.6 metric 1

6、服务端设置端口转发

nano /etc/sysctl.conf

#添加
net.ipv4.ip_forward = 1

#运行以下命令使更改生效
sysctl -p
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

7、安装updp

ip route add 192.168.255.0/24 via 172.18.0.2 #openvpn容器的IP
iptables -t nat -A PREROUTING -p tcp --dport 37376 -j DNAT --to-destination 192.168.255.6:37376
iptables -t nat -A POSTROUTING -p tcp --dport 37376 -j SNAT --to-source 104.233.210.38
docker exec -it openvpn bash
net.ipv4.ip_forward = 1
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE




iptables -t nat -A PREROUTING -p tcp --dport 50010 -j DNAT --to-destination 192.168.255.6:50010
iptables -t nat -A POSTROUTING -p tcp --dport 37376 -j SNAT --to-source 104.233.210.38

sudo route add -net 192.168.36.0/24 gw 192.168.255.6

route add -net 192.168.255.0/24 gw 172.18.0.1

route del -net 192.168.36.0/24 gw 172.18.0.1
route add -net 192.168.255.0/24 gw 172.18.0.1
route del -net 192.168.36.0/24 gw 172.18.0.1



暂无评论

发送评论 编辑评论


				
上一篇
下一篇