LINUX.ORG.RU

Не загружаются сайты при подключении VPN.

 , ,


0

1

Вообщем ситуация следующая, при подключении к интернету не загружаеются сайты, либо загружается только верхняя часть или заголовок. С винды всё ок, т.е. проблем с сервером никаких нету. Копался в интернете и нашёл, что проблема в MTU, а именно Discovery Black Hole. Вообщем покапался нашёл как решить через найстроки firewall. iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \ -j TCPMSS --clamp-mss-to-pmtu

Менял mss на глаз, но по итогу ничего не получилось. Кто нибудь, если может помочь в этом вопросе был бы очень благодарен.

1. Аббревиатура VPN слишком общая.
2. Если при равных условиях, оффтоп и онтоп являются клиентами vpn одной и той же сети vpn то дело явно не в pmtu.
Дайте больше подробностей, что за vpn и так далее.

anc ★★★★★ ()

Попробуй выставить вручную меньше значение mtu на интерфейсе если уверен что дело в mtu. Покажи tracepath yandex.ru Можно ещё поиграться с ping -c 4 -M do -s 1300 ya.ru уменьшая и увеличивая значение. Ну и не плохо было бы узнать что за vpn используется.

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

1. OpenVPN 2. Честно это не очень понял, можно подробнее? У меня такое при подключении к любому OpenVPN именно с linux, причём попросил знакомого и у него такая же ситуация. А с Windows всё нормально, т.е проблема точно не в серверах, а именно с линукс.

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

Самое интересное, что на всех интерфесах, даже при подключении mtu 1500. Если честно уже сам не знаю. В чём может быть дело. Ввёл ваши значения в tracepath и вот что оно выдало:

gethostbyname2: Host name lookup failure
При поднятом VPN. Вот лог VPN:
Sat Jan  6 17:32:19 2018 Unrecognized option or missing parameter(s) in client.ovpn:15: block-outside-dns (2.3.10)
Sat Jan  6 17:32:19 2018 OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 22 2017
Sat Jan  6 17:32:19 2018 library versions: OpenSSL 1.0.2g  1 Mar 2016, LZO 2.08
Sat Jan  6 17:32:19 2018 Control Channel Authentication: tls-auth using INLINE static key file
Sat Jan  6 17:32:19 2018 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Sat Jan  6 17:32:19 2018 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Sat Jan  6 17:32:19 2018 Socket Buffers: R=[87380->87380] S=[16384->16384]
Sat Jan  6 17:32:19 2018 Attempting to establish TCP connection with [AF_INET]23.12.54.231:443 [nonblock]
Sat Jan  6 17:32:20 2018 TCP connection established with [AF_INET]46.17.44.226:443
Sat Jan  6 17:32:20 2018 TCPv4_CLIENT link local: [undef]
Sat Jan  6 17:32:20 2018 TCPv4_CLIENT link remote: [AF_INET]46.17.44.226:443
Sat Jan  6 17:32:20 2018 TLS: Initial packet from [AF_INET]46.17.44.226:443, sid=5899dc0c 1dcb5b12
Sat Jan  6 17:32:20 2018 VERIFY OK: depth=1, CN=ChangeMe
Sat Jan  6 17:32:20 2018 Validating certificate key usage
Sat Jan  6 17:32:20 2018 ++ Certificate has key usage  00a0, expects 00a0
Sat Jan  6 17:32:20 2018 VERIFY KU OK
Sat Jan  6 17:32:20 2018 Validating certificate extended key usage
Sat Jan  6 17:32:20 2018 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Sat Jan  6 17:32:20 2018 VERIFY EKU OK
Sat Jan  6 17:32:20 2018 VERIFY OK: depth=0, CN=server
Sat Jan  6 17:32:21 2018 Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Sat Jan  6 17:32:21 2018 Data Channel Encrypt: Using 512 bit message hash 'SHA512' for HMAC authentication
Sat Jan  6 17:32:21 2018 Data Channel Decrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Sat Jan  6 17:32:21 2018 Data Channel Decrypt: Using 512 bit message hash 'SHA512' for HMAC authentication
Sat Jan  6 17:32:21 2018 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
Sat Jan  6 17:32:21 2018 [server] Peer Connection Initiated with [AF_INET]23.12.54.231:443
Sat Jan  6 17:32:23 2018 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Sat Jan  6 17:32:23 2018 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 26.15.40.200,dhcp-option DNS 26.15.41.200,route-gateway 10.8.0.1,topology subnet,ping 10,ping-restart 120,ifconfig 10.8.0.2 255.255.255.0,peer-id 0'
Sat Jan  6 17:32:23 2018 OPTIONS IMPORT: timers and/or timeouts modified
Sat Jan  6 17:32:23 2018 OPTIONS IMPORT: --ifconfig/up options modified
Sat Jan  6 17:32:23 2018 OPTIONS IMPORT: route options modified
Sat Jan  6 17:32:23 2018 OPTIONS IMPORT: route-related options modified
Sat Jan  6 17:32:23 2018 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Sat Jan  6 17:32:23 2018 OPTIONS IMPORT: peer-id set
Sat Jan  6 17:32:23 2018 OPTIONS IMPORT: adjusting link_mtu to 1607
Sat Jan  6 17:32:23 2018 ROUTE_GATEWAY 192.168.0.1/255.255.255.0 IFACE=wlp2s0 HWADDR=08:d4:0c:b5:83:d0
Sat Jan  6 17:32:23 2018 TUN/TAP device tun0 opened
Sat Jan  6 17:32:23 2018 TUN/TAP TX queue length set to 100
Sat Jan  6 17:32:23 2018 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Sat Jan  6 17:32:23 2018 /sbin/ip link set dev tun0 up mtu 1500
Sat Jan  6 17:32:23 2018 /sbin/ip addr add dev tun0 10.8.0.2/24 broadcast 10.8.0.255
Sat Jan  6 17:32:23 2018 /sbin/ip route add 23.12.54.231/32 via 192.168.0.1
Sat Jan  6 17:32:23 2018 /sbin/ip route add 0.0.0.0/1 via 10.8.0.1
Sat Jan  6 17:32:23 2018 /sbin/ip route add 128.0.0.0/1 via 10.8.0.1
Sat Jan  6 17:32:23 2018 Initialization Sequence Completed
^CSat Jan  6 17:33:44 2018 event_wait : Interrupted system call (code=4)
Sat Jan  6 17:33:44 2018 /sbin/ip route del 23.12.54.231/32
Sat Jan  6 17:33:44 2018 /sbin/ip route del 0.0.0.0/1
Sat Jan  6 17:33:44 2018 /sbin/ip route del 128.0.0.0/1
Sat Jan  6 17:33:44 2018 Closing TUN/TAP interface
Sat Jan  6 17:33:44 2018 /sbin/ip addr del dev tun0 10.8.0.2/24
Sat Jan  6 17:33:44 2018 SIGINT[hard,] received, process exiting

