Проблема возникла совершенно неожиданно, когда наш центральный офис переехал в другое место и как следствие сменил провайдера. Сотрудники в массовом порядке начали жаловаться мне, что не могут заходить на те сайты, куда раньше доступ у них был. При этом с других наших офисов, сидящих на других провайдерах, сайты по прежнему были доступны.
Некоторое время из-за хлопот с переездом проблему я игнорил, но когда начала жаловаться бухгалтерия (у вас же бухгалтерия тоже по значимости на 1 месте после руководства фирмы?), пришлось разбираться.
Первым делом подозрение пало на проблемы с MTU и MSS. Но с ними, к счастью, все оказалось в порядке. Пробил проблемный домен по базе РКН, тоже ОК, домен чист. Пооткрывал сайт через шлюзы других филиалов (3 разных провайдера), открывается. Но через нашего провайдера к IP домена даже пинги не идут. И тогда я догадался пробить через РКН IP проблемного домена. Вы же уже догадались, что IP-таки в базе оказался?
Но где же тогда редирект на страницу с указанием на то что данный ресурс заблокирован и т.д. и т.п., спросите вы. И я спросил. Сначала правда попробовал открыть несколько сайтов, где раньше, когда было можно, мы все искали что бы посмотреть или скачать. И убедившись, что нет никаких предупреждений о блокировке и на этих сайтах, я позвонил провайдеру.
Провайдер меня выслушал, признал, что проблема есть, а предупреждений нет.
Посочувствовал моей ситуации, но что-то исправлять отказался. Мол, мы соблюдаем требование по блокировке, а требований по уведомлению нет. На чем мы и попрощались.
Конечно, у меня возникло желание прободаться с провайдером, но лень и отсутствие свободного времени это желание затолкали глубоко. Примерно ту да же куда я в душе послал провайдера с его интернетом, туда где солнышко не светит.
Проблему же надо было как-то решать. В качестве шлюзов-маршрутизаторов у нас на фирме используются Микротики, не важно какие, Роутер ОС у всех одинаковая. Покопавшись на Хабре, нашел несколько статей о том как обходить блокировки РКН, генерируя и загружая базу РКН в Микротик. При этом маршрутизируя заблокированный трафик на те шлюзы, где никаких блокировок нет. Ради интереса попробовал этот способ. Работает, но не устраивает.
Во первых объем базы в 60000 ip (на начало лета 2019г), отправлял мой Микротик в глубокую кому. Роутер ОС CHR c большим объемом памяти и несколькими ядрами чувствовала себя несколько лучше но давала понять что при таком добросовестном отношении РКН к своим обязанностям и ее хватит не на долго.
Во вторых, доступ получался ко всем заблокированным ресурсам в том числе и тем, которые заблокированы на “законных” основаниях. Что меня как законопослушного гражданина так же не устраивало.
Но сама идея направлять к разрешенным сайтам трафик через те шлюзы где он не блокируется засела в моем сознании.
Что же мы можем для этого сделать?
Первое что приходит на ум выяснить ip ресурса и определить для него шлюз в роутинге. Не вариант, у ресурса может быть несколько ip и они могут меняться, иногда часто. Устанешь добавлять.
Второе, парсить IP по средствам Layer 7 в фаерволе, занося их в адрес лист. Уже лучше, но у Layer 7 есть неприятная черта. Если правил несколько то он начинает относиться к ресурсам процессора примерно так же как некоторые жены относятся к зарплате своего мужа. В результате чего в семье начинаются ссоры, скандалы и прочие неурядицы.
Направлять вообще весь трафик через удаленный шлюз, так же пагубно.
К счастью на сентябрьском MUM один из докладчиков открыл страшную тайну. Оказывается Микротики с некоторых пор научились парсить IP домена прямо из его имени в адрес листе, добавляя IP в тот же лист! Вооружившись полученной информацией я наконец решил задачу.
Ниже пример решения:
1. Создаем в фаерволе адрес лист с нужным доменом.
2. В Firewall\Mangle создаем правило, chain:prerouting, advanced: Dst.Address list= имя нашего листа, action:mark routing, New Routing Mark=имя марки
3. Идем в IP\Routes. Создаем новый маршрут по умолчанию. Dst Address=0.0.0.0/0, Gateway= ip шлюза, Routing Mark=ваша марка
На этом все. Теперь ваш Микротик будет парсить ip нужного домена в тот адрес лист, который вы для этого придумали, маркировать маршруты к этому ip и отправлять их через тот шлюз, который вам нужен. У вас же есть резервный шлюз? Смайл.
Делалось на прошивке 6.45.5
Спасибо за внимание.
Комментарии (87)
Crazyvlad
14.09.2019 22:36Красиво, но Но провайдеру стоит написать официальную претензию.
dartraiden
14.09.2019 23:02Но провайдеру стоит написать официальную претензию.
Провайдер ответит то же самое, что ответил неофициально. Требования к содержанию «страницы-заглушки» у РКН есть, а вот требования её всегда показывать нет, поскольку не во всех случаях эту заглушку реально показать — например, если в реестре содержится указание «блокировать доступ к IP», что означает бан по всем портам.
Вполне реальна ситуация, когда провайдер обязан ограничивать доступ к IP-адресу (а не к домену), поэтому заглушка не показывается, а на этом адресе висит веб-сервер и крутится сайт. Причём, может так оказаться, что конкретно этот сайт блокировать никто не собирался, а «нехороший» адрес достался ему «по наследству», на этом IP раньше вообще веб-сервера не было, а висел, допустим, сокс-прокси, который РКН заблокировал, прокси взял и переехал, а айпишник из реестра не удалили, потому что РКН не обязан это делать (но если провайдер такой шибко «умный», что решит руководствоваться этой логикой и доступ к IP не заблокирует, а РКН-овский «Ревизор» вздумает туда постучать и обнаружит, что доступ не блокируется, то это пропуск => провайдеру будет засчитан +1 к числу пропусков, а за определенный процент пропусков можно уже и огрести — степень огребания зависит от того, насколько провайдер дружит с региональным филиалом РКН и настолько он готов покаяться и пообещать, что впредь будет усерднее).
А предыдущий провайдер не блокировал, потому что… ну, например, он в особых отношениях с Роскомнадзором. Условный Ростелеком может позволить себе некоторые записи из реестра игнорировать, как, например, проигнорировал когда-то указание блокировать кучу больших подсетей Amazon. А что ему будет? 50 тысяч штраф — это ничто для такого гиганта, а отзыв лицензии… у Ростелекома? Хорошая шутка и политическое самоубийство для чиновника, который о таком заикнется, потому что Ростелеком, гори он огнём, у нас мегачемпион, бюджетным учреждениям интернеты даёт и всякие социальные проекты по интернетизации глухих деревень тащит.NoRegrets
14.09.2019 23:41+1Заглушка может показываться только по http, все остальное, включая https, — заглушку не сделать. Скорее всего у автора проблема с https сайтом.
Loggus66
15.09.2019 19:18Можно, особенно если по IP блок. Перепечатывать лень, недавно в прошлых комментах правило iptables для такого писал.
NoRegrets
15.09.2019 23:44Вы предлагаете делать -j REDIRECT на другой порт. Браузер, при попытке подключиться по урлу с https:// и обнаружив, что там не https, выдаст вам ошибку ERR_SSL_PROTOCOL_ERROR, а если вы там сделаете https, то ERR_CERT_COMMON_NAME_INVALID.
Crazyvlad
16.09.2019 10:07Про заглушку я не писал. А вот требование к провайдеру по поводу блокировки ресурса написать стоит. Наверняка в договоре с провайдером есть пункт типа «Оператор связи обязуется предоставлять» и бла, бла, бла…
Вот на это и нужно давить.
Наличие IP адреса в реестре никак не является основание не исполнения провайдером своих обязанностей.
В претензии нужно сделать упор именно на то, что доменное имя не находиться в реестре и соответственно провайдер не исполняет добросовестно условия контракты.
Надеюсь у Вас есть юрист? Будем ему практика.
kiakimov
14.09.2019 22:46У меня данным способом не работает *часть* доменов под https, например linkedin. Если завернуть весь траффик на резервный шлюз (raspberry pi с openvpn) — проблемы нет. Попробуйте у себя, если не сложно, полетит linkedin или нет? Что то подсказывает что виноват MTU, но где копать не нашел.
kiakimov
14.09.2019 22:51+1Отвечу сам себе ) Дьявол в деталях — у linkedin домен второго уровня и www резолвятся в разные ip, в листе был вбит второй уровень только ) Все работает.
DmitrySpb79
14.09.2019 22:50+1Начало статьи непонятно. Есть разве в законе РФ наказания за посещение запрещенных сайтов? Если я будучи в России, зайду на linkedin, меня оштрафуют? :)
dmitryredkin
14.09.2019 23:22+3К огромному сожалению, эта совковская традиция живет в нас до сих пор.
Верно говорит Дудь, этот страх карательной системы въелся в нашу кровь.
Люди! Посещение заблокированных сайтов — законно! Использование анонимайзеров — законно! Участие в несогласованных митингах — тоже законно!dartraiden
14.09.2019 23:33И даже содержание открытой точки доступа — законно (для физического лица). Возможные последствия для владельца точки в случае, если через неё позвали граждан на несогласованный митинг (а правоохранительные органы заподозрили в совершении этого деяния именно владельца точки), это другой разговор.
Хотя, был случай, когда через открытую точку сотрудники ГРЧЦ полчаса смотрели порно, а потом запросили у провайдера данные владельца точки, но исход того случая неизвестен, как и мотивы запроса. Есть предположение, что это попытка подвести пользователя под ст. 6.17. КоАП (дети могли теоретически через эту точку получить запрос к контенту, причиняющему вред их развитию), поскольку хотелось его «прижучить», а больше прицепиться не к чему. Но это домыслы, исход дела неизвестен.trnc
14.09.2019 23:43+1Что-то вспомнилось мне что произошло с Дмитрием Богатовым, который держал exit ноду Тора. Долгое разбирательство, вплоть до отслеживания местонахождения Дмитрия в момент публикации через его ноду тех. самых материалов из-за которых его и арестовали. А недавно он перебрался в США. Удивительно, почему…
habr.com/ru/news/t/467229dartraiden
14.09.2019 23:48+1Держать выходной узел Tor, зачастую, опаснее, чем Wi-Fi точку. Для подключения к точке нужно находиться более-менее рядом (хотя бы около дома), а пользоваться выходным узлом Tor может любой человек, обладающий клиентом Tor, что заметно увеличивает число потенциальных пользователей (следоватьльно и пользователей-«нарушителей», действия которых привлекут внимание правоохранительных органов).
trnc
14.09.2019 23:54Сути не меняет, через эту точку доступа за день может пройти десятки или сотни клиентов. А чтобы опубликовать какие-то экстремистские материалы много времени не требуется. Так разве так важно, где находился злоумышленник — рядом с точкой доступа или за сотни км, когда так или иначе незаконные материалы были опубликованы с твоего IP? И вопросы органы будут задавать именно тебе.
Sabubu
15.09.2019 00:42+2Человек выше пишет о законности и о том, как должно быть в теории, а вы пишете о том, что произошло по факту. Естественно, в России правоохранительные органы и суды не испытывают строгой необходимости придерживаться рамок закона, потому у вас и различаются точки зрения.
dmitryredkin
15.09.2019 00:12+2Возможные последствия для владельца точки в случае, если через неё позвали граждан на несогласованный митинг (а правоохранительные органы заподозрили в совершении этого деяния именно владельца точки), это другой разговор.
Вы знаете, как показывает практика, вы можете не держать открытых точек и не ходить на митинги, но вас все равно арестуют за нападение на сотрудника Росгвардии :(
Тактика точечного террора именно так и работает. Достаточно незаконно посадить одного, чтобы все начали бояться отстаивать свои права…alex_fort
15.09.2019 11:12Можете указать ссылки на эту практику?
ClearAirTurbulence
15.09.2019 23:36Павел Устинов. Причем есть видео инцидента с камер видеонаблюдения, но суд его рассматривать отказывается.
PAPIruss Автор
15.09.2019 09:26Как написали выше дьявол в деталях. Если вы не смогли настроить защиту точки и она висит открытая, это ваша беда. Закон подразумевает что вы не можете сознательно предоставлять доступ без авторищации, декларируя его тем или иным образом, получая при этом какую либо выгоду.
PAPIruss Автор
15.09.2019 09:21-1Дружище от части ты прав. Незаконно поддерживать различные анонимайзеры, впн и пр. А так же предоставлять услуги связанные с вышеперечисленным. Таким образом мои юзвери закон не нарушают, а меня как админа возможно привлечь...
dartraiden
15.09.2019 09:24Незаконно поддерживать различные анонимайзеры, впн и пр. А так же предоставлять услуги связанные с вышеперечисленным
Это не так, если речь о России. Владелец анонимайзера обязан по требованию РКН начать фильтровать выдачу. Поддерживать анонимайзер не запрещено, а его владелец не обязан ничего фильтровать до получения соответствующего требования.PAPIruss Автор
15.09.2019 10:42И где я ошибся? Последует ли наказание если я откажусь исполнять требование РКН? Моя задача максимум обезопасить себя и моего работадателя от возможных проблем. Я пишу о сути, вы говорите по существу. У меня нет времени и желания искать грань между законностью и праванарушением. Особенно за счет и средствами работадателя. И еще раз. Статья не юредичиская, она техническая. 1 из возможных способов решения конкретной проблемы. Офтопом про закон я лишь снимаю с себя ответственность за возможные действия 3-х лиц.
Osnovjansky
16.09.2019 11:18Он ведь не сам заходит, а делает возможным доступ для других — кажется, за это у вас ответственность есть (могу быть не прав)
XanKraegor
14.09.2019 23:24К сожалению, вариант со списком доменных имен в некоторых случаях просто не работает.
Во-первых, RouterOS он не ресолвит все A- и АААА-записи, которые принадлежат домену. Может быть, не стоит так категорично утверждать, но я встречался с примером этого в моей практике.
Во-вторых, во времена приснопамятной веерной блокировкирунетаTelegram весной прошлого года под раздачу РКН попало огромное количество подсетей так, что нормально не работал даже Гугл с его сервисами. В такой ситуации добавление google.com, google.com.ru, google.ru, да хоть вообще всех доменов гугла (которые, к слову перечислены в его SSL-сертификате) не решает проблему доступности отдельных адресов, не привязанных к доменам. Такие же проблемы возникают при блокировках, затрагивающих подсети CDN — был пример с Akamai. Как вариант, добавлять целые подсети в список.PAPIruss Автор
15.09.2019 09:39Речь идет хоть и о частых но о единичных случаях, когда необходимо обойтись малой кровью. Вариантов решения огромное количество. Я покзал один из них. Тот который позволит избежать ответственности за предоставление доступа к заблокированым ресурсам которые вполне могут оказаться в той подсети доступ к которой вы откроете. Если начать рассматривать все возможные варианты то у каждого будет к чему придраться.
AcidVenom
15.09.2019 21:17Все зависит от DNS, разные DNS отдают разные записи.
XanKraegor
15.09.2019 22:12Есть DNS, которые отдают все?
Мне кажется, это противоречит принципу географического разделения, в основе которого работают CDN и крупные сервисы.AcidVenom
15.09.2019 22:20Не думаю, но можно попробовать из списка корневых
ru.wikipedia.org/wiki/Корневые_серверы_DNS
trnc
14.09.2019 23:36Добавлять доменные имена в адрес листы можно уже как пару лет, еще с версии 6.36.
super-guest
15.09.2019 00:09+3Эх, сколько можно играть в игры с шулером? нормальный человек не будет вообще играть с шулером, чего и вам советую… он либо уйдёт, либо выгонит шулера вон
GennPen
15.09.2019 01:01Но где же тогда редирект на страницу с указанием на то что данный ресурс заблокирован и т.д. и т.п., спросите вы.
А редиректа и не будет если вы через HTTPS идете на сайт, только обрыв соединения. Редирект выходит только если вы идете не сайт через HTTP, т.к. не проверяется защищенность соединения и провайдеру легче подсунуть вам редирект на заглушку.
VolCh
15.09.2019 08:08+3Уберите, пожалуйста, свои рассуждения о законности — не вводите людей в заблуждение. Каковы бы не были законы о блокировках они только к провайдерам относятся, к распространению информации, а не к потреблению её
PAPIruss Автор
15.09.2019 09:57+1Позвольте мне как автору самому решать о каких своих рассуждениях писать. Прошу заметить что речь в моем случае идет не о домашней сетке. А о сети предприятия. Закон не запрещает (пока) находить лазейки частным гражданам. Закон запрещает поддерживать и предоставлять такой доступ. И я как админ вполне подхожу под эти ограничения.
nApoBo3
15.09.2019 09:58Я бы не был так уверен. Конечного пользователя это не затрагивает, а вот на счёт организации не факт. Фактически в таком случае организация становится владельцем vnp сервиса, на которых распространяется требование блокировки.
NoRegrets
15.09.2019 12:36Я тоже хотел об этом написать. В 149-ФЗ, в статье 15.1 обязательства на фильтрацию накладывались на операторов связи и провайдеров хостинга. Но открыл статью 15.8, п.1 (статья введена законом №276-ФЗ от 29.07.2017)
Владельцам информационно-телекоммуникационных сетей, информационных ресурсов (сайт в сети «Интернет» и (или) страница сайта в сети «Интернет», информационная система, программа для электронных вычислительных машин), посредством которых обеспечивается доступ к информационным ресурсам, информационно-телекоммуникационным сетям, доступ к которым ограничен на территории Российской Федерации в соответствии с настоящим Федеральным законом (далее также — владелец программно-аппаратных средств доступа к информационным ресурсам, информационно-телекоммуникационным сетям, доступ к которым ограничен), запрещается предоставлять возможность использования на территории Российской Федерации принадлежащих им информационно-телекоммуникационных сетей и информационных ресурсов для получения доступа к информационным ресурсам, информационно-телекоммуникационным сетям, доступ к которым ограничен на территории Российской Федерации в соответствии с настоящим Федеральным законом.
В статье 2, этого же закона, нет определения «владельца информационно-телекоммуникационных сетей», поэтому под это определение может попасть и организация и даже физ.лицо.
№276-ФЗ, в рамках которого добавлена эта статья, — это закон против анонимайзеров. Но о них здесь ни слова нет, а по существующему определению привлечь можно кого угодно.
Bonio
15.09.2019 10:37Мы законопослушные граждане и не ходим туда куда нам запрещают наши госорганы.
Категорически не согласен с подобными формулировками! Куча сайтов заблокированы по беспределу, причем вполне себе официально. А такими словами вы только подтверждаете факт того, что схаваете все, что вам припихнут под соусом «законности». Из за людей с таким мышлением в стране и не меняется ничего, и ничего не поменяется, пока вот такое совковое мышление из голов людей не искоренится.PAPIruss Автор
15.09.2019 10:57Я вполне разделяю вашу точку зрения. Но положа руку на сердце, скажите. Вы повторите те же самые слова своему работадателю? У вас хватит мужества сказать ему что вы сами будете решать кому и куда давать доступ? И последний вопрос. Вы готовы у себя дома настроить неконтролируемый доступ к интернету для всех желающих, сли нет то почему?
Bonio
15.09.2019 11:19Вы повторите те же самые слова своему работадателю? У вас хватит мужества сказать ему что вы сами будете решать кому и куда давать доступ?
Не знаю, я, к счастью, не был в такой ситуации. Но если бы был, я бы потребовал от руководства предоставить мне список сайтов, которые необходимо разблокировать и разблокировал бы только их, маршрутизацией трафика до их ip через другого провайдера или vpn. Не стал бы городить этот огород и исправлять сломанное роскомнадзором.
Вы готовы у себя дома настроить неконтролируемый доступ к интернету для всех желающих, сли нет то почему?
Да, готов. Более того, я это давно сделал, завернув 100% домашнего трафика в vpn. Считаю практику запрещений, порочной и деструктивной в долговременной перспективе.
В детстве мне много чего запрещали без объяснения причин, просто нельзя и все, поэтому я, как никто другой, знаю, как практика запрещений отрицательно влияет на человека, лишь подогревая интерес к запрещенному. Нужно не запрещать, а просвещать, учить людей самостоятельно отличать хорошее от плохого, а не держать их в искуственно созданном стерильном вакууме, вырвавшись из которого они офигеют от реального мира и начнут делать всякие глупости. Но это сложно, проще запретить.Wesha
15.09.2019 20:05+1Нужно не запрещать, а просвещать, учить людей самостоятельно отличать хорошее от плохого, а не держать их в искуственно созданном стерильном вакууме, вырвавшись из которого они офигеют от реального мира и начнут делать всякие глупости. Но это сложно, проще запретить.
"Вы будете смеяться" ©, но, строго говоря, именно описанное Вами и погубило СССР. Люди насмотрелись американских фильмов, где герои живут в собственных домах, где всё идеально, у каждого есть машина, которая никогда не ломается, никто никогда не болеет и т.п., и захотели того же самого. А если бы выезд не запрещали, чтобы желающие могли хлебнуть заграницы полной чашей, всё могло сложиться по-иному.
Главное - не путать туризм с эмиграцией.Умер один добрый человек и попал, как полагается в рай. Живет — не горюет.
Вдруг через рай несутся черти в колеснице, и говорят:
— Поехали с нами, у нас выпивка, девушки, прелести всякие, все искушения на выбор, все что захочешь! Поехали!!!
Мужик пошел к Господу:
— Господи, пусти меня в Ад на экскурсию!
— Но зачем тебе это? Тебе чего-то не хватает?
— Да нет, но просто интересно посмотреть.
Господь дал ему разрешение на три дня. Мужик вернулся, полон впечатлений. Через некоторое время снова черти несутся через Рай. Снова пригласили. Отпросился, вернулся — довольный. Через некоторое время опять все повторилось. После нескольких путешествий мужик долго думал, пришел к Господу:
— Господи, отпусти меня на совсем в Ад!
— Ты в этом уверен???
— Да.
Отпустил его Господь.
Мужик собрался, приехал в Ад, а его тут же в смолу!
— Ребята, да вы чего, это же я, вы же со мной пили, мы ж…
— А ты НЕ ПУТАЙ ТУРИЗМ С ЭМИГРАЦИЕЙ.Ctacfs
15.09.2019 22:07-1> А если бы выезд не запрещали, чтобы желающие могли хлебнуть заграницы полной чашей, всё могло сложиться по-иному.
По-иному ничего сложиться не могло бы по одной простой причине. СССР развалился не из-за того, что люди насмотрелись американских фильмов. И я конечно в СССР не жил, но сдается мне, их там не очень-то показывали.Wesha
16.09.2019 00:52СССР развалился не из-за того, что люди насмотрелись американских фильмов
Конечно, нет. Вряд ли можно назвать одну конкретную причину, способствующих факторов было немало, и это — один из них.
И я конечно в СССР не жил
Ну так не спорьте о вкусе ананасов с теми, кто их ел. Показывали (не всё подряд, конечно), во вполне официальных кинотеатрах (на особо любимые я вообще раз десять ходил), а ближе к концу — так вообще (как пошли всякие видеосалоны и частные телеканалы) хлынули мутным потоком.
VolCh
16.09.2019 12:29Скорее СССР погубил (в этом контексте) контраст между советскими фильмами о советской реальности и собственно этой реальностью. Не было бы этого контраста, советская пропаганда "в американском кино враньё или просто сказка, а на самом деле там негров линчуют" воспринималась бы серьёзней. А когда она же утверждает, что в совестком кино правда, а любой видит, что нет, то к её словам об Америке доверия не будет.
Wesha
16.09.2019 23:29контраст между советскими фильмами о советской реальности и собственно этой реальностью.
Не припоминаю какого-то особого контраста (ну, кроме тех товарищей,
которые нам совсем не товарищикоторых в конце фильма обычно разыскивала милиция). Парочку примеров не подкинете?
Dr_Sigmund
15.09.2019 21:57+1В детстве мне много чего запрещали без объяснения причин, просто нельзя и все, поэтому я, как никто другой, знаю, как практика запрещений отрицательно влияет на человека
Как говорят американцы, эта фраза попросту сделала мой день. Давно так не смеялся, спасибо.
PAPIruss Автор
16.09.2019 13:48Дорогой Bonio. Вы статью прочли полностью или только вступлением огианичились? Я сделал тоже самое что предлагаете сделать вы. Только элегантние и за меньшее колличество телодвижений чем сделали бы вы. Спросив вас про неконтролируемый доступ я имел в виду сл. В своей борьбе за свободу доступа к информации вы готовы предоставить свои каналы связи всем желающим? Абсолютно всем, вне зависимости от того знаете вы этих людей или нет.
maxzhurkin
16.09.2019 18:02+1
Вы же вообще вопрос не поняли, судя по ответуВы готовы у себя дома настроить неконтролируемый доступ к интернету для всех желающих, сли нет то почему?
Да, готов. Более того, я это давно сделал, завернув 100% домашнего трафика в vpn.
Andrusha
15.09.2019 12:50Надо начать с того, что сама формулировка «нам запрещают наши госорганы» некорректна. В данный момент госорганы не могут напрямую запретить посещать что-либо из-за статьи 29 Конституции РФ, из-за чего, собственно, весь этот цирк и виляние представителей Роскомнадзора в прессе, когда они оправдываются: мол, мы не гражданам запрещаем смотреть, а распространителям информации распространять, значит, это де-юре не цензура.
vp7
15.09.2019 11:10Во-первых, у вас какие-то древние микротики. Даже RB951G отлично работает, а уж hAP ac^2 и подавно.
Во-вторых, вы неверно трактует закон. Ответственность несут провайдеры, которым теперь ещё и ревизора воткнули.
Скажите, у вас есть лицензия на предоставление доступа в интернет? У вас стоит ревизор? Наконец, у вас установлено оборудование СОРМ? Если нет, то за отсутствие блокировок вы ответственности не несете.
Дома я тоже долго игнорировал блокировки до тех пор, пока у меня не сломался google chromecast и не начались массовые проблемы с доступом к разрешенным в РФ сайтам (та самая эпопея с телеграммом).
Самое простое решение проблемы — не использовать mangle (который тоже жрёт ресурсы), а прописать маршруты к необходимым сетям.
Если не хотите прописывать ручками — можете получать их динамически от BGP пира. Либо самостоятельео поднять у себя на виртуалке, либо поднять пиринг с существующим сервисом (на Хабре про него писали).
В итоге в VPN вы отправите только нужный вам трафик и очень надолго забудете о проблеме.
AllexIn
15.09.2019 11:16Но ведь большинство сайтов просто редиректятся на уровне DNS.
Соответственно резолв не сработает и данные через шлюз не пойдут.
Есть ли адекватный способ попросить для этих(и только этих) адресов и резолв делать через шлюз?PAPIruss Автор
15.09.2019 22:54+1Используйте правильные DNS.
1.1.1.1
8.8.8.8
Не используйте провайдерские DNSsumanai
15.09.2019 23:19А разница? Сейчас провы все запросы на 53 порт заворачивают себе.
GennPen
16.09.2019 10:49Как правило, поддельные ответы приходят когда запрос идет через UDP, через TCP нормально резольвится.
Заголовок спойлераC:\>nslookup
TхЁтхЁ яю єьюыўрэш¦: UnKnown
Address: 192.168.1.1
> server 8.8.8.8
TхЁтхЁ яю єьюыўрэш¦: dns.google
Address: 8.8.8.8
> telegram.org
TхЁтхЁ: dns.google
Address: 8.8.8.8
Не заслуживающий доверия ответ:
Lь : telegram.org
Addresses: 2a02:2698:a002:1::3:17
5.3.3.17
> set vc
> telegram.org
TхЁтхЁ: dns.google
Address: 8.8.8.8
Не заслуживающий доверия ответ:
Lь : telegram.org
Addresses: 2001:67c:4e8:1033:1:100:0:a
2001:67c:4e8:1033:2:100:0:a
2001:67c:4e8:1033:3:100:0:a
2001:67c:4e8:1033:4:100:0:a
2001:67c:4e8:1033:5:100:0:a
2001:67c:4e8:1033:6:100:0:a
149.154.167.99PAPIruss Автор
16.09.2019 11:33Поправьте меня если я ошибаюсь. Стандарт запроса-ответа dns именно udp. Tcp используется например при передаче зон...
DaemonGloom
16.09.2019 11:52В современном мире tcp будет являться столь же стандартным вариантом, сколь и udp для данных запросов. Ожидаем dns flag day 2020, когда это будет проверено глобально.
Впрочем, для большинства случаев, tcp работает уже сейчас.
AllexIn
16.09.2019 08:30Это не работает.
DNS открытый протокол и провайдер его перехватывает без проблем.PAPIruss Автор
16.09.2019 09:11Вы сами себе провайдеры. Кто вам мешает заворачивать любые запросы в тот же впн?
Если не проверили проверьте для начала куда идут ваши запросы на самом деле, Nslookup вам в помощь. Ну и dns ssl тот же гугл и фаерфокс уже почти допилили.AllexIn
16.09.2019 09:26Ну так я и спросил как это сделать:
Есть ли адекватный способ попросить для этих(и только этих) адресов и резолв делать через шлюз?
PAPIruss Автор
16.09.2019 09:39Простите я видемо не до конца понял Ваш вопрос. Наверняка это возможно. С появлением 1.1.1.1 скорость отклика которого порой даже выше провайдреских я завернул все запросы на него. И мне не совсем ясно для чего нужно разделение днс трафика. Когда проще найти 1рабочий правильный днс сервер.
whyme
16.09.2019 11:36Много провайдеров заварачивают весь ДНС трафик на себя для блокировки, к примеру домру, Вы можете указывать какие угодно днс сервера у себя, резольвить имена будет локальный днс провайдера.
whyme
16.09.2019 11:33+1Могу предложить несколько вариантов,
— если хотите для всех устройств и без их (устройств) настройки поднимаете на роутере впн, перехватываете весь DNS трафик на роутере и отправляете в впн (на микротике настраивается достаточно просто), но будете зависеть от ВПН, если он упадет, интернета у вас не будет
— если хотите в пределах одного устройства, но для всей операционной системы, настраиваете локальный ДНС, который обращается к глобальным ДНС с шифрованием, можно что-то типа DNSCrypt, а можно обычный ДНС сервера c поддержкой DNS-over-https (в bind вроде уже появился, да и других полно)
— если для Вас достаточно только в рамках браузера, то firefox поддерживает DNS-over-https, добавить пару строчек в about:config и готово.AllexIn
16.09.2019 11:34С теорией я знаком.
Но т.к. не являюсь админом — проблемы именно с реализацией на практике.PAPIruss Автор
16.09.2019 11:43На хабре есть личные сообщения? Если есть напишите мне в личку, пообщаемся.
whyme
16.09.2019 12:28+1Если проблемы с реализацией на микротик, то тут все зависит от впна, с которым Вы хотите настроить, настройка впна отдельный вопрос, все варианты так просто не описать. Сам редирект ДНС не очень сложный, c IKEv2 у меня сейчас такая конфигурация:
На роутере настроены днсы 1.1.1.1 1.0.0.1 (если получаете ip от провайдера по DHCP, не забудьте отключить Use Peer DNS в настройках интерфейса)
Разрешаем днс запросы к роутеру
/ip dns
set allow-remote-requests=yes
Заварачиваем 53 порт на роутер (правила в самый вверх)
/ip firewall nat
add action=redirect chain=dstnat dst-port=53 protocol=udp src-address=192.168.88.0/24 to-ports=53
add action=redirect chain=dstnat dst-port=53 protocol=tcp src-address=192.168.88.0/24 to-ports=53
где 192.168.88.0/24 локальная есть.
Указываем через какой адрес/интерфейс делать запросы на 1.0.0.1 и 1.1.1.1, прописываем отдельные маршруты для наших днс серверов.
/ip route
add distance=1 dst-address=1.0.0.1/32 gateway=pppoe-out pref-src=172.17.2.60
add distance=1 dst-address=1.1.1.1/32 gateway=pppoe-out pref-src=172.17.2.60
где pppoe-out интерфейс pppoe подключения провайдера, 172.17.2.60 ip адрес, который получил микротик от впн сервера (можно указывать просто впн интерфейс, если у вас не policy based впн как у меня, типа openvpn)
В принципе все, трафик на 53 порту перехватывается со всех устройств и направляется на роутер, когда роутер пытается делать ДНС запрос, он уходит через впн ip (т.е. заворачивается в впн).
У меня немного избыточная конфигурация (из за других настроек), но тоже не сложно. Для надежности можете заблокировать попытки обращения на другие днс сервера с других адресов/интерфейсов (на случай, к примеру, если забыли отключить Use Peer DNS).
Ну или можете написать личное сообщение, если будет время постараюсь подсказать.DaemonGloom
16.09.2019 12:35Но зачем делать такую сложную конфигурацию, если можно просто устройствам по dhcp раздать нужный адрес dns серверов, без заворота пакетов на сам микротик? Они просто не пойдут на другие ДНСы, если им их не подсовывать специально (в статических настройках ip-адресов, например). При этом они столь же успешно отправятся по туннелю, а не по обычному интернету.
whyme
16.09.2019 12:48Очень много вариантов. Не все получают DNS адреса через DHCP, к примеру у меня много друзей приходит, у которых настроены DNS вручную (ip адрес по DHCP).
Много софта полностью игнорирует DNS системы, к примеру Телеграм.
Да что уж говорить, Windows 10 полностью игнорирует системные настройки ДНС, когда это касается системных служб и телеметрии. Я в начале тоже раздавал по dhcp, потом пришел к этому варианту, с ним всегда все работает, не важно какие устройства и как настроены.
+ заварачивая трафик вы можете добавлять статические ДНС записи, к примеру добавив IP для example.com на микротик, он начнет резольвиться в этот адрес на всех устройствах в сети (не надо бегать добавлять всем в hosts, а на андроиде не всегда возможно), это часто бывает полезно, с Вашим вариантом так не получитсяDaemonGloom
16.09.2019 13:57Обычно, в таких случаях можно поставить в качестве DNS сервера в настройках телефона/компьютера адрес микротика, дальше он сам уже вполне неплохо будет жить. Будут работать статические записи и т.д. Просто любое лишнее правило в файрволле — это дополнительная нагрузка на процессор.
Если друзья используют ручную настройку адреса — не надо уподобляться плохим провайдерам и использовать заворот на себя, зачем-то же они на своих устройствах это сделали.
Кстати, можете найти подтверждение про игнорирование днс в windows 10? Я бегло найти этого не смог.whyme
16.09.2019 15:24Все же, я склоняюсь к варианту, что ваше решение не полное, с ним возникают проблемы (убедился на собственном опыте), как минимум нужны дополнительные действия на клиентских устройствах. Многие меняют ДНС на статические, одна из популярных рекомендаций для обхода блокировок поставить 8.8.8.8 или 1.1.1.1. Многие меняют для фильтрации (детские фильтры и т.п.). После того как у половины друзей, которые ко мне приходили и подключались к сети, сайты были заблокированы (провайдер перехватывал трафик DNS отличных от моих серверов) или не работал интернет (в случае когда на моем роутере разрешены были только те DNS, что выдавал dhcp), я перешел с Вашего варианта на мой, так как не всем охота менять настройки приходя ко мне и потом менять обратно. После этого никаких проблем не возникало. При этом нагрузка даже на младших моделях микротик незаметна.
По поводу работы DNS в windows 10, как то давно пытался блокировать телеметрию через DNS, ничего хорошего не получилось и снифер показывал запросы по 53 порту на левые адреса (сейчас блокирую через GPO firewall, с отключением обычных правил, трафик только тот, что разрешил). Работа DNS в windows 10 вообще не очевидна, ОС, помоему, делает одновременный запрос на все ДНС сервера, и использует тот ответ, который пришел раньше, в связи с этим возникают проблемы, когда ответ через впн приходит позже и благодаря CDN балансировке (не тот регион) у вас возникают дополнительные тормоза через впн. Сейчас как минимум попробуйте подменить microsoft.com в hosts на свой и проверьте результат (ip не изменится), ну или попробуйте прослушивать трафик на 53.
Ну и на всякий случай, я не предлагаю вмешиваться в трафик как провайдеры, я тоже против этого. Просто в данном случае перехват трафика менее проблемный, если я не перехвачу весь трафик, то в половине случаев его перехватит провайдер, что приводит к проблемам.
Bonio
15.09.2019 11:17Вы повторите те же самые слова своему работадателю? У вас хватит мужества сказать ему что вы сами будете решать кому и куда давать доступ?
Не знаю, я, к счастью, не был в такой ситуации. Но если бы был, я бы потребовал от руководства предоставить мне список сайтов, которые необходимо разблокировать и разблокировал бы только их, маршрутизацией трафика до их ip через другого провайдера или vpn. Не стал бы городить этот огород и исправлять сломанное роскомнадзором.
Вы готовы у себя дома настроить неконтролируемый доступ к интернету для всех желающих, сли нет то почему?
Да, готов. Более того, я это давно сделал, завернув 100% домашнего трафика в vpn. Считаю практику запрещений, порочной и деструктивной в долговременной перспективе.
В детстве мне много чего запрещали без объяснения причин, просто нельзя и все, поэтому я, как никто другой, знаю, как практика запрещений отрицательно влияет на человека, лишь подогревая интерес к запрещенному. Нужно не запрещать, а просвещать, учить людей самостоятельно отличать хорошее от плохого, а не держать их в искуственно созданном стерильном вакууме, вырвавшись из которого они офигеют от реального мира и начнут делать всякие глупости. Но это сложно, проще запретить.
0HenrY0
15.09.2019 19:34У вас же есть резервный шлюз? Смайл.
Вот на этом стоит остановится подробнее. Как, находясь на территории России, подключить резервный шлюз, который не будет фильтроваться РКН с учетом перспективного закона о Рунете и массового внедрения DPI?
Предлагаю рассмотреть самый жесткий сценарий с блокировкой зарубежного VPN трафика.PAPIruss Автор
15.09.2019 23:32Пока есть возможность достучаться до зарубежных серверов, на вскидку ovpn, sstp. Которые способны работать на 443 порту маскируясь под https. Хотя конечно на сколько в перспективе эффективным окажется dpi? Штука новая не известно всего чего и как она может. Но что то мне подсказывает что скорее будет закрытый чебурнет, чем они действительно начнут детальный анализ всего подозрительного трафика. И если таки дойдет до чебурнета (в чем лично я уже почти не сомневаюсь). То остается лишь уповать на космический интернет от Теслы и иже с ним. При чем люди которые сумеют наладить контрабанду абонентских терминалов, буквально озолотятся. Не удивлюсь если этими людьми окажутся те же Ротенберги.
achekalin
16.09.2019 09:34Скажите, а что мешает вам не собирать адреса в отдельный список, а просто загрузить список блокируемых хостов и по ним сразу работать? BGP призвать в помощь, если есть возможность и желание, или прямо скриптами парсить в MT грузить?
Ну и, да, так split-gw подход дает side-эффект в виде вашего как бы одновременного присутствия разом в точке проживания (по IP от провайдера) и в точке второго шлюза (для РНК-закривленных маршрутов). На выходе это иногда мешает жить больше, чем просто перенаправление всего трафика в шлюз, без разделения.DaemonGloom
16.09.2019 09:47+1На самом деле, такая ситуация нужна для нескольких полезных ресурсов, когда нет никакого смысла поднимать bgp или иной способ автоматизации. Равно как и перестаёт быть критичен побочный эффект двух шлюзов в разных местах.
Например, если вам нравится заходить на сайт 7-zip.org для проверки его обновлений. И ещё пару подобных ресурсов.
PAPIruss Автор
16.09.2019 10:05В статье описано решение для корп.сети. Задача была дать доступ к ошибочно закрытым сайтам. Список которых на сегодня (для моей сети), не больше 10 шт. Что происходит всего черного списка ркн с микротиками я так же написал. Пускать весь трафик через другие каналы контрпродуктивно. Даже если ваш шлюз шире основного канала будут задержки отклика. Статья не про то как обмануть рнк. Про это можно нагуглить в других местах. Статья про небольшой костыль в корп.среде. Решающий конкретную, небольшую задачу без строительства вавилонской башни.
ZoomLS
16.09.2019 15:47Мы законопослушные граждане и не ходим туда куда нам запрещают наши госорганы.
Они не нам запрещают, а провайдерам. И не запрещают, а это цензура в чистом виде.
lebedinskiy
mikrotik форева!