Сеть по-прежнему для меня черная магия, и я пытаюсь перенаправить трафик с моего сервера openvpn в докете на мой клиент openvpn также в докере.
Я пытаюсь добиться этого:
Мой компьютер -> VPN -> (docker openvpn server) Мой сервер (docker openvpn-client) -> Paid VPN -> World
Клиент openvpn подключен к моему платному vpn, работает с передачей в другом контейнере, используя
network_mode: "container:openvpn-client"
Сервер работает нормально, и я могу подключить свой компьютер к серверу, когда я не использую сетевой режим, такой как передача. Если я использую его openvpn-server, запишите мне это:
openvpn-server | Sun Dec 2 18:06:23 2018 192.168.0.10:55375 TLS: Initial packet from [AF_INET]MY_COMPUTER_IP:55375, sid=6dcec3eb d8117758
openvpn-server | Sun Dec 2 18:07:23 2018 192.168.0.10:55375 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
openvpn-server | Sun Dec 2 18:07:23 2018 192.168.0.10:55375 TLS Error: TLS handshake failed
Вот мой файл для создания докеров
Клиент:
version: '3'
services:
openvpn-client:
image: dperson/openvpn-client
container_name: openvpn-client
cap_add:
- net_admin
command: -r "172.20.20.0/24" -f ""
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
environment:
TZ: 'Europe/Paris'
ROUTE: "172.20.20.0/24"
read_only: true
tmpfs:
- /run
- /tmp
restart: unless-stopped
ports:
- 9091:9091
security_opt:
- label:disable
stdin_open: true
tty: true
volumes:
- /dev/net:/dev/net:z
- ./vpn:/vpn
networks:
- docker-net-vpn
networks:
docker-net-vpn:
external:
name: docker-net-vpn
Сервер
version: '3'
services:
openvpn-server:
image: "kylemanna/openvpn:latest"
container_name: openvpn-server
ports:
- 1194:1194/udp
volumes:
- /data/openvpn-server:/etc/openvpn
cap_add:
- NET_ADMIN
restart: always
networks:
- docker-net-vpn
networks:
docker-net-vpn:
external:
name: docker-net-vpn
И сеть создана вот так
docker network create --attachable=true --driver=bridge --subnet=172.20.20.0/24 --gateway=172.20.20.1 docker-net-vpn
Конфигурационный файл openvpn-server
server 192.168.255.0 255.255.255.0
verb 3
key /etc/openvpn/pki/private/my-vpn.domain.com.key
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/my-vpn.domain.com.crt
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key
key-direction 0
keepalive 10 60
persist-key
persist-tun
proto udp
# Rely on Docker to do port mapping, internally always 1194
port 1194
dev tun1
status /tmp/openvpn-status.log
user nobody
group nogroup
comp-lzo no
### Push Configurations Below
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "comp-lzo no"
Если кто-то добился того, что я пытаюсь сделать, дайте мне знать!
Бонус: было бы плохо, если бы я мог использовать свой pihole в качестве DNS-провайдера!