Eu executo um servidor VPN experimental em um contêiner Docker .
Meu docker-compose.yml
arquivo:
version: '3'
services:
dockovpn:
image: alekslitvinenk/openvpn
cap_add:
- NET_ADMIN
ports:
- 1194:1194/udp # Expose tcp if you defined HOST_TUN_PROTOCOL=tcp
environment:
HOST_ADDR: ${HOST_ADDR}
volumes:
- /var/lib/dockovpn:/opt/Dockovpn_data
restart: always
onde HOST_ADDR
está meu endereço IP?
Eu executo o contêiner com
sudo docker-compose up -d
comando e consigo conectar-me à VPN a partir de dispositivos Windows, Android e iOS.
Não há client-to-client
opção em server.conf
:
sudo docker exec -it dockovpn_dockovpn_1 bash
cd /opt/Dockovpn
cat config/server.conf
port 1194
proto %HOST_TUN_PROTOCOL%
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/MyReq.crt
key /etc/openvpn/MyReq.key
dh /etc/openvpn/dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
duplicate-cn
keepalive 10 120
cipher AES-256-GCM
ncp-ciphers AES-256-GCM:AES-256-CBC
auth SHA512
persist-key
persist-tun
status openvpn-status.log
verb 4
tls-server
tls-version-min 1.2
tls-auth /etc/openvpn/ta.key 0
crl-verify /etc/openvpn/crl.pem
então, de acordo com a documentação do OpenVPN , os clientes não deveriam ver uns aos outros, mas eles realmente veem. Por exemplo, eu posso conectar via Remote Desktop a máquinas Windows remotas com endereços IP como 10.8.0.14, etc...
Como consertar isso?
EDITAR1
Foi encontrado o seguinte em scripts\start.sh :
# Allow traffic on the TUN interface.
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
Provavelmente seria melhor remover iptables -A FORWARD -i tun0 -j ACCEPT
em vez de adicionar iptables -A FORWARD -i tun0 -o tun0 -j REJECT
?