LINUX.ORG.RU

Избранные сообщения monster33

Iptables. Проброс порта из локальной сети OpebVPN наружу в Docker.

Форум — Admin

Здравствуйте уважаемые товарищи.

Поднял OpenVPN Server в контейнере Docker на заморском VPS. Хочу свою домашнюю машину сделать временно web сервером. Для этого нужно прогнать трафик по 80 порту от OVPN клиента к серверу и выплюнуть из контейнера наружу. В Docker контейнере открыты 80 и 1194. По IP:1194 подключаюсь OVPN клиентом. IP:80 разумеется открыт для подключений браузера.

В Docker контейнере установлен iptable и заданы следующие правила:

133.33.33.33 - Внешний IP. 10.0.0.1 - IP OPVN сервера. 10.0.0.3 - IP OVPN клиента с web сервером на борту.

#iptables -t nat -A POSTROUTING -p tcp -m tcp -s 10.0.0.3 --sport 80 -j SNAT --to-source 133.33.33.33:80

#iptables -t nat -A PREROUTING -p tcp -m tcp -d 133.33.33.33 --dport 80 -j DNAT --to-destination 10.0.0.3:80

Запуливаюсь в контейнер

#docker exec -it bd512fed30f9 /bin/bash

Смотрим что творится в IP

#ip r
default via 172.24.0.1 dev eth0 
10.0.0.0/24 via 10.0.0.2 dev tun0 
10.0.0.2 dev tun0 proto kernel scope link src 10.0.0.1 
172.24.0.0/16 dev eth0 proto kernel scope link src 172.24.0.2

Смотрим что творится в IPTABLES

#iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  anywhere             133.33.33.33        tcp dpt:80 to:10.0.0.3:80

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
DOCKER_OUTPUT  all  --  anywhere             127.0.0.11          

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
DOCKER_POSTROUTING  all  --  anywhere             127.0.0.11          
SNAT       tcp  --  10.0.0.3          anywhere             tcp spt:80 to:133.33.33.33:80

Chain DOCKER_OUTPUT (1 references)
target     prot opt source               destination         
DNAT       tcp  --  anywhere             127.0.0.11           tcp dpt:53 to:127.0.0.11:43111
DNAT       udp  --  anywhere             127.0.0.11           udp dpt:53 to:127.0.0.11:40486

Chain DOCKER_POSTROUTING (1 references)
target     prot opt source               destination         
SNAT       tcp  --  127.0.0.11           anywhere             tcp spt:43111 to::53
SNAT       udp  --  127.0.0.11           anywhere             udp spt:40486 to::53

Проблема заключается в том что не получается настроить переадресацию именно в Docker. Прошу помощи Гуру.

 

monster33
()