[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: VPN роутинги на винде
Страницы: 1, 2
I++
Мучала меня тут паранойя, по той причине, что запамятовал одну хитропопую особенность.

Допустим, вы юзаете VPN для выхода в инет.

Ваш провайдер выдает вам IP внешний (7.7.7.7), шлюз у него внутренний 10.10.10.1 например, подключаетесь вы к VPN по адресу 8.8.8.8 (да знаю, что гугл днс, просто пример внешнего IP)

Вроде бы все хорошо, запускаете VPN заходите на 2ip и радуетесь. А злой провайдер берет и рвет вам VPN или левые данные выдает через DPI от чего VPN накрывается медным тазом, а в этот момент вы заходите на запрещенный-сайт.рп (российская педерация)

Тут весь ваш трафик польется вне VPNа

Как лечить?

route -p add 8.8.8.8 10.10.10.1
route -p add 0.0.0.0 mask 0.0.0.0 127.0.0.1


В роутинге у вас будет примерно следующие:

адрес 0.0.0.0 маска 0.0.0.0 шлюз 10.10.10.1 интерфейс 7.7.7.7
Остальные роутинги могут относится к локале, шлюзам, dnsам и тд.

При добавлении верхней строчки, произойдет следующие:
Если не подключен VPN весь трафик польется не на шлюз провайдера (10.10.10.1), а на 127.0.0.1 :D
Все входящие запросы от локалки, других IPишников, инетовских пройдут мимо, они будут попадать на интерфейс, но так как роутинг замкнут на локалхост машина не пошлет ничего. Считайте, что у вас комп превратился в черную дыру для инета и локальных IPов. Еще на интерфейсе провайдера нужно запретить автоматическую метрику и выставить что-то больше 600, чтобы приоритет провайдерского интерфейса был минимальным, броадкасты могут иметь меньшую метрику чем VPN, а значит трафик польется к провайдеру.

Надеюсь кому то пригодится, если есть свои соображения по этому поводу, прошу высказаться.
paul85
Цитата (I++ @ 12.12.2014 - 19:13)
Если не подключен VPN весь трафик польется не на шлюз провайдера (10.10.10.1), а на 127.0.0.1 biggrin.gif

И вероятнее всего закольцуется там TTL раз. =(

Цитата (I++ @ 12.12.2014 - 19:13)
Надеюсь кому то пригодится, если есть свои соображения по этому поводу, прошу высказаться.

Такие вопросы лучше всего решать с помощью фаервола. То есть дропить всё, что пытается выскочить в интернет не через интерфейс (какой там в винде?) ppp0.

ИМХО так правильнее будет.
I++
Цитата
И вероятнее всего закольцуется там TTL раз. =(

Не закольцуется, а отвалится, если только на локалхосте шлюз не поднимать ))

Цитата
Такие вопросы лучше всего решать с помощью фаервола.

Фирволом конечно можно, но роутинги надежнее, вопервых фаервол может отвалиться по неведомым причинам, либо еще что произойдет, а роутинг дешево и сердито и на более низком уровне.
paul85
Цитата (I++ @ 12.12.2014 - 21:17)
а роутинг дешево и сердито и на более низком уровне.

Ну для винды может быть и так, не знаю. =) Но все-равно я считаю производить фильтрацию при помощи маршрутов - очень неправильно. У меня сетевыми задачами занимается Linux сервер.
I++
paul85 винда это особый случай ) это не линукс где интерфейс является интерфейсом - ppoe0 и тд.

Цитата
Но все-равно я считаю производить фильтрацию при помощи маршрутов - очень неправильно.

Даже не знаю почему, приходит к нам пакет с локалки 10.10.10.0 с маской 255.255.255.0 с IP адреса 10.10.10.123 и дохнет сразу, потому, что не соответствует таблице маршрутизации и фаерволу даже напрягаться не стоит.

Цитата
У меня сетевыми задачами занимается Linux сервер.

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

Кстати в линуксе тоже не всегда можно сделать полюдски маршрутизацию, например есть какойнить HOME-IX или другие пиринги и стоит например у одного провайдера автономка AS вышестоящий вещает, и может просрать полимеры роутинги прописать через их шлюз со считалкой трафика который стоит бобла, а просить их слать на автономку нормальные роутинги с пролетом мимо шлюза напрямую в пиринг не всегда катит, поэтому приходится прописывать маршруты по корявому.

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

Так пол нерезиновой работало и ничего)) Сейчас не знаю, наверно админа убили надеюсь того))
vital
Нет, ну я вроде давно общаюсь с компьютером, пользовался ворохом ос, и все такое прочее.
Читаю вот эту тему, слова все знаю. А смысла понять не могу вообще smile.gif

