[Debian] Не могу поднять openvpn

kruzer25

По сравнению с pptpd уже есть прогресс - подключение происходит, могу даже пинговать внешний ip-адрес сервера, а хотя бы его же шлюз - нет.
Никак не могу понять, что там надо указать в конфиге openvpn и в iptables, чтобы оно работало?
Конфигурация сети: адрес клиента 192.168.0.16, его гейт 192.168.0.1, ip сервера 62.***.***.159, его гейт 62.***.***.1, ip сервера в openvpn 10.8.0.1, ip клиента 10.8.0.5.
В конфиге openvpn ничего особого не указывал; сделал
$IPTABLES -t nat -A POSTROUTING -s $VPN_IP_RANGE -j SNAT --to-source $INET_IP
На сервере:
penartur:~# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 10.8.0.0/24 anywhere to:62.***.***.159

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

На клиенте:
C:\Users\penartur>route print
===========================================================================
Список интерфейсов
 40 ...00 ff c1 e3 42 bc ...... TAP-Win32 Adapter V9
 11 ...00 1c f0 0f f0 06 ...... D-Link Wireless 108G DWA-520 Desktop Adapter
 10 ...00 1c c0 73 df ee ...... 1 ........................... Software Loopba
k Interface 1
 34 ...00 00 00 00 00 00 00 e0 isatap.loc
 29 ...00 00 00 00 00 00 00 e0 isatap.{DDBB8C8D-8756-46AA-A3EC-94BB6BA60304}
 12 ...02 00 54 55 4e 01 ...... Teredo Tunneling Pseudo-Interface
 43 ...00 00 00 00 00 00 00 e0 ===============================================
===========================

IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
     0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.16 25
     0.0.0.0 0.0.0.0 10.8.0.5 10.8.0.6 30
     0.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 30
     10.8.0.1 255.255.255.255 10.8.0.5 10.8.0.6 30
     10.8.0.4 255.255.255.252 On-link 10.8.0.6 286
     10.8.0.6 255.255.255.255 On-link 10.8.0.6 286
     10.8.0.7 255.255.255.255 On-link 10.8.0.6 286
     62.***.***.0 255.255.255.0 10.8.0.5 10.8.0.6 30
     62.***.***.159 255.255.255.255 192.168.0.1 192.168.0.16 25
     62.***.***.159 255.255.255.255 192.168.0.1 10.8.0.6 31
     128.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 30
     169.254.0.0 255.255.0.0 On-link 10.8.0.6 306
  169.254.255.255 255.255.255.255 On-link 10.8.0.6 286
     192.168.0.0 255.255.255.0 On-link 192.168.0.16 26
    192.168.0.255 255.255.255.255 On-link 192.168.0.16 281
===========================================================================
Постоянные маршруты:
  Сетевой адрес Маска Адрес шлюза Метрика
     192.168.0.0 255.255.255.0 192.168.0.16 1
===========================================================================

IPv6 таблица маршрута
===========================================================================
Активные маршруты:
 Метрика Сетевой адрес Шлюз
 12 18 ::/0 On-link
 12 18 2001::/32 On-link
 12 266 2001:0:4137:9e50:1c12:1d39:a1e6:4e65/128
     On-link
 12 266 fe80::/64 On-link
 12 266 fe80::1c12:1d39:a1e6:4e65/128
     On-link
===========================================================================
Постоянные маршруты:
  Отсутствует

C:\Users\penartur>

