Как запретить любые коннекты не через впн?

ItsSoEasy

Member
Messages
2
Reputation
0
Reaction score
0
Points
1
На XP. Только вручную в фаерволе правила создавать?
 

flo

Carder
Messages
83
Reputation
3
Reaction score
11
Points
8
Отличный вопрос. Так же интересует.
Выложите инструкцию по этим настройкам.
 

cyber

Professional
Messages
545
Reputation
99
Reaction score
186
Points
43
так по идее любая софтина которая лезет в сеть, траф идет через впн
 

kokolorka

Professional
Messages
164
Reputation
18
Reaction score
36
Points
28
скорее всего вопрос в том, как запретить любой софтине идти в интернет если впн отключается

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

Опишите как правильно настроить фаервол для подобных целей.
 
Messages
40
Reputation
9
Reaction score
31
Points
18
я частично решал этот вопрос вписав левые днс в интернет соединение.
Да, решение только частичное. Установлению соединений на деле ничего не мешает, просто проблема в разрешении имени. Если использовать Proxifier с удаленным резолвингом имен, это может не помочь. Если вместо доменного имени будет указан IP, софт использует собственный DNS-сервер, если имя узла уже разрешено и сохранено в кэше DNS, тогда 100% ничем не поможет.

скорее всего вопрос в том, как запретить любой софтине идти в интернет если впн отключается
Легко, только нужен специально собранный (скомпиленный с нужной опцией) OpenVPN клиент. Есть команда конфига, позволяющая запускать внешний скрипт при разрыве соединения. Например, это может быть .bat файл с командой, убивающей таблицу маршрутизации. После такого злодейства ОСь просто не будет знать, на какой интерфейс слать IP пакеты. Соответственно, сеть умрет, для восстановления таблицы маршрутов придется переподключаться к интернету. В конец конфига OpenVPN нужно добавить команду
down 'имя_файла.bat'
В .bat-файле прописать (поместить его в папку с конфигами):
route delete 0.0.0.0 mask 0.0.0.0
Эта команда удалит основной шлюз из таблицы маршрутизации, интернет работать не будет. Проверить, будет ли срабатывать команда, можно очень просто: при подключенном VPN'е отключитесь от интернета, ВПН упадет. Посмотрите лог подключения VPN'a. Если клиент сконфигурирован так, что внешние команды не выполняются, в логе будет об этом запись.

Если VPN-клиент не дружит с вызовом внешних команд, можно извернуться. Самому вручную запускать другой .bat файл после подключения к VPN'у. Этот файл будет:

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

2) добавлять маршрут к VPN-серверу через интернет провайдера
после этого в интернет будут уходить только IP пакеты, предназначенные для VPN сервера

3) добавлять шлюз VPN'а как основной шлюз
после этого все IP пакеты, которые неизвестно куда слать (т.е. направленные в интернет), будут уходить на VPN

Для начала предупрежу, что химичить с маршрутами, ничего в них не понимая, чревато. Во-первых, если у вас сложная сеть, требующая для своей работы изменений в таблице маршрутизации, вы рискуете угробить постоянные маршруты. Эти маршруты обычно создаются при настройке подключения к интернету (некоторые провайдеры дают инсталляторы, которые записывают в реестр все нужные маршруты). В итоге ни сеть, ни интернет работать не будут. И это не так страшно. Гораздо хуже, если вы "настроите" маршрутизацию так, что пакеты, которые должны идти только на интерфейс VPN подключения, будут транслироваться в сеть провайдера. В этом случае пакеты будут бегать по незашифрованному каналу. Короче, прежде чем что-то делать, советую хорошенько почитать мануалы о маршрутизации и ее настройке. Чтобы было представление. Или найти спеца, который сможет вам все настроить, если со знаниями сетей совсем туго. В-общем, никаких гарантий, что у вас будет работать все как надо (и что вы нигде не затупите при настройке) я не даю. Это не пошаговая инструкция для чайников. Структура вашей сети и схема подключения к интернет могут быть гораздо сложнее. Это всего лишь иллюстрация на простейшем примере GPRS + VPN, чтобы вы могли понять, в какую сторону копать.

Теперь "легенда" или расшифровка обозначений:
основной_шлюз_провайдера - когда вы подключаетесь к интернету, этот IP указывается как основной шлюз. Возможно, он указан вручную в настройках TCP/IP протокола, а может быть ОСь получает его автоматически по DHCP при подключении. Этот IP находится внутри сети провайдера. Хотя если у вас белый IP, то сеть провайдера и интернет - вещи малоразличимые.

VPN_сервер - внешний ("белый") IP адрес VPN-сервера в интернете. Т.е. тот самый адрес, к которому вы подключаетесь, когда включаете VPN-соединение. Он прописан в конфиге OpenVPN'а, его же указывают при создании подключения по PPTP в винде ("Подключить к сети на рабочем месте -> Подключение к виртуальной частной сети").

основной_шлюз_ВПНа - основной шлюз внутри ВПН сети. Когда вы подключаетесь к ВПН, у вас появляется новая сеть. Вот это IP адрес внутри этой сети. На него вы отправляете пакеты через шифрованый канал и он раздает вам интернет.

Где все эти IP откопать? В настройках интерфейсов. Подключаетесь к интернету, подключаетесь к ВПН'у. Запускаете командную строку (cmd), вводите:
inconfig /all

