Обновить

VPN включён, а сайты не работают: большой обзор способов маршрутизации трафика на Windows, Linux и macOS

Уровень сложностиСредний
Время на прочтение30 мин
Охват и читатели12K
Всего голосов 11: ↑9 и ↓2+7
Комментарии5

Комментарии 5

В разделе про Linux диагностику можно ещё добавить ss -taupn или lsof -i для просмотра, кто именно держит сокет и через какой интерфейс ушёл пакет. ip route get показывает маршрут, но не показывает, что приложение действительно использует нужный сокет-бинд.

Спасибо за дополнение! Согласен, ss и lsof здесь будут полезны — они позволяют сопоставить соединение с конкретным процессом и посмотреть локальные адреса сокетов.

Только уточню, что сами по себе эти команды не показывают фактический выходной интерфейс. ip route get тоже моделирует выбор маршрута и не учитывает автоматически все параметры конкретного сокета, например SO_BINDTODEVICE или fwmark.

Для проверки фактического прохождения пакетов через интерфейс уже полезен tcpdump -i <интерфейс>. Добавлю эти инструменты в раздел диагностики с пояснением различий. Спасибо!

UPD: в статье после ip route get 1.1.1.1 обновил по вашим замечаниям

Если на машине включён nf_conntrack, то вместо tcpdump можно conntrack -L (или nft monitor trace / счётчики iptables -t mangle) в связке с ss -tp связывает PID с направлением соединения без promiscuous mode.

еще бы нормальный VPN найти, чтобы работал, иногда приходится в ручную сервера перебирать у них, если такая возможность есть конечно в ВПН

Browsec вроде нормально работает. По крайней мере оплаченный. Но это у меня. :-)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации