LINUX.ORG.RU
ФорумAdmin

OpenVPN в docker контейнере-порт 1194 недоступен

 ,


0

1

OpenVPN контейнер стартует нормально:

45e6ccf57df4        andrey0001/pritunl       "/bin/start-pritun..."   2 days ago          Up 19 hours                                pritunl

Интерфейс tun1 присутстует:

65: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none 
    inet 192.168.240.1/24 brd 192.168.240.255 scope global tun1
       valid_lft forever preferred_lft forever
    inet6 fd00:c0a8:f000::1/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::2f35:bab3:aa8:e0d6/64 scope link flags 800 
       valid_lft forever preferred_lft forever

таблица маршрутизации:

# ip route
default via 10.255.255.1 dev eth0 
10.255.255.1 dev eth0  scope link 
172.17.0.0/16 dev docker0  proto kernel  scope link  src 172.17.0.1 linkdown 
172.18.0.0/16 dev br-4dc510063f2a  proto kernel  scope link  src 172.18.0.1 linkdown 
172.19.0.0/16 dev br-3e70ad5e4d73  proto kernel  scope link  src 172.19.0.1 linkdown 
172.20.0.0/16 dev br-3cb39e0e104c  proto kernel  scope link  src 172.20.0.1 
192.168.240.0/24 dev tun1  proto kernel  scope link  src 192.168.240.1

В настройках сервера указан порт 1194, но он недоступен ни изнутри, ни снаружи:

# netstat -ntpl | grep 1194

пусто

и

# iptables -L -n | grep 1194

пусто

В логе контейнера ошибок нет:

# docker logs pritunl
[lively-waters-6345][2018-12-10 09:28:53,097][INFO] Starting vpn server
  host_networks = ["внешний_ip/32", "172.17.0.0/16", "172.20.0.0/16", "172.19.0.0/16", "172.18.0.0/16"]
  server_id     = "5c0ba09f2cc5cb0023c12cf4"
  network       = "192.168.240.0/24"
  cur_timestamp = "2018-12-10 09:28:53.096215"
  instance_id   = "5c0e31d52cc5cb002330799b"
  network6      = "fd00:c0a8:f000::/64"
  host_address  = "93.90.192.155"
  host_address6 = "2001:8d8:1801:61::1"
[lively-waters-6345][2018-12-10 09:28:53,097][INFO] Starting vpn server
  host_networks = ["внешний_ip/32", "172.17.0.0/16", "172.20.0.0/16", "172.19.0.0/16", "172.18.0.0/16"]
  server_id     = "5c0ba09f2cc5cb0023c12cf4"
  network       = "192.168.240.0/24"
  cur_timestamp = "2018-12-10 09:28:53.096215"
  instance_id   = "5c0e31d52cc5cb002330799b"
  network6      = "fd00:c0a8:f000::/64"
  host_address  = "93.90.192.155"
  host_address6 = "2001:8d8:1801:61::1"

в продолжение темы:

# tcpdump -i tun1 'port 1194'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun1, link-type RAW (Raw IP), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel

gigantischer
() автор топика
Ответ на: комментарий от Radjah
# tcpdump -i eth0 udp port 1194
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel

и

# tcpdump -i tun0
tcpdump: tun0: SIOCETHTOOL(ETHTOOL_GET_TS_INFO) ioctl failed: No such device

gigantischer
() автор топика
Ответ на: комментарий от gigantischer

Обнаружил в dmesg такие строки:

# dmesg | grep ip6
[   32.543214] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   33.678737] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.

хотя модуль загружен:

# lsmod | grep br_netfilter
br_netfilter           24576  0
bridge                151552  1 br_netfilter

и

# lsmod | grep bridge
bridge                151552  1 br_netfilter
stp                    16384  1 bridge
llc                    16384  2 bridge,stp

gigantischer
() автор топика
Ответ на: комментарий от dada

Так контейнер запускался с опцией --net=host:

# docker run --privileged --name pritunl --restart unless-stopped --net=host -d -t andrey0001/pritunl

Вроде как и не надо порт пробрасывать... или?

gigantischer
() автор топика
Ответ на: комментарий от gigantischer

в продолжение темы:

# ip6tables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all      ::/0                 ::/0                 /* pritunl-5c0e51712cc5cb0023308bcc */

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all      ::/0                 ::/0                 /* pritunl-5c0e51712cc5cb0023308bcc */
ACCEPT     all      ::/0                 ::/0                 /* pritunl-5c0e51712cc5cb0023308bcc */

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all      ::/0                 ::/0                 /* pritunl-5c0e51712cc5cb0023308bcc */

