LINUX.ORG.RU
ФорумTalks

VPN и маршрутопроблемы

 ,


0

1

Поднят vpn на зарубежном хосте.

traceroute ...

 1  10.9.8.1 (10.9.8.1)  74.285 ms  75.604 ms  78.070 ms
 2  сервер vps провайдера (вроде бы)  
 3  hurricane-electric.nikhef.nl-ix.net (193.239.116.14)  126.769 ms *  132.160 ms    // какой-то голландский сервер
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  37.29.16.70 (37.29.16.70)  199.056 ms  202.962 ms  204.726 ms
10  ae1-sirius6b-yampol-msk.naukanet.ru (77.94.160.49)  145.408 ms  161.066 ms  204.908 ms

В общем, я так понял, первый хоп - на хост vps-провайдера (хотя он не совпадает с тем, что в конфиге клиента openvpn, почему-то)

Откуда здесь берется 37.29.16.80? whois говорит это: Volga Branch of OJSC MegaFon, Client MMTN 20

Объясните ламеру, ЧЯДНТ?

★★

Ты делаешь трейс до какого-то отечественного хоста, а он получает интернет по шлангу от мегафона. В чём вопрос-то?

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

Этот желанный хост вообще не в России.

Вот чего появилось при поднятии openvpn на клиенте:

ip route

0.0.0.0/1 via 10.9.8.5 dev tun0 
default via 192.168.1.1 dev wlp2s0 src 192.168.1.2 metric 302 
10.9.8.0/24 via 10.9.8.5 dev tun0 
10.9.8.5 dev tun0 proto kernel scope link src 10.9.8.6 
128.0.0.0/1 via 10.9.8.5 dev tun0 
192.168.1.0/24 dev wlp2s0 proto kernel scope link src 192.168.1.2 metric 302 
212.(адрес vpn-прова) via 192.168.1.1 dev wlp2s0 
frpaul ★★
() автор топика
Ответ на: комментарий от Gary

В чём вопрос-то?

Что делать, чтобы маршрут не выходил на naukanet?

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

Та же история,

traceroute linkedin.com

1  10.9.8.1 (10.9.8.1)  72.648 ms  73.453 ms  78.492 ms
 2  *** 78.784 ms  79.557 ms  79.809 ms
 3  hurricane-electric.nikhef.nl-ix.net (193.239.116.14)  119.834 ms  109.861 ms  110.165 ms
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  37.29.16.70 (37.29.16.70)  169.687 ms  205.248 ms  204.523 ms
10  ae1-sirius6b-yampol-msk.naukanet.ru (77.94.160.49)  204.710 ms  204.368 ms  204.486 ms

С провайдером vpn чего-то не то?

frpaul ★★
() автор топика
Последнее исправление: frpaul (всего исправлений: 1)
Ответ на: комментарий от frpaul

С провайдером vpn чего-то не то

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

Это интересно. Он у тебя личный на каком-то хостинге с лично твоим IP? В смысле, ты купил vps и сам развернул там vpn-сервер. На каком хостинге, если не секрет. Или ты готовую услугу vpn у провайдера vpn приобретал?

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 2)
Ответ на: комментарий от praseodim

vps.ag

Болгарский. Вроде бы. Подобрал ссылку на ЛОРе. А зря )) Дешевый. 3 евро всего

Хорошо, что всего на месяц.

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

Вот чего с ним теперь делать?

Надо другого хостера поискать, видимо. Я хотел туда еще moodle запихнуть. И вообще хочу песочницу, поиграться.

Но как это у них получилось?

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

Мне еще кажется подозрительным, что первый хоп приходит не на тот адрес, который в конфиге клиента прописан. Он тоже ассоциирован с той же конторой, согласно whois, но это другой ip.

Причем, трафик на всякие гуглы идет не на голландский сервер (2й хоп), а куда-то в другую сторону. Короче, какая-то подозрительная контора.

frpaul ★★
() автор топика
Последнее исправление: frpaul (всего исправлений: 1)
Ответ на: комментарий от sjinks

Нет, только:

push «redirect-gateway def1 bypass-dhcp»

push «dhcp-option 8.8.8.8»

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

Все же я не понял, ты сам разворачивал там vps и поднимал vpn или использовал какое-то готовое предложение? Оно хоть пару минут работало?

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

Я чего хочу выяснить: если это действительно блокировка, то что именно произошло: ты нарвался на бан из-за кого-то еще или персонально твою vpn-ку уже стали вычислять и блокировать (вроде не должны, даже официально должны до 30 дней давать и т.п.).

Проверь IP на https://antizapret.info

P.S. А вообще похоже, что надо хотя бы на всякий случай не просто OpenVPN ставить, который детектится всеми DPI, а SoftEther с SSL-VPN на 443 порту https://habrahabr.ru/post/208782/

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 2)
Ответ на: комментарий от praseodim

Да, я купил vps, поднял на нем openvpn. Работало, в терминал пускает. Сайты были доступны все, кроме роскомнадзоровских )