Программа выведет на экран подробную информацию о всех включенных TCP интерфейсах, с указанием вашего IP, адреса основного шлюза, ДНС серверов и прочего. Какой интерфейс относится к подключению к интернету, а какой - к ВПН'у поймете по заголовкам. Будет что-то примерно такое:

Code:
Подключение по локальной сети 2 - Ethernet адаптер:

        DNS-суффикс этого подключения . .:
        Описание . . . . . . . . . . . . : виртуальная сетевая карта ВПНа
        Физический адрес . . . . . . . . : FF-FF-FF-FF-FF-FF
        Dhcp включен . . . . . . . . . . : да
        Автонастройка включена . . . . . : да
        IP-адрес  . . . . . . . . . . . . : XXX.XXX.XXX.XXX
        Маска подсети . . . . . . . . . . : 255.255.255.FFF
        Основной шлюз . . . . . . . . . . : YYY.YYY.YYY.YYY
        DHCP-сервер . . . . . . . . . . . : ZZZ.ZZZ.ZZZ.ZZZ
        DNS-серверы . . . . . . . . . . . : AAA.AAA.AAA.AAA
        Аренда получена . . . . . . . . . : 11 января 2009 г. 13:51:27
        Аренда истекает . . . . . . . . . : 11 января 2009 г. 13:51:27

Мой GPRS интернет - PPP адаптер:

        DNS-суффикс этого подключения . . :
        Описание  . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
        Физический адрес. . . . . . . . . : 00-00-00-00-00-00
        Dhcp включен. . . . . . . . . . . : нет
        IP-адрес  . . . . . . . . . . . . : BBB.BBB.BBB.BBB
        Маска подсети . . . . . . . . . . : 255.255.255.EEE
        Основной шлюз . . . . . . . . . . : CCC.CCC.CCC.CCC
        DNS-серверы . . . . . . . . . . . : DDD.DDD.DDD.DDD
        NetBIOS через TCP/IP. . . . . . . : отключен

где:
Подключение по локальной сети 2 - это название ВПН подключения.
Мой GPRS интернет - название подключения к интернету.
YYY.YYY.YYY.YYY - основной_шлюз_ВПНа
ССС.CCC.CCC.CCC - основной_шлюз_провайдера

Теперь пишем наш block.bat-файл:
REM Удаляем основные шлюзы
route delete 0.0.0.0

REM Прописываем маршрут к ВПН серверу через интернет
route add %1 mask 255.255.255.255 %2

REM Делаем внутренний шлюз ВПН'а нашим основным шлюзом
route add 0.0.0.0 mask 0.0.0.0 %3

Вызываем файл через командную строку так (IP через пробелы после имени батника):
block.bat VPN_сервер основной_шлюз_провайдера основной_шлюз_ВПНа

Вуаля, ОСь не знает другой дороги в интернет, кроме как через основной шлюз ВПН'а. Если упадет ВПН, даже если вы от него отключитесь, других маршрутов в интернет не будет. "любые коннекты не через впн" запрещены.

P.S. Кстати, только что заметил, в соседней теме ведь описана вкратце подобная фишка.

___________________________________________________________

Только вручную в фаерволе правила создавать?
Да, скажем, Outpost Firewall предусматривает возможность фильтрации IP пакетов. Но настройка этой блокировки на деле - это та еще ебота. Сразу всплывут конфликты в приоритетах правил: низкоуровневых, для приложений, глобальных, с высоким приоритетом. При фильтрации IP пакетов придется отказаться от большинства правил для приложений и глобальных. Поэтому резать связь при помощи маршрутизации мне кажется более правильно.

Однако фаервол может пригодиться для проверки работы VPN. В аутпосте лезем в Настройки->Журналы->Уровень регистрации, низкоуровневые события ставим в третье (предпоследнее) положение. Идем в журнал событий->Журнал пакетов. При включенном VPN обмен пакетами должен идти между вашей машиной (IP в сети провайдера) и VPN сервером (его внешним IP). Если какие-то пакеты идут на другие адреса, значит что-то действует в обход ВПН'а (скорее всего, что-то не так с маршрутизацией).

P.S. если из обсуждения что-то толковое выйдет, могу статью сделать и описать в ней этот способ поподробнее. Так что спрашивайте, комментируйте, поправляйте.
 
Last edited:

Ktulxy

Professional
Messages
105
Reputation
14
Reaction score
16
Points
18
На этом форуме в раздле софта нашел, автора данного поста не запомнил, так что не сочтите за копипаст (просто я скидываю нужные мне ссылки в тхт, для последующей закачки с другога компа)

вот ссылка - h tt p://www.sendspace.com/file/kaqs8i
 
Messages
40
Reputation
9
Reaction score
31
Points
18
Ты скорее всего OpenVPN пользуешься. Он обычно не поправляет таблицу маршрутов, когда "проваливается" или переподключается. Хотя наверняка многое зависит от того как именно и из-за чего упал ВПН, а также настроек клиента.
 

mikola

DEER
Messages
29
Reputation
5
Reaction score
6
Points
3
Если у вас не используется сугубо специфические настройки/софт, то практического смысла в блоке всех соединений не через впн я не вижу. Единственый вариант когда такое может понадобится - это если вы боитесь что полезете в интернет забыв включить впн.
 

doomer

Professional
Messages
146
Reputation
5
Reaction score
7
Points
18
Я вроде видел пост, кто то скидывал софт, который решает эту проблему, если есть у кого нибудь, скиньте плиз, тоже интересует.
 
Top