gigantischer
() автор топика
Ответ на: комментарий от gigantischer

и

# lsmod | grep ip6
ip6t_MASQUERADE        16384  1
nf_nat_masquerade_ipv6    16384  1 ip6t_MASQUERADE
ip6table_nat           16384  1
nf_nat_ipv6            16384  1 ip6table_nat
nf_conntrack          131072  12 xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ipv6,nf_conntrack_ipv4,nf_nat,ip6t_MASQUERADE,nf_nat_ipv6,ipt_MASQUERADE,nf_nat_ipv4,xt_nat,nf_conntrack_netlink,nf_nat_masquerade_ipv6
ip6table_filter        16384  1
ip6_tables             28672  2 ip6table_filter,ip6table_nat
x_tables               40960  11 ip6table_filter,xt_conntrack,iptable_filter,ip6t_MASQUERADE,xt_tcpudp,ipt_MASQUERADE,xt_addrtype,xt_nat,xt_comment,ip6_tables,ip_tables

gigantischer
() автор топика

Ты уже несколько дней по 2-м и более форумам, своими темами выносишь мозг, не надоело?

Для начала выкинь этот говноконтейнер andrey0001/pritunl - который собирал не ты, или читай внимательно к нему документацию.

ford1813
()
Ответ на: комментарий от ford1813

ну интересно ж разобраться в чем дело... а ты не хочешь помогать, так просто игнорь и читай другие топики товарисчъ ford))

gigantischer
() автор топика
Ответ на: комментарий от gigantischer

Тебе автор этого говноконтейнера даже свой телеграмм контакт оставил, зачем ты тут всем моз выносишь с ковырянием чужого контейнера?

http://www.opennet.ru/openforum/vsluhforumID1/97334.html

Оттуда
1. «OpenVPN docker контейнер - нет доступа снаружи» !*! +/–
Сообщение от shadow_alone (ok), 08-Дек-18, 18:05
О, мою сборку юзаешь.
Что-то ты сделал не так.
За подробностиями можешь написать мне в телеграмм @shadow_alone - попробуем разобраться

Связывайся с ним - и ковыряйте этот говноконтейнер напрямую с автором этой поделки.

ford1813
()
Ответ на: комментарий от ford1813

нет, ему нужен был доступ к серверу, а мне стремно, сервер не мой, мало ли что...

gigantischer
() автор топика
Ответ на: комментарий от dada

слушается:

# netstat -nalp | grep 1194
udp6       0      0 :::1194                 :::*                                710/openvpn 

и на самом сервере также слушается:

# netstat -napl | grep 1194
udp6       0      0 :::1194                 :::*                                29777/openvpn 

Просто я ранее ключик -а не указывал для netstat

gigantischer
() автор топика
Ответ на: комментарий от gigantischer

Чем ответ из
man docker run не понравился?
В чем смысла вашего вопроса, ответ на который можно через поисковик найти на пару минут?

Удачи в ковырянии чужого контейнера. Надеюсь найдется добрый человек на лоре и поможет тебе.

Mapping Ports for External Usage
The exposed port of an application can be mapped to a host port using the -p flag. For example, an httpd port 80 can be mapped to the host port 8080 using the following:

# docker run -p 8080:80 -d -i -t fedora/httpd

ford1813
()
Ответ на: комментарий от gigantischer

подожди, у тебя в контейнере слушается порт 1194 и запущен он от openvpn.
а на сервере тоже слушается 1194 и запущен он тоже от openvpn.
он должен запуститься от docker-proxy.
ты и на сервере настроил openvpn ?

dada ★★★★★
()
Ответ на: комментарий от dada

ой, правда, и на самом сервере запущен openvpn, когда-то давно ставил и забыл)) Спасибки...

gigantischer
() автор топика
Ответ на: комментарий от dada

удалил сам deb-пакет openvpn с системы, перезапустил контейнер, но все равно нв сервере запущен не от docker-proxy:

# netstat -napl | grep 1194
udp6       0      0 :::1194                 :::*                                7822/openvpn    

gigantischer
() автор топика
Ответ на: комментарий от gigantischer

друг, я не знаю что ты сделал, просто сделай так, что бы твой порт пробросился. думаю заработает.

dada ★★★★★
()
Ответ на: комментарий от dada

ну так проброс порта в контейнер нужен если используется дефолтный bridge network в контейнере, а не host only...

gigantischer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.