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
> OpenVPN контейнер стартует нормально:
> 45e6ccf57df4 andrey0001/pritunlа почему вы не зададите эти вопросы автору этого докера?
где то нашли докер... что-то запустили... если вы любите эксперименты с неожиданностями - разве мы можем вам мешать наслаждаться?
> где то нашли докер... что-то запустили... если вы любите эксперименты с неожиданностями
> - разве мы можем вам мешать наслаждаться?уже задавал))
> уже задавал))а вы порт 1194 из гостевой системы в контейнер прокидываете? -p 1194:1194/udp типа при запуске контейнера?
также в самом контейнере где запускаете OpenVPN, порт 1194 прослушивается?
#docker inspect в помощь
> а вы порт 1194 из гостевой системы в контейнер прокидываете? -p 1194:1194/udp
> типа при запуске контейнера?нет, не прокидываю, т.к. он запускается с опцией --net host:
# docker run --privileged --name pritunl --restart unless-stopped --net=host -d -t andrey0001/pritunl> также в самом контейнере где запускаете OpenVPN, порт 1194 прослушивается?
прослушивается:
# docker exec -it pritunl bash# netstat -nalp | grep 1194
udp6 0 0 :::1194 :::* 318/openvpn> #docker inspect в помощь
спс
> #docker inspect в помощьСпасибки, там куча полезной инфы:
[
{
"Id": "45e6ccf57df49958e26dcd0cdf2b6710824bfa0e9fe2147ca9e41299182e7868",
"Created": "2018-12-08T09:13:52.140141957Z",
"Path": "/bin/start-pritunl",
"Args": [
"/usr/bin/tail",
"-f",
"/var/log/pritunl.log"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 6937,
"ExitCode": 0,
"Error": "",
"StartedAt": "2018-12-10T14:06:58.989980367Z",
"FinishedAt": "2018-12-10T14:06:53.664784378Z"
},
"Image": "sha256:8c23ad9101fd478e42e64c4fc244dd977b85c3d801c71e5775b71b93eb1a3222",
"ResolvConfPath": "/var/lib/docker/containers/45e6ccf57df49958e26dcd0cdf2b6710824bfa0e9fe2147ca9e41299182e7868/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/45e6ccf57df49958e26dcd0cdf2b6710824bfa0e9fe2147ca9e41299182e7868/hostname",
"HostsPath": "/var/lib/docker/containers/45e6ccf57df49958e26dcd0cdf2b6710824bfa0e9fe2147ca9e41299182e7868/hosts",
"LogPath": "/var/lib/docker/containers/45e6ccf57df49958e26dcd0cdf2b6710824bfa0e9fe2147ca9e41299182e7868/45e6ccf57df49958e26dcd0cdf2b6710824bfa0e9fe2147ca9e41299182e7868-json.log",
"Name": "/pritunl",
"RestartCount": 0,
"Driver": "aufs",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "unconfined",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "host",
"PortBindings": {},
"RestartPolicy": {
"Name": "unless-stopped",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": true,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": [
"label=disable"
],
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": null,
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DiskQuota": 0,
"KernelMemory": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": -1,
"OomKillDisable": false,
"PidsLimit": 0,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0
},
"GraphDriver": {
"Data": null,
"Name": "aufs"
},
"Mounts": [],
"Config": {
"Hostname": "DCA0C03",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"1194/tcp": {},
"1195/tcp": {},
"9700/tcp": {}
},
"Tty": true,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/usr/bin/tail",
"-f",
"/var/log/pritunl.log"
],
"ArgsEscaped": true,
"Image": "andrey0001/pritunl",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": [
"/bin/start-pritunl"
],
"OnBuild": null,
"Labels": {}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "129d23d57ed08629a501f30446db2adaf773995dedfcf11f398f43b5001e36e1",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {},
"SandboxKey": "/var/run/docker/netns/default",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"host": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "303394098ae51d6188e667d2c4c89898c1901dffd092a3c6a2a7e96c4409c575",
"EndpointID": "9e8d924c9bf068d828adbff2dc84e8f7d0e3fba423c2c750c1be1f1bd797c709",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": ""
}
}
}
}
]
#iptables -L vn на самом Linux компе
в студию
> #iptables -L vn на самом Linux компе
> в студию# iptables -L -vn
Chain INPUT (policy ACCEPT 372 packets, 55251 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- tun1 * 0.0.0.0/0 0.0.0.0/0 /* pritunl-5c0e51712cc5cb0023308bcc */Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * tun1 0.0.0.0/0 0.0.0.0/0 /* pritunl-5c0e51712cc5cb0023308bcc */
0 0 ACCEPT all -- tun1 * 0.0.0.0/0 0.0.0.0/0 /* pritunl-5c0e51712cc5cb0023308bcc */
8637 991K DOCKER-ISOLATION all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * br-4dc510063f2a 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- * br-4dc510063f2a 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br-4dc510063f2a !br-4dc510063f2a 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br-4dc510063f2a br-4dc510063f2a 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * br-3e70ad5e4d73 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- * br-3e70ad5e4d73 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br-3e70ad5e4d73 !br-3e70ad5e4d73 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br-3e70ad5e4d73 br-3e70ad5e4d73 0.0.0.0/0 0.0.0.0/0
8009 954K ACCEPT all -- * br-3cb39e0e104c 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
626 37520 DOCKER all -- * br-3cb39e0e104c 0.0.0.0/0 0.0.0.0/0
2 80 ACCEPT all -- br-3cb39e0e104c !br-3cb39e0e104c 0.0.0.0/0 0.0.0.0/0
624 37440 ACCEPT all -- br-3cb39e0e104c br-3cb39e0e104c 0.0.0.0/0 0.0.0.0/0Chain OUTPUT (policy ACCEPT 374 packets, 54481 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * tun1 0.0.0.0/0 0.0.0.0/0 /* pritunl-5c0e51712cc5cb0023308bcc */Chain DOCKER (4 references)
pkts bytes target prot opt in out source destinationChain DOCKER-ISOLATION (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- br-3e70ad5e4d73 docker0 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- docker0 br-3e70ad5e4d73 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br-3cb39e0e104c docker0 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- docker0 br-3cb39e0e104c 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br-4dc510063f2a docker0 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- docker0 br-4dc510063f2a 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br-3e70ad5e4d73 br-4dc510063f2a 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br-4dc510063f2a br-3e70ad5e4d73 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br-3cb39e0e104c br-4dc510063f2a 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br-4dc510063f2a br-3cb39e0e104c 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br-3cb39e0e104c br-3e70ad5e4d73 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br-3e70ad5e4d73 br-3cb39e0e104c 0.0.0.0/0 0.0.0.0/0
8637 991K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
если есть NAT на Linux:
#iptables -L vn -t nat
тоже не помешает
> # iptables -L -n | grep 1194
> пустонеправильная логика поиска правила: если сами вручную не добавляли правило с разрешением/запретом на UDP 1194 то команда выше ничего не найдет
скорее всего стоит правило по умолчанию БЛОКИРОВАТЬ ВСЕ [что не разрешено].
93.90.192.155 на нем 1194 порт фильтрируется. я как понимаю это внешний IP адрес хоста
> 93.90.192.155 на нем 1194 порт фильтрируется. я как понимаю это внешний IP
> адрес хостада, это внешний адрес хоста
> да, это внешний адрес хоста#netstat -plunt
что показывает?вебморда Printunl работает и доступна всему миру
> #netstat -plunt
> что показывает?
> вебморда Printunl работает и доступна всему миру# netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5793/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 6222/master
tcp 0 0 127.0.0.1:9756 0.0.0.0:* LISTEN 12023/python
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN 6332/VBoxHeadless
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 7818/mongod
tcp6 0 0 :::5900 :::* LISTEN 6332/VBoxHeadless
tcp6 0 0 :::22 :::* LISTEN 5793/sshd
tcp6 0 0 :::25 :::* LISTEN 6222/master
tcp6 0 0 :::9700 :::* LISTEN 7137/pritunl-web
udp 0 0 0.0.0.0:43019 0.0.0.0:* 6332/VBoxHeadless
udp 0 0 0.0.0.0:58382 0.0.0.0:* 6332/VBoxHeadless
udp 0 0 0.0.0.0:68 0.0.0.0:* 1367/dhclient
udp6 0 0 fe80::ae1f:6bff:fe4:546 :::* 5482/dhclient
udp6 0 0 :::1194 :::* 14251/openvpn
А у меня веб-морда pritunl доступна только изнутри гостевой VM Win2016, снаружи недоступна...
снаружи порт вроде тоже доступен% s nmap -sU -p 1194 93.90.192.155
Starting Nmap 7.70 ( https://nmap.org ) at 2018-12-11 12:18 EET
Nmap scan report for 93.90.192.155
Host is up (0.064s latency).
PORT STATE SERVICE
1194/udp open|filtered openvpn
Но когда пытаюсь подключиться клиентом openvpn:
Tue Dec 11 12:22:05 2018 OpenVPN 2.4.3 x86_64-suse-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jun 20 2017
Tue Dec 11 12:22:05 2018 library versions: OpenSSL 1.1.0i-fips 14 Aug 2018, LZO 2.10
Tue Dec 11 12:22:05 2018 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Dec 11 12:22:05 2018 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Dec 11 12:22:05 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]93.90.192.155:1194
Tue Dec 11 12:22:05 2018 UDP link local: (not bound)
Tue Dec 11 12:22:05 2018 UDP link remote: [AF_INET]93.90.192.155:1194
Tue Dec 11 12:22:09 2018 Server poll timeout, restarting
Tue Dec 11 12:22:09 2018 SIGUSR1[soft,server_poll] received, process restarting
Tue Dec 11 12:22:09 2018 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Dec 11 12:22:09 2018 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Dec 11 12:22:09 2018 TCP/UDP: Preserving recently used remote address: [AF_INET6]2001:8d8:1801:61::1:1194
Tue Dec 11 12:22:09 2018 UDPv6 link local: (not bound)
Tue Dec 11 12:22:09 2018 UDPv6 link remote: [AF_INET6]2001:8d8:1801:61::1:1194
Tue Dec 11 12:22:09 2018 write UDPv6: Network is unreachable (code=101)
Tue Dec 11 12:22:09 2018 Network unreachable, restarting
Tue Dec 11 12:22:09 2018 SIGUSR1[soft,network-unreachable] received, process restarting
^CTue Dec 11 12:22:11 2018 SIGINT[hard,init_instance] received, process exiting
> 1194/udp open|filtered openvpnто-то же, порт открыт но фильтрируется/модифицируется траффик. админка открывается нормально на 9700 порту. в правилах iptables запретов нет, но вы так и не скинули таблицу NAT в iptables. возможно вы форвардите траффик 1194 UDP куда-нить в другое место.
#iptables -L -vn -t nat в студию
> то-то же, порт открыт но фильтрируется/модифицируется траффик. админка открывается нормально
> на 9700 порту. в правилах iptables запретов нет, но вы так
> и не скинули таблицу NAT в iptables. возможно вы форвардите траффик
> 1194 UDP куда-нить в другое место.
> #iptables -L -vn -t nat в студию# iptables -L -vn -t nat
Chain PREROUTING (policy ACCEPT 3338 packets, 187K bytes)
pkts bytes target prot opt in out source destination
23396 1259K DOCKER all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCALChain INPUT (policy ACCEPT 2409 packets, 132K bytes)
pkts bytes target prot opt in out source destinationChain OUTPUT (policy ACCEPT 255 packets, 20422 bytes)
pkts bytes target prot opt in out source destination
775 46446 DOCKER all -- * * 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE match dst-type LOCALChain POSTROUTING (policy ACCEPT 1483 packets, 93798 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- * eth0 192.168.223.0/24 0.0.0.0/0 /* pritunl-5c0e51712cc5cb0023308bcc */
24 1544 MASQUERADE all -- * !br-7009c9b53be2 172.20.0.0/16 0.0.0.0/0
0 0 MASQUERADE all -- * !docker0 172.17.0.0/16 0.0.0.0/0
0 0 MASQUERADE all -- * !br-4dc510063f2a 172.18.0.0/16 0.0.0.0/0
0 0 MASQUERADE all -- * !br-3e70ad5e4d73 172.19.0.0/16 0.0.0.0/0
0 0 MASQUERADE tcp -- * * 172.20.0.4 172.20.0.4 tcp dpt:8080
0 0 SNAT all -- * * 192.168.223.0/24 0.0.0.0/0 to:172.17.0.1Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- br-7009c9b53be2 * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- docker0 * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- br-4dc510063f2a * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- br-3e70ad5e4d73 * 0.0.0.0/0 0.0.0.0/0
478 28128 DNAT tcp -- !br-7009c9b53be2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:172.20.0.4:8080
по правилам подозрительного ничего не нашел.предлагаю Pritunl запустить в TCP режиме вместо UDP для проверки. Должно сработать. А там может быть проблема заключается в размере MTU
> предлагаю Pritunl запустить в TCP режиме вместо UDP для проверки. Должно сработать.
> А там может быть проблема заключается в размере MTUСпасибо! запустил Pritunl в режиме TCP, подключение снаружи заработало
> А у меня веб-морда pritunl доступна только изнутри гостевой VM Win2016, снаружи
> недоступна...откуда VM Win 2016? разве докер не на Linux запущен?
Я с Казахстана открываю вашу админку
> откуда VM Win 2016? разве докер не на Linux запущен?докер на линукс запущен, на хост системе Win2016-гостевая VM
> Я с Казахстана открываю вашу админку
Я только недавно заметил, что пытался открыть из свежей версии Firefox и Chrome, а они без ssl не открывают, открыл админку в Vivaldi