А вот конфиги ip r и ip a при включённом VPN

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 54:ee:75:93:85:f9 brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 08:d4:0c:b5:83:d0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.103/24 brd 192.168.0.255 scope global dynamic wlp2s0
       valid_lft 5698sec preferred_lft 5698sec
    inet6 fe80::e41c:c4c6:5ce2:e9f2/64 scope link 
       valid_lft forever preferred_lft forever
12: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.2/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::fb4d:2071:dec4:1c27/64 scope link flags 800 
       valid_lft forever preferred_lft forever

0.0.0.0/1 via 10.8.0.1 dev tun0 
default via 192.168.0.1 dev wlp2s0  proto static  metric 600 
10.8.0.0/24 dev tun0  proto kernel  scope link  src 10.8.0.2 
23.12.54.231 via 192.168.0.1 dev wlp2s0 
128.0.0.0/1 via 10.8.0.1 dev tun0 
169.254.0.0/16 dev wlp2s0  scope link  metric 1000 
192.168.0.0/24 dev wlp2s0  proto kernel  scope link  src 192.168.0.103  metric 600 
Disconiers ()
Ответ на: комментарий от Disconiers

gethostbyname2: Host name lookup failure

Похоже все проще и сложнее. Сравните выхлоп cat /etc/resolv.conf до и после подключения он у вас скорее всего не меняется.

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

До подключения:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1

И после подключения не меняется.

Добавить mtu-test не могу openvpn выдаёт ошибку

Options error: --mtu-test only makes sense with --proto udp
Use --help for more information.

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

1. Для теста, после подъема туннеля меняем содержимое /etc/resolv.conf на nameserver 8.8.8.8
2. Если все работает, то гуглим что-то вида «название-вашего-дистра openvpn установка dns»

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

похоже что проблема с dns отредактируйте как писали выше /etc/systemd/resolved.conf для того чтобы точно убедиться что дело в dns. Без vpn сайты открываются? В windows работает потому что там клиент нормально получает днс от сервера openvpn. В linux с этим проблема и раньше обычно решалась через костыли. Посмотри cat /etc/systemd/resolved.conf |grep -i dns и вывод systemctl status systemd-resolved.service

avb ()