Попробовал туда прописать push «redirect-gateway local», пропал vpn. Все идет по дефолту и из таблицы все маршруты удалились, кроме дефолтных. Хотя директиву закоментил и перегрузил сервер и клиента. Ничего не понимаю.

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

Может дело в конфигурации. У меня с роутера интернет раздается по wifi. На ноутбуке клиент, который соединяется по дефолту через wlp2s0 с роутером. Роутер получает адрес с NAT провайдера. Может надо ручками какие-то маршруты прописать?

На сервере прописал:

iptables -A FORWARD -i eth0 -o tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 10.9.8.0/24 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.9.8.0/24 -o eth0 -j MASQUERADE
frpaul ★★
() автор топика
Ответ на: комментарий от frpaul

Сайты были доступны все, кроме роскомнадзоровских )

То есть блокировали что ли?

Работало, в терминал пускает.

То есть, сейчас терминал доступен? По ssh можешь зайти на свою vps? Тогда я что-то не пойму, ты же привел traceroute, который тебя завернул.

Начни сначала. Вот твой IP, который тебе выделили на хостинге. Ты через ssh заходишь на тот же IP-адрес, что traceroute или другой?

Чтобы проверить как пакеты ходят по разным портам сделай:

1. #traceroute -T -p ssh_порт_vps IP_vps

2. #traceroute -T -p vpn_порт_vps IP_vps

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 2)
Ответ на: комментарий от frpaul

Роутер получает адрес с NAT провайдера. Может надо ручками какие-то маршруты прописать?

Бывает, что надо проброс портов настроить. Лучше для отладки включись напрямую минуя роутер. А то бывает, что ловишь глюки там, где их нет.

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от praseodim

1. Приходится делать скидку, что я ничего не понимаю в сетевых делах. Поэтому, собственно и взялся хоть немного разобраться. Например, сейчас только что зашел на сервер по SSH в первый раз в жизни )) Все работает, директории видать.

2. В traceroute был другой адрес, чем тот, по которому сейчас зашел по ssh. Но сейчас того странного адреса нету, потому что сами flush'нулись все маршруты, которые автоматом прописались, когда я в очередной раз поднял клиента. Сейчас в начале выхлопа ip route просто роутер пишется RG32, а не 10.9.8.1

Насчет traceroute не совсем понял насчет моего ip. Это динамический адрес, который видать из интернета?

Похоже, надо прописать те маршруты, что были, чтобы вопроизвести баг снова.

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

Что-то какая-то вообще каша получается со странными адресами и т.п. Я тоже невеликий спец в сетевых делах, но давай разгребать последовательно.

Итак, обычно хостер VPS, кроме всяких админок на своем сайте, дает тебе IP-адрес твоей VPS (IP_vps). Белый адрес (могут быть еще внутренние, могут быть даже несколько белых, но не суть). Собственно, без этого адреса твоя VPS не будет видна в интернете вообще. Также обычно в свежеподнятой VPS уже поднят ssh-сервер для захода через ssh. Для этого обычно надо или сгенерировать ключи для ssh и загрзить хостеру или иногда по-старинке пускает по логин/пароль через ssh

Что с доступностью самого адреса?

traceroute IP_vps куда заводит?

Пакеты на разные tcp-порты могут идти разными маршрутами, поэтому у traceroute есть еще опция -T (использовать tcp, а не icmp для пробы марштрута) с параметром в номер порта.

У ssh порт обычно 22, но рекомендую его сменить на что-то номером более 1000, потому что разные боты имеют привычку долбиться по стандартным портам и пытаться применять разные эксплоиты для проникновения и если есть баг, то могут поиметь.

У openvpn стандартный порт - 1194 (и тоже очень советую сменить, неплохо на 443 поменять, чтобы немного замаскироваться - это https)

Так вот

#traceroute -T -p 22 IP

#traceroute -T -p 1194 IP

позволят для начала понять как пакеты ходят и проверить не банят ли тупо по ним.

Если все нормально неплохо узнать открыт ли вообще порт vpn на vps. Можно просто прителнетиться

telnet IP 1194

если открыт, будет соединение, которое сбросится через какое-то время

Или чтобы «правильно» можно nmap использовать

$nmap -sT -p 1194 IP

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от praseodim

Итак, обычно хостер VPS, кроме всяких админок на своем сайте, дает тебе IP-адрес твоей VPS (IP_vps). Также обычно в свежеподнятой VPS уже поднят ssh-сервер для захода через ssh. Для этого обычно надо или сгенерировать ключи для ssh и загрзить хостеру или иногда по-старинке пускает по логин/пароль через ssh

Все так и есть.

traceroute IP_vps куда заводит?

Да, нормально. В смысле, приводит к нужному IP

telnet IP 1194

Есть контакт.

frpaul ★★
() автор топика
Последнее исправление: frpaul (всего исправлений: 1)
Ответ на: комментарий от praseodim

Вот опять. Сам поднялся tun0 на клиенте, прописались роуты:

ip route

     
0.0.0.0/1 via 10.9.8.5 dev tun0 
default via 192.168.1.1 dev wlp2s0 src 192.168.1.2 metric 302 
10.9.8.0/24 via 10.9.8.5 dev tun0 
10.9.8.5 dev tun0 proto kernel scope link src 10.9.8.6 
128.0.0.0/1 via 10.9.8.5 dev tun0 
192.168.1.0/24 dev wlp2s0 proto kernel scope link src 192.168.1.2 metric 302 
******** (ip vpn-севера) via 192.168.1.1 dev wlp2s0 proto static 

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

Сначала ты видишь адрес сервера на tun-интерфейсе

Следующий хоп — уже следующая машина, т.к. этот пакет уже дошёл до впски по tun-интерфейсу, и там скорее всего будет какой-то соседний с впской девайс

Адрес впски, который в конфиге впн-клиента, ты не должен видеть никогда, потому что это адрес в интернете, а не на tun-интерфейсе.

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

Ну вроде разобрались, что на провайдерскую блокировку непохоже.

Чего-то признаться не пойму. Смущает 128.0.0.0 и вообще несколько подсеток для tun0

Вообще, лучше это в раздел Admin завести

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

Кажется вот из-за чего такая странная штука выходит:

Я задал

ip route add ***(ip-vpn) via 192.168.1.1(внутренний адрес wifi роутера) dev wlp2s0 proto static

После этого через какое-то время поднялся tun0 и прописались маршруты и начались описанные глюки.

Что надо было сделать, чтобы пакеты шли, куда надо?

Адрес впски, который в конфиге впн-клиента, ты не должен видеть никогда, потому что это адрес в интернете, а не на tun-интерфейсе.

Понял.

frpaul ★★
() автор топика
Последнее исправление: frpaul (всего исправлений: 1)
Ответ на: комментарий от praseodim

Кое-что выяснил. См предыдущий пост.

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

Я бы не прописывал никаких маршрутов вручную

Маршруты для интернетов получай от роутера, маршруты для впн - пропиши в конфиге впн через route add

Алсо

0.0.0.0/1 via 10.9.8.5 dev tun0 
128.0.0.0/1 via 10.9.8.5 dev tun0 

ЕМНИП это хак для замены дефолтного маршрута без удаления оного

Так что с маршрутами вроде всё в порядке?

Я честно говоря уже потерял, в чём именно проблема. Тебе не нравится что трафик по впн в конечном итоге заруливается через Москву? Попробуй зайти по ssh на свой сервер и сделать traceroute оттуда и посмотри, как пойдёт трафик. Возможно это просто проблемы провайдера впски.

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

Попробуй зайти по ssh на свой сервер и сделать traceroute оттуда и посмотри, как пойдёт трафик. Возможно это просто проблемы провайдера впски.

traceroute любимый трэкер

После адреса сервера сразу вот это вылазит.

as57463.0.181.netix.net (193.218.0.181)

И все. Какой-то Internet Exchange Point болгарский. И дальше глухо.

------

traceroute linkedin.com

 2  ae54-133.bar1.Sofia2.Level3.net (212.162.31.173)  1.201 ms  0.794 ms  0.932 ms
 3  ae0-8.RT.TLX.NYC.US.retn.net (87.245.233.114)  145.237 ms  144.870 ms *
 4  * * *
 5  * * *
 6  prs-b2-link.telia.net (62.115.122.5)  40.504 ms * *
 7  * * *
 8  * * *
 9  * * *
10  * * ash-bb3-link.telia.net (62.115.141.244)  133.949 ms
11  * * *
12  * * *
13  * * *

В общем, похоже, ты прав. Проблема в провайдере впс. Может у них договор с большим братом? ))

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

aruba - 1 евро

Да, хорошо. Их не залочат в первую очередь? Чего-то на слуху словечко.

Как там скорость?

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

Я бы не прописывал никаких маршрутов вручную

Без этого tun0 не поднимается на клиенте (на сервере все норм).

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

Маршруты для интернетов получай от роутера, маршруты для впн - пропиши в конфиге впн через route add

Можно это разжевать для ламера?

1. Как получаем маршруты интернета от роутера? Надо чего-то делать, или по дефолту должно идти то, что идет?

2. Куда писать push «ip route add...» - в конфиг сервера?

Я так понимаю, после строк

push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option 8.8.8.8"

И главное, чего писать? Ведь для сервера мой внутренний гейт 192.168.1.1 вообще непонятен.

Я начал курить протоколы и маршрутизацию, но пока еще туман.

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

Неплохо. 20 гигов дают. Болгары только 10. Спасибо, буду иметь в виду.

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

Добрые люди посоветовали проверить resolv.conf. Вероятно, странная маршрутизация происходит от того, что у меня прописаны DNS провайдера, которые подменяют адреса.

cat /etc/resolv.conf 
# Generated by resolvconf
domain RT-G32
nameserver 192.168.1.1

Получается, надо менять DNS на роутере. Какие лучше прописать? Из забугорных знаю только 8.8.8.8.

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

Короче нарыл. Это мой провайдер тырнетов.

Публичные DNS не получается использовать

https://habrahabr.ru/post/320700/

Мы все умрьйом.

Завтра попробую позвонить в техподдержку.

frpaul ★★
() автор топика

В общем, dnscrypt. Помогло.

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