Подскажите что ли чо почитать по сетям. Я что такое впн знаю весьма условно и о чем речь идет тоже понимаю посредственно.

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
I++
Живее всех живых laugh.gif http://geektimes.ru/post/241166/
там мелькнул мегавонь, а он в home-ix

Цитата
Подскажите что ли чо почитать по сетям. Я что такое впн знаю весьма условно и о чем речь идет тоже понимаю посредственно.

ну моя тема шла про роутинги, гугл знает...
А потом флуд небольшой начался по поводу маршрутизации трафика у провайдера, автономная система протокол BGP
и речь там шла, что вышестоящий провайдер выдавал по BGP все нужные роутинги, кроме выхода в этот самый пресловутый HOME-IX и трафик шел через шлюз, а не в обход шлюза, прямо в пиринг, по BGP они немогли по какой-то непомню какой причине слать маршруты для пиринга, и сделали костыль для провайдеров в виде скрипта на пыхапэ и другие провайдеры цапали этот скрипт и скарливали своим шлюзам эту таблицу маршрутизации laugh.gif
Это все к чему, по поводу линукса, там не всегда можно трафик завернуть через фаер или на интерфейс иногда нужно костылить с маршрутами.

Свернутый текст
user posted image
paul85
vital, просто I++ сильно увлекся и начал разговор о протоколе внешней маршрутизации. Об автономных системах и прочее.

Что почитать? Ну я бы посоветовал Cisco Press конечно. Но если чисто для общего развития, то можно глянуть видосики от CBT Nuggets - там есть такой препод, зовут Jeremy Cioara. Очень свирепый дядька и объясняет весьма доходчиво. Там разделы, касаемые конкретно конфигурации, можно пропускать, но чем хороша программа подготовки Cisco, она подразумевает большой объем общей информации. Базы, так сказать. Изучив которую будет одинаково легко разворачивать сетевые решения и на базе Linux, Cisco, Juniper...

Цитата (I++ @ 12.12.2014 - 21:40)
Дык на линуксе можно по разному трафик маршрутизировать, поэтому о линуксе я ничего не говорил, винда другой же случай.

Ясное дело! wink.gif А чего, не хочешь воткнуть Linux роутер, который будет для домашней сети в качестве default gw? И всё... Все маршруты и VPN соединения хэндлить там и голову себе не парить.

Очень удобно, я так и делаю. У меня еще он в качестве router on a stick. =)))
I++
paul85 я пишу html за еду, поэтому отделываюсь дешевыми вариантами, хотя тут экспериментировал с криптоконтейнерами и virtual box, там примерно по той схеме, о чем говорится + лайв сиди, с виндой на флешке с фаст ребутом неостанавливаемом при выдергивании флехи плюс затирание ключа доступа при выдергивании, терморектальный криптоанализатор протелает. Плюс еще можно материнку в ящике как у карбины разместить сталь 5мм и замок навесной со шпилькой, а ключи утопить в пруду :lol: внутри ящика ИБП + уничтожитель хардов с подачей сигнала из проги если флешка криво выткнута.
Плюс пока ящик распилят заморозить оперативку не успеют в азоте и данные не снять. Вот такая прикольная схема, только пока ненашел где её применить)))

Забыл добавить, что скважину в замке нужно залить оловом))

стырено с хабра вроде
#include <Windows.h>

typedef enum _SHUTDOWN_ACTION
{
ShutdownNoReboot,
ShutdownReboot,
ShutdownPowerOff
} SHUTDOWN_ACTION, *PSHUTDOWN_ACTION;

typedef LONG (__stdcall *PFN_NT_SHUTDOWN_SYSTEM)(DWORD SHUTDOWN_ACTION);

int CALLBACK WinMain(HINSTANCE, HINSTANCE, LPSTR lpCmdLine, int)
{
if (lstrcmpA(lpCmdLine, "/reboot"))
{
return 1;
}

HINSTANCE hNtDll = GetModuleHandle(L"ntdll.dll");

if (hNtDll == NULL)
return 1;

PFN_NT_SHUTDOWN_SYSTEM pNtShutdownSystem =
(
PFN_NT_SHUTDOWN_SYSTEM)GetProcAddress(
hNtDll,
"NtShutdownSystem");

if (pNtShutdownSystem == NULL)
return 1;

HANDLE hToken;

if (!OpenProcessToken(
GetCurrentProcess(),
TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES,
&
hToken))
{
return 1;
}

TOKEN_PRIVILEGES tkp;

if (!LookupPrivilegeValue(
NULL,
SE_SHUTDOWN_NAME,
&
tkp.Privileges[0].Luid))
{
return 1;
}

tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

if (!AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, NULL, 0))
return 1;

CloseHandle(hToken);

LONG status = pNtShutdownSystem(ShutdownReboot);

return 0;
}


к слову о не парить, нафиг мне ставить целый маршрутизатор если я 2 строчками все могу сделать? :D
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.