На сервере при попытке зайти с клиента на ya.ru:
penartur:~# tcpdump not port 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet capture size 96 bytes
12:29:37.862140 arp who-has 62.2.86.67 tell 62.2.86.2
12:29:37.862761 IP **servername**.58936 > ns1.**hoster**.domain: 35862+ PTR? 67.86.2.62.in-addr.arpa. (41)
12:29:37.863801 IP ns1.**hoster**.domain > **servername**.58936: 35862 Nomain* 0/1/0 (104)
12:29:37.863907 IP **servername**.58724 > ns1.**hoster**.domain: 61416+ PTR? 2.86.2.62.in-addr.arpa. (40)
12:29:37.865676 IP ns1.**hoster**.domain > **servername**.58724: 61416 Nomain* 0/1/0 (103)
12:29:37.865786 IP **servername**.42184 > ns1.**hoster**.domain: 40905+ PTR? 39.86.2.62.in-addr.arpa. (41)
12:29:37.866701 IP ns1.**hoster**.domain > **servername**.42184: 40905* 1/2/2 PTR[|domain]
12:29:38.195401 arp who-has gheigl.vserver.**hoster** tell 62.***.***.2
12:29:38.195595 IP **servername**.59914 > ns1.**hoster**.domain: 57407+ PTR? 104.182.2.62.in-addr.arpa. (43)
12:29:38.196718 IP ns1.**hoster**.domain > **servername**.59914: 57407* 1/2/2 (153)
12:29:38.196810 IP **servername**.43419 > ns1.**hoster**.domain: 15232+ PTR? 2.182.2.62.in-addr.arpa. (41)
12:29:38.197612 IP ns1.**hoster**.domain > **servername**.43419: 15232 Nomain* 0/1/0 (104)
12:29:39.763927 arp who-has 62.***.***.70 tell 62.***.***.2
12:29:39.764120 IP **servername**.38839 > ns1.**hoster**.domain: 38934+ PTR? 70.182.2.62.in-addr.arpa. (42)
12:29:39.765167 IP ns1.**hoster**.domain > **servername**.38839: 38934 Nomain* 0/1/0 (105)
12:29:40.565352 arp who-has gheigl.vserver.**hoster** tell 62.***.***.2
12:29:41.432334 IP **client**.59561 > **servername**.openvpn: UDP, length 93
12:29:41.432591 IP **servername**.43077 > ns1.**hoster**.domain: 46184+ PTR? 237.179.25.94.in-addr.arpa. (44)
12:29:41.433802 IP ns1.**hoster**.domain > **servername**.43077: 46184 1/4/4 (214)
12:29:42.564085 arp who-has gheigl.vserver.**hoster** tell 62.***.***.2
12:29:44.400984 arp who-has 62.2.86.69 tell 62.2.86.2
12:29:44.401178 IP **servername**.33933 > ns1.**hoster**.domain: 45816+ PTR? 69.86.2.62.in-addr.arpa. (41)
12:29:44.402487 IP ns1.**hoster**.domain > **servername**.33933: 45816 Nomain* 0/1/0 (104)
12:29:44.427930 IP **client**.59561 > **servername**.openvpn: UDP, length 93
12:29:44.621960 arp who-has gheigl.vserver.**hoster** tell 62.***.***.2
12:29:45.069760 arp who-has 62.2.86.1 tell extranet.hignos.ch
12:29:45.069937 IP **servername**.54574 > ns1.**hoster**.domain: 55672+ PTR? 1.86.2.62.in-addr.arpa. (40)
12:29:45.070981 IP ns1.**hoster**.domain > **servername**.54574: 55672 Nomain* 0/1/0 (103)
12:29:45.071070 IP **servername**.45686 > ns1.**hoster**.domain: 8834+ PTR? 194.86.2.62.in-addr.arpa. (42)
12:29:45.072860 IP ns1.**hoster**.domain > **servername**.45686: 8834* 1/2/2 PTR[|domain]
12:29:45.454746 IP **servername**.openvpn > **client**.59561: UDP, length 53
12:29:45.827672 IP **client**.59561 > **servername**.openvpn: UDP, length 133
12:29:45.827677 IP **client**.59561 > *

alfadred

cat /proc/sys/net/ipv4/ip_forward
?

Ivan8209

> 12:29:50.757268 IP ns1.**hoster**.domain > **servername**.57492: 34960 Nomain* 0/1/0 (105)
Отфильтруй это как-нибудь, а то за твоими проблемами с DNS ничего не видно.
Оно называется "udp port domain" или "udp port 53", если оно в линуксах сломано.
Вообще, похоже на то, что оно не натится (или не прокидывается на интерфейс).
---
"This user is BSD-compliant."

kruzer25

penartur:~$ cat /proc/sys/net/ipv4/ip_forward
0
penartur:~$

