Как запретить трафик в обход VPN (при обрыве)
Подскажите, пожалуйста, как в Windows 7 запретить утечку трафика для определенных программ или вообще всего трафика, которая происходит во время дисконнекта openVPN клиента?
То есть, если клиент внезапно стал disconnected весь трафик тут же блочился бы. Знаю, что есть программа IP Filter & Monitor, но может быть можно что-то полегче придумать. Спасибо за советы
вот наткнулся:
Маршрутизация всего клиентского трафика (включая веб-трафик) через VPN
Обзор:
По умолчанию, когда клиент OpenVPN активен, только сетевой трафик к и от сайта OpenVPN-сервера идет через VPN. Например, обычный просмотр веб-страниц будет осуществляться через прямое подключение (к Интернету — прим. перев.) в обход VPN.
В некоторых случаях такое поведение может быть нежелательным — у вас может возникнуть необходимость чтобы VPN-клиент туннелировал весь сетевой трафик через VPN, включая просмотр веб-страниц Интернета. Хотя этот тип VPN конфигурации приведет к потере производительности на клиенте, он дает администратору VPN более полный контроль над политиками безопасности когда клиент одновременно подключен и к Интернету и к VPN.
Реализация:
Добавьте следующие директивы в файл конфигурации сервера:
Если ваш VPN работает через беспроводную сеть, где сервер и все клиенты находятся в одной и той же беспроводной подсети, добавьте флаг local:
Передача клиенту опции redirect-gateway заставит весь IP-трафик, порождаемый на клиентской машине, пройти через сервер OpenVPN. Сервер должен быть настроен обработку этого трафика каким-нибудь образом, например, путем отправки в Интернет через NAT, или маршрутизацию через HTTP-прокси сайта сервера.
В Linux вы можете использовать команду вроде этой, чтобы направить трафик клиента в Интернет через NAT:
Эта команда предполагает, что VPN-подсеть имеет адрес 10.8.0.0/24 (взято из директивы server конфигурации сервера OpenVPN) и что локальный интерфейс Ethernet является eth0.
Когда используется redirect-gateway, OpenVPN-клиенты будут направлять DNS-запросы через VPN и VPN-сервер должны уметь обрабатывать их. Это может быть достигнуто путем передачи подключающимся клиентам адреса DNS-сервера, который заменит их обычные настройки для DNS-сервера пока VPN будет активным. Например:
настроит Windows-клиентов (или не-Windows-клиентов при дополнительной работе над скриптами на стороне сервера) на использование 10.8.0.1 в качестве DNS-сервера. Любой адрес, доступный для клиентов, может быть использован в качестве адреса DNS-сервера.
Предостережения:
Перенаправление всего сетевого трафика через VPN не является совсем беспроблемным делом. Вот несколько типичных подводных камней, чтобы вы были в курсе:
Имеются проблемы в отношении передачи DNS-адресов Windows-клиентам.
Скорость просмотра веб-страниц на клиенте будет заметно медленнее.
специалисты в этом вопросе могут прокомментировать?
очень интересно мнение.
Я плохо разбираюсь в OpenVPN, настраивал только OpenVPN-клиенты, да и те, не закручивая полностью гайки. Могу сказать общее замечание: все команды push подразумевают, что вы тянете и принимаете параметры конфигурации сети с OpenVPN-сервера. Если вы не доверяете на 100% OpenVPN-серверу, это проблема, поскольку вы позволяете потенциально злоумышленному пользователю менять ваш gateway, IP, маски сети, DNS-сервер и т.д. В OpenVPN предусмотрены опции ручного выставления этих настроек. Можно запустить OpenVPN-клиент на автоматике с push; поглядеть, что предлагает вам сервер; проверить эти настройки на предмет бредовости и только после всего этого статично прописать их в конфиге OpenVPN. В этом случае даже если позже OpenVPN-сервер вам подсунет что-то левое, оно не сработает.
Я сам вышеописанную программу действий не выполнял, но в планах она была. Если делать по уму, надо делать как-то так.
eth1 – адаптер который подключен к интернету
eth2 – адаптер OpenVPN
Это конфиг wipfw который работает на xp/2003. Для Win7 можно аналогично сконфигурировать windows firewall.
Для предотвращения DNS утечек еще нужно вручную выставить DNS'ы на всех адаптерах.
и удалением нужных маршрутов (мимо VPN), а вот как наиболее легко это сделать под Linux? И что там с файрволлами? Я так понимаю, самый классический это iptables? Где можно найти ПУТНОЕ руководство по настройке сетевой безопасности под Linux?
man route
Для любителей ещё был порт NetBSD ipf'а, скорей всего, уже давно померший.
По iptables мануалов выше крыши, всяких и разных. Например, на opennet'е был. Ещё есть man ip, по нему тоже должно хватать мануалов. А по сетевой безопасности пишут толстые книги, тут одной статьёй не обойтись.
http://www.mintlinux.ru/blogs/.....irewall-v-linux.html
http://osmaster.org.ua/?p=4308
комментариев: 300 документов: 33 редакций: 12
Вот так:
При этом серфинг работает и пользоваться интернетом можно.
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 450 документов: 10 редакций: 13
Но в современных сетях трейсинг обычно бесполезен и только запутывает наблюдателя, у провайдеров там зачастую Multiprotocol Label Switching без разбора пакетов пользователя. И звездочки — это фантомы пакетной маршрутизации.
комментариев: 511 документов: 2 редакций: 70
Раньше было типично, что до какого-то хоста идут ICMP-ответы, а после — нет, поэтому traceroute мог бесконечно менять параметры в пинге, а звёздочки после какого-то хоста писаться вечно. Т.е., это не означало, что там действительно стоит бесконечное число неотвечающих хостов.
комментариев: 300 документов: 33 редакций: 12
Как (в никсах) убедиться в том, что весь трафик идет только через поднятый ВПН?
Понятно, что "правильно настроенный iptables уберет все вопросы", но хочется простой командой в терминале)
traceroute пускает трафик как надо, но на основании данных по количеству трафика которые выдает ifconfig возникают тревожные вопросы(
комментариев: 511 документов: 2 редакций: 70
Анализ tcpdump вкупе с выводом route и ifconfig дают ответ на этот вопрос. В принципе, последних двух утилит достаточно, первая — только для пущей наглядной демонстрации.