:(

Ivan8209

А чего ты хотел, если у тебя пакеты через хост не проходят?
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

alfadred

#sysctl -w net.ipv4.ip_forward=1
Чтобы при загрузке прописывалось, отредактировать /etc/sysctl.conf

Ivan8209

> sysctl -w net.ipv4.ip_forward=1
Привет братьям по разуму.
---
"This user is BSD-compliant."

kruzer25

Это я на всякий случай решил всю инфу запостить.
penartur:~# tcpdump not port 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet capture size 96 bytes
12:29:37.862140 arp who-has 62.2.86.67 tell 62.2.86.2
...
12:29:39.763927 arp who-has 62.***.***.70 tell 62.***.***.2
...
12:29:41.432334 IP **client**.59561 > **servername**.openvpn: UDP, length 93
...
12:29:44.400984 arp who-has 62.2.86.69 tell 62.2.86.2
...
12:29:44.427930 IP **client**.59561 > **servername**.openvpn: UDP, length 93
...
12:29:45.069760 arp who-has 62.2.86.1 tell extranet.hignos.ch
...
12:29:45.454746 IP **servername**.openvpn > **client**.59561: UDP, length 53
12:29:45.827672 IP **client**.59561 > **servername**.openvpn: UDP, length 133
12:29:45.827677 IP **client**.59561 > **servername**.openvpn: UDP, length 133
...
12:29:47.433921 arp who-has 62.2.86.69 tell 62.2.86.2
12:29:48.942818 arp who-has 62.***.***.12 tell 62.***.***.2
...
12:29:48.957271 IP **client**.59561 > **servername**.openvpn: UDP, length 93
12:29:49.320663 arp who-has 62.2.86.1 tell oeko-admin.ch
...
12:29:50.293624 arp who-has 62.***.***.36 tell 62.***.***.2
...
12:29:50.353099 arp who-has 62.***.***.44 tell 62.***.***.2
...
12:29:50.448431 IP **client**.59561 > **servername**.openvpn: UDP, length 85
12:29:50.756071 arp who-has 62.2.86.100 tell 62.2.86.2
...
12:29:51.793034 arp who-has 62.***.***.12 tell 62.***.***.2
12:29:51.932808 IP **client**.59561 > **servername**.openvpn: UDP, length 93
...
12:29:53.266597 arp who-has 62.***.***.36 tell 62.***.***.2
12:29:53.368922 arp who-has 62.***.***.44 tell 62.***.***.2
12:29:55.188073 arp who-has 62.2.86.86 tell 62.2.86.2
...
12:29:55.817673 IP **client**.59561 > **servername**.openvpn: UDP, length 133
12:29:55.817679 IP **client**.59561 > **servername**.openvpn: UDP, length 133
12:29:55.817772 IP **servername**.openvpn > **client**.59561: UDP, length 53
12:29:56.788889 arp who-has 62.***.***.36 tell 62.***.***.2
...
12:29:57.610432 arp who-has 62.2.86.86 tell 62.2.86.2
12:29:57.932553 IP **client**.59561 > **servername**.openvpn: UDP, length 85
12:29:57.990392 arp who-has 62.***.***.21 tell 62.***.***.2
...
12:29:59.976895 arp who-has 62.2.86.180 tell 62.2.86.5
...
12:30:00.076358 arp who-has 62.2.86.44 tell 62.2.86.180
...
12:30:00.651959 arp who-has 62.2.86.38 tell 62.2.86.2
...
12:30:00.934993 arp who-has 62.***.***.21 tell 62.***.***.2
^C
84 packets captured
84 packets received by filter
0 packets dropped by kernel
penartur:~#

Без arp:
penartur:~# tcpdump not port 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet capture size 96 bytes
...
12:29:41.432334 IP **client**.59561 > **servername**.openvpn: UDP, length 93
...
12:29:44.427930 IP **client**.59561 > **servername**.openvpn: UDP, length 93
...
12:29:45.454746 IP **servername**.openvpn > **client**.59561: UDP, length 53
12:29:45.827672 IP **client**.59561 > **servername**.openvpn: UDP, length 133
12:29:45.827677 IP **client**.59561 > **servername**.openvpn: UDP, length 133
...
12:29:48.957271 IP **client**.59561 > **servername**.openvpn: UDP, length 93
...
12:29:50.448431 IP **client**.59561 > **servername**.openvpn: UDP, length 85
...
12:29:51.932808 IP **client**.59561 > **servername**.openvpn: UDP, length 93
...
12:29:55.817673 IP **client**.59561 > **servername**.openvpn: UDP, length 133
12:29:55.817679 IP **client**.59561 > **servername**.openvpn: UDP, length 133
12:29:55.817772 IP **servername**.openvpn > **client**.59561: UDP, length 53
...
12:29:57.932553 IP **client**.59561 > **servername**.openvpn: UDP, length 85
...
^C
84 packets captured
84 packets received by filter
0 packets dropped by kernel
penartur:~#

Вообще, похоже на то, что оно не натится (или не прокидывается на интерфейс).
И что с этим делать?

Ivan8209

"Packet forwarding" включи.
У нас этим занимается sysctl, у вас, наверное, "echo 1 > /куда-то/там".
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

alfadred

У нас этим занимается sysctl, у вас, наверное, "echo 1 > /куда-то/там".
sysctl тоже есть.

kruzer25

Спасибо, заработало :)
C:\Users\penartur>tracert -d ya.ru

Трассировка маршрута к ya.ru [213.180.204.8]
с максимальным числом прыжков 30:

1 147 ms 146 ms 192 ms 10.8.0.1
2 203 ms 194 ms 145 ms 62.*.**.3
3 150 ms 194 ms 194 ms 62.*.***.33
4 165 ms 171 ms 203 ms 213.46.171.49
5 168 ms 194 ms 194 ms 213.46.171.58
6 181 ms 179 ms 248 ms 80.91.248.123
7 205 ms 234 ms 239 ms 80.239.147.177
8 342 ms 309 ms 237 ms 80.239.147.158
9 254 ms 280 ms 305 ms 213.248.96.34
10 305 ms 386 ms 310 ms 77.88.16.124
11 233 ms 312 ms 266 ms 213.180.204.8

Трассировка завершена.

C:\Users\penartur>

:p

Ivan8209

> Это я на всякий случай решил всю инфу запостить.
Да, и не надо нам "всю инфу," ты посылай то, что нужно.
Нам этого счастья и без тебя хватает.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

kruzer25

Да, и не надо нам "всю инфу," ты посылай то, что нужно.
Я не знаю, что именно нужно.

Ivan8209

Ну, как бы, можно догадаться, что DNS нам не впился, если ты пинги шлёшь.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

kruzer25

Ещё одна проблема - почему-то такой интернет адски тормозит.
Если я забираю большой файл с того сервера через scp (не через vpn, а напрямую) - скорость очень быстро разгоняется до 200КБ/с. Пинги до яндекса напрямую идут 70мс (ограничение моего локального канала до интернета); до сервера 150мс; до яндекса через vpn - 200мс (от сервера до яндекса - как раз те 50мс вроде бы, всё в пределах нормального. Если, при работе через vpn, дождаться загрузки internet.yandex.ru - намеряют 2531/1394 кбпс, "это швейцария".
Но при этом браузинг просто адски медленный. Даже странички форума в лайте грузятся по полминуты (как в IE (Sleipnir так и в Chrome). Работать совершенно невозможно.
С чем это может быть связано? :(

dgaf

MTU?

Ivan8209

PMTUD не работает?
---
"This user is BSD-compliant."

sergeikozyr

tracepath-ом затесть mtu соединения (не туннеля) через который идёт туннель. Потом проставь в конфиге сервера и клиента меньший mtu.

kruzer25

Оказывается, просто говнодлинковская точка доступа перегрелась, оно и без openvpn тормозило :)

kruzer25

Но теперь появилась другая странная ошибка. При попытке зайти на internet.yandex.ru через Sleipnir получаю ошибку 500 (это ответ от сервера, не при попытке начать тест, а при попытке просто зайти на главную страницу); в традиционном IE всё нормально - вообще непонятно, с чем это может быть связано, Sleipnir использует тот же самый движок.
Ну ладно, это уже не так существенно, всё остальное, вроде бы, работает.

Ivan8209

Это что-то странное и непонятное. У вас в линуксах не работает PMTUD?
---
"This user is BSD-compliant."

katrin2201

Он же в принципе может не работать

Ivan8209

В смысле, "сдуру можно много чего сломать?"
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

sergeikozyr

apropos mtu сказал tracepath, никакого pmtud там не было, ты уж извини.

katrin2201

Ну да =)

Ivan8209

Ликбез.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

Serab

Это что-то странное и непонятное. У вас в линуксах не работает PMTUD?
Ну что значит не работает? Тут же говорят о нате. Добавить правило в firewall и все заработает.

Ivan8209

Тут говорят о том, что требование выставлять MTU руками очень
подозрительно, потому что в операционных системах оно само
определяется. Но, как говорится, сдуру можно много чего сломать.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

Serab

Тут говорят о том, что требование выставлять MTU руками очень
подозрительно, потому что в операционных системах оно само
определяется.
или кто там первый сверху когда об этом говорил имел в виду, что надо добавить правило в iptables (предположительно) как раз чтобы не выставлять вручную mtu в винде.
Ты не можешь не знать, что иногда без этого работать не будет (если провайдер или там по пути кто-нибудь блочит определенные типы icmp)

Ivan8209

Провайдеру это нафиг не надо, иначе у него будет куча жалующихся
пользователей, кто-кто а уж провайдеры-то об этом знают.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

katrin2201

К сожалению, встречаются еще такие динозавры =(

Serab

Провайдеру это нафиг не надо, иначе у него будет куча жалующихся
пользователей, кто-кто а уж провайдеры-то об этом знают.
Ну значит не провайдеры, я уже не помню, кто точно не прав, но чтобы из ГЗ через нат пустить на mail.ru точно правило добавлять надо, иначе колбасит неслабо.
Оставить комментарий
Имя или ник:
Комментарий: