amanita 0 Жалоба Опубликовано 10 июня, 2011 Ахтунг, много букв. Страшные и непонятные слова. У блондинок и блондинов, а так же танкистов вызывает спазм желудка и разрыв мозга. Для упрощения понимания в теле поста буду иногда ссылаться на сторонние ресурсы, дабы дать определение и лишний раз не описывать то, что и так без меня давно написали. Сабж. Часть 1, ругаем провайдеров. Имеем 2 провайдера, например Билайн и СПАРК. Почему Билайн и СПАРК? По тому, что в Билайне (точнее Корбине) я работал, и для меня этот провайдер - дом родной. СПАРК - потому, что Ethernet. И еще по той причине, что на ЮТК уже был...А других провайдеров в моем доме просто нет. --- Плюсы и минусы (ИМХО) --- У каждого из провайдеров есть свои плюсы и минусы. Билайн (+) Очень стабильная внешка. Отсутствие скачков скорости, порывов VPN. Наличие т.н. локальной сети (что позволяет развертывать собственные ресурсы в локалке провайдера, например наш трекер, этот форум и ряд других). Билайн (-) На мой взгляд главный "-", это необходимость поднимать VPN для выхода на внешку Впрочем мне это не мешает, однако некоторую часть пользователей вводит в ступор (в основном тех, кто пришел с провайдера №2. Не самый дешевый Интернет (но и не самый дорогой). При необходимости подключить >1 ПК необходимо приобрести роутер, сама настройка которого вызывает икоту у неопытного пользователя, да и цена роутера с человеческим ТТХ как правило не радует (от 80 уе). СПАРК (+) - цена. Я подключался по бессрочной акции 310 р/3 МБита/месяц. Подключение по Ethernet (этот же провайдер использует и печально известную технологию PLC, в народе - Интернет из розетки, но не будем о плохом...). Подключал этого провайдера в качестве резервного. Нет необходимости танцевать с подключением. Данный провайдер использует судя по всему технологию VLAN на пользователя, т.е. воткнул кабель в сетевую карту - появился интернет. IP-адрес выдается из серой подсети, 10.xxx.yyy.zzz/29. При необходимости подключить >1 ПК достаточно купить самый дешевый свитч (от 15 уе). Наличие т.н. локальной сети, в которой есть масса медиа-контента. Яндекс локален со всеми вытекающими (народный диск/зеркала Яндекса и прочая радость). СПАРК (-) Внешка не стабильна. Полное отсутствие вменяемой ТП (либо недозвон во время аварий, либо час+ слушаем музыку с последующим обрывом связи), на автомате надиктовано сообщение об аварии на моем домовом оборудовании (что этому самому оборудованию абсолютно не мешает работать). Впрочем, буду честен - за последний месяц вроде все стабилизировалось. Еще один "-" это IP, который выдается, он серый. Немаршрутизируемый. Выше писал - 10.xxx.yyy.zzz/29. Для обычного юзера - нормально, для человека, чья работа связана с сетью - нехорошо. Белый IP стоит денег (100 р/мес), к слову в Билайне 130. Часть вторая, практика. С провайдерами разобрались. Едем дальше. Кроме 2-х провайдеров имеем домашнюю локальную сеть. Все как у обычного IT-шнеГа style_emoticons/default/smile.gif ПК, ноут, _________ (впишите свое). Адресация в нашей домашней локалке 192.168.1.0/24. Нужно получить профит от 2-х провайдеров. Раскидываем трафик из нашей сети на 2-х провайдеров: Так как оба провайдера имеют локальную сеть, и адреса пользователям (точнее пользовательским железкам) выдаются по DHCP, причем выдаются они из 10-й подсети, нам прийдется каким-то образом эти сети разделить и организовать шлюзы в каждую из них. Технически это можно реализовать по-разному (готовые маршрутизаторы с несколькими WAN, пара маршрутизаторов, маршрутизатор на базе ПК+FreeBSD и нескольких сетевых карт, 1 сетевая карта+L2-свитч+VLAN+любимая ОС) - в общем, простор для действия под названием "сломай мозг". Все эти способы описывать смысла нет, принцип у них один - организация пары (или больше - по количеству провайдеров) шлюзов и раскидывание трафика по организованным шлюзам согласно некоторых правил. Физически, для примера, и с моей точки зрения наиболее простой способ - это пара маршрутизаторов (роутеров). Так уж вышло, что в моей домашней сети уже работал роутер TL-WR1043ND. Подробно описывать я его не буду, так как писал о нем тут. Вообще, в соседних ветках об этом звере писали достаточно. Скажу одно - аппарат более чем достойных за свои деньги. После всякого рода издевательств над девайсом было решено оставить на нем прошивку DD-WRT. Описывать ее не стану, информации достаточно в сети, в том числе есть и русскоязычный форум. В общем, работать будем с DD-WRT. Для второго провайдера так же понадобится роутер. У меня по-случаю завалялся Asus WL-500GPv2 уже 2 1043-х стоит (что в общем не изменяет практики применения), так же пошитый DD-WRT (впрочем, для второго провайдера это уже не критично). Собираем такую схему: - в WAN порт TP-Link 1043ND вставляем кабель Билайна. - в WAN порт Asus (или какой там у вас роутер) вставляем кабель СПАРК-а. TP-Link настраиваем стандартно (WAN ддля поднятия VPN, адрес роутера 192.168.1.1 - по умолчанию для прошивки DD-WRT, DHCP включен, диапазон выдаваемых адресов - на ваше усмотрение), в общем, настраиваем так, как будто у нас 1 роутер и 1 провайдер (картинки будут ниже style_emoticons/default/wink.gif). Asus (роутер, который смотрит в СПАРК) настраиваем для работы со СПАРК-ом (WAN Пполучает адрес по DHCP, адрес роутера в локалке - 192.168.1.254, DHCP отключить), у себя я отключил на Asus-е еще и WiFi - беспроводкой у меня озадачен TP-Link (там и процессор побыстрее, и беспроводка более шустрая, таки 802.11N, плюс TP-Link будет у нас шлюзом по-умолчанию). После того, как оба девайса настроны, патчкордом соединяем порты LAN TP-Link-a и Asus-a (например, если девайсы стоят один над другим, то удобно соединить 1-й (4-й) порт TP-Link и 1-й (4-й) порт Asus), хотя это вообще не критично. В результате мы получили 1 объединенный маршрутизатор с 2-я WAN-портами, смотрящими в 2-х провайдеров. Оба роутера по отдельности NAT-ят сети провайдеров в одну локальную домашнюю сеть 192.168.1.0/24, при этом, так как DHCP-сервер включен только на TP-Link-e, он для нас будет шлюзом по-умодчанию, и располагается по адресу 192.168.1.1. А шлюз в СПАРК расположен по адресу 192.168.1.254. Теперь, исходя из логики и предпочтений, можно раскидывать трафик так, как нам нужно. Однако, я не зря упомянул про Яндекс в самом начале повествования. Так как Яндекс для пользователей СПАРК-а локален, логично было бы на сервисы Яндекса ходить через этого провайдера (как минимум, скорость выше будет). Для этого первым делом идем сюда (например) и выясняем диапазоны сети Яндекса: ЦитатаIP Lookup — просмотр информации об ip-адресе и подсетях Информация об ip-адресе 87.250.250.203 (ya.ru) % This is the RIPE Database query service. % The objects are in RPSL format. % % The RIPE Database is subject to Terms and Conditions. % See http://www.ripe.net/...-conditions.pdf % Note: this output has been filtered. % To receive output for a database update, use the "-B" flag. % Information related to '87.250.250.0 - 87.250.250.255' inetnum: 87.250.250.0 - 87.250.250.255 netname: YANDEX-250-0 descr: Yandex enterprise network country: RU admin-c: YNDX1-RIPE tech-c: YNDX1-RIPE remarks: INFRA-AW status: ASSIGNED PA mnt-by: YANDEX-MNT source: RIPE # Filtered % Information related to '87.250.224.0/19AS13238' route: 87.250.224.0/19 descr: Yandex network origin: AS13238 mnt-by: YANDEX-MNT source: RIPE # Filtered Записываем, или запоминаем. Аналогично поступаем со всем остальным Яндексом (nslookup yandex.ru/nslookup narod.ru в командной строке). Далее, заходим в админку нашего шлюза по-умолчанию (напомню, это TP-Link пошитый DD-WRT), закладка Advanced Routing и добавляем маршрут вида: Не менее логичным было бы ходить на ресурсы провайдера через его же родную сеть, т.е. если что-то расположено на сети СПАРК-а, то и ходить туд проще и быстрее через СПАРК-овскую сеть. Идем на указанный выше ресурс, смотрим диапазоны сети провайдера и аналогичным образом забиваем маршруты в таблицу маршрутизации. Вы мне можете сказать, что де существует масса способов определения кратчайшего пути/веса маршрута для пакета, глупо забивать статикой маршруты на целые подсети и т.п. Скажу одно: я в контексте заметки рассматриваю принцип "как сделать", не вдаваясь в подробности. Да, действительно можно, и даже полезно например написать скрипт и запустить его на роутере (тем более, что на роутере вполне себе полноценная ОС установлена), который будет определять доступность того или иного пути у провайдера, или просто определять "жива ли внешка" провайдера и автоматом переключать маршруты. Об этом возможно напишу позже, если будет время и желание, ИМХО главное - показать принцип действия. И так, основной принцип ясен. Теперь подумаем, что делать с локальной сетью одного и второго провайдера, в них как-никак находятся весьма серьезные запасы гнухи разного контента (трекеры). После долгих ночных бдений и пары-тройки литров хорошего коньяка эмпирическим путем была выведена таблица Менделеева маршрутизации для Ростова на Дону, позволяющая раскидывать трафик на обе локальные сети провайдеров. Привожу таблицу как есть, напоминаю, что 192.168.1.1 - это шлюз Билайна, а 192.168.1.254 - это у нас СПАРК. Собственно: Цитата10.97.0.0 255.255.0.0 10.xx.xx.1 WAN 10.175.0.0 255.255.0.0 10.xx.xx.1 WAN 10.114.0.0 255.255.0.0 10.xx.xx.1 WAN 10.22.0.0 255.255.0.0 10.xx.xx.1 WAN 10.86.0.0 255.255.0.0 10.xx.xx.1 WAN 10.96.0.0 255.255.0.0 192.168.1.254 LAN & WLAN 10.115.0.0 255.255.0.0 192.168.1.254 LAN & WLAN 10.87.0.0 255.255.0.0 192.168.1.254 LAN & WLAN 10.174.0.0 255.255.0.0 192.168.1.254 LAN & WLAN 10.112.0.0 255.254.0.0 192.168.1.254 LAN & WLAN 10.84.0.0 255.254.0.0 192.168.1.254 LAN & WLAN 10.20.0.0 255.254.0.0 192.168.1.254 LAN & WLAN 10.98.0.0 255.254.0.0 192.168.1.254 LAN & WLAN 10.172.0.0 255.254.0.0 192.168.1.254 LAN & WLAN 10.80.0.0 255.252.0.0 192.168.1.254 LAN & WLAN 10.16.0.0 255.252.0.0 192.168.1.254 LAN & WLAN 10.116.0.0 255.252.0.0 192.168.1.254 LAN & WLAN 10.100.0.0 255.252.0.0 192.168.1.254 LAN & WLAN 10.168.0.0 255.252.0.0 192.168.1.254 LAN & WLAN 10.120.0.0 255.248.0.0 192.168.1.254 LAN & WLAN 10.104.0.0 255.248.0.0 192.168.1.254 LAN & WLAN 10.160.0.0 255.248.0.0 192.168.1.254 LAN & WLAN 10.64.0.0 255.240.0.0 192.168.1.254 LAN & WLAN 10.0.0.0 255.240.0.0 192.168.1.254 LAN & WLAN 10.176.0.0 255.240.0.0 192.168.1.254 LAN & WLAN 10.128.0.0 255.224.0.0 192.168.1.254 LAN & WLAN 10.192.0.0 255.192.0.0 192.168.1.254 LAN & WLAN Синим цветом выделены подсети Билайна, зеленым - СПАРК-а. За достоверность адресации СПАРК-овской сети не ручаюсь, ибо тайна эта покрытая мраком. По сему, пришлось таким вот хитрым образом нарезать всю 10-ю подсеть (10.0.0.0/8) на отдельные кусочки, т.е. на Билайн и СПАРК. Естественно, вместо шлюза вида 10.xx.xx.1 вы должны вписать свой шлюз в локальной сети. Так же стоит обратить внимание на интерфейсы, через которые будет идти трафик. Так как вся эта настройка производится на роутере, являющемся шлюзом по-умолчанию для нашей домашней сети, а так же ввиду того, что этот самый шлюз ведет по-умолчанию в сеть Билайна, то и интерфейс для выхода в сеть Билайна будет WAN, а для СПАРК-а соответственно LAN & WLAN, т.е. отправляться на 192.168.1.254. При таком раскладе мы можем спокойно ходить и на наш трекер и на СПАРК-овский. Надеюсь, что принцип объяснил достаточно ясно. Часть 3, для особо извращенного ума ценителей прекрасного Собственно, вот захотелось мне, что бы с ответом от DHCP сервера приходили не только стандартные настройки (IP-адрес, маска, шлюз) но и DNS, которые я захочу, ну и до кучи - маршруты, что бы значит, все как белых людей полноценного провайдера. Хочется? Делаем, не вопрос. Дело в том, что в качестве DNS и DHCP - сервера на роутере (конкретно в DD-WRT) крутится чудесная штука под названием DNSMASQ, сочетающая в себе сразу и DHCP и DNS сервер. Опять же, рассказывать про DNSMASQ не буду, кому нужно - прочтет, благо информации море (хоть и на вражъем наречии). Так же, в RFC2132 рассказывается о такой приятной мелочи как DHCP Option (так же можно ознакомиться тут). DNSMASQ вполне себе поддерживает некоторую часть этих самых опций. Их и будем настраивать. Формат передачи параметров DNSMASQ выглядет так: Код dhcp-option=x,y где x-собственно номер опции, а y - параметр той или иной опции. Например, для передачи списка DNS-серверов в ответе DHCP достаточно в конфиге DNSMASQ написать: Код dhcp-option=6,85.21.192.3,213.234.192.8 В данном случае 6 это Domain Server, а после запятой собственно IP-адреса самих DNS-серверов (в данном случае Билайна). Хочу заметить, что запись производится именно в таком виде - без пробелов, опции отделяются друг от друга запятыми. Иначе работать не будет. Далее, что бы передать маршруты (как например это делает наш провайдер) необходимо сделать в конфиге DNSMASQ такую запись: Код dhcp-option=121,87.250.224.0/19,192.168.1.254,213.138.64.0/19,192.168.1.254,86.110.160.0/19,192.168.1.1,213.180.192.0/19,192.168.1.254,77.88.0.0/18,192.168.1.254,93.158.128.0/18,192.168.1.254,95.83.128.0/18,192.168.1.254,178.76.192.0/18,192.168.1.254,81.19.64.0/19,192.168.1.254,92.255.241.0/24,192.168.1.254,79.141.48.0/20,192.168.1.254,212.117.174.172/32,192.168.1.254,86.110.160.0/19,192.168.1.254 (конкретно это - список маршрутов, используемых мной, вы можете забить свои, например на тот кусок локальной сети, который идет на СПАРК - см.выше). DHCP Options 121 это Classless Static Route Option (RFC3442). Настраивается в общем виде все это безобразие на страничке Services: Код dhcp-option=6,85.21.192.3,213.234.192.8 dhcp-option=121,87.250.224.0/19,192.168.1.254,213.138.64.0/19,192.168.1.254,86.110.160.0/19,192.168.1.1,213.180.192.0/19,192.168.1.254,77.88.0.0/18,192.168.1.254,93.158.128.0/18,192.168.1.254,95.83.128.0/18,192.168.1.254,178.76.192.0/18,192.168.1.254,81.19.64.0/19,192.168.1.254,92.255.241.0/24,192.168.1.254,79.141.48.0/20,192.168.1.254,212.117.174.172/32,192.168.1.254,86.110.160.0/19,192.168.1.254 После применения настроек, перезагрузки маршрутизатора, получаем вместе с IP-адресом/маской и все остальное. Проверяем: --- Ну и в догонку, для полного счастья, моя (почти вся) таблица маршрутизации с роутера: Чем мы сами себе не провайдеры Если у кого возник вопрос - а зачем отдавать по DHCP и в таблицу маршрутизации записывать сами маршруты, если они уже пришли при получения IP? Объясню. Дело в том, что например не все версии/сборки Windows XP поддерживают Options 121. Есть подозрение, что работает это только на Windows Vista/7 и выше, а на ОС 2000/XP - нет. Проверять особо не на чем (да и лень), могу сказать только, что на XP маршруты не приходят (точнее приходят,судя по снифу, но система их не понимает). Так вот, что бы ноут не ломился только на шлюз по умолчанию сделанно именно так. Windows 7 кстати чудесно все понимает, доказательство тому - скриншот с командой route print выше. Можно все это дело реализовать на 1 роутере, путем настройки VLAN для 2-го провайдера, организации шлюза во VLAN-е, и далее по тексту...Но есть одно "но". Скорость обработки информации процессором роутера и количество памяти в самом роутере. Каким бы распрекрасным ни был TP-Link, с учетом того, что одно из соединений на WAN требует VPN (а это весьма ресурсоемкая штука), плюс скорости внешки сейчас достаточно высоки, плюс нагрузка P2P трафика (большое количество соединений) - только не говорите, что не будете качать с трекеров, плюс ко всему - локальные трекеры (скорости до 100 мбит/с)...Так вот боюсь, что не взлетит. Так что схема с 2-я роутерами ИМХО вполне жизнеспособна. По меньшей мере в качестве эксперимента (у меня он длится уже 6 месяцев) С Уважением, Я Ну и как обычно: Пользуйте на здоровье. Есть желание препечатать? Скопировать? Ссылки на наш форум обязательны. Короче (С) Amanita. Поделиться сообщением Ссылка на сообщение
Allexis 0 Жалоба Опубликовано 12 марта, 2012 Добрый день. Сейчас настроил маршрутизатор в двумя wan, хочу ходить в интернет через билаин, резерв спарк и локалка спарк. Не совсем разобрался в адресации В настройка маршрутизатора возможно создать правило разграничение трафика только по ip. Как я понимаю маска подсети в спарке 255.255.255.248, То есть если мне нужно выходить на трекер спарка через спарк, то просто прописать адрес трекера 86.110.181.166.??? Какие ip адреса у яндекса? Правильно ли получать ip адрес сайта через команду пинг? Помогите пажалуйста, а то очень хочется чтоб всё работало как надо. Поделиться сообщением Ссылка на сообщение
amanita 0 Жалоба Опубликовано 12 марта, 2012 Добрый день. Сейчас настроил маршрутизатор в двумя wan, хочу ходить в интернет через билаин, резерв спарк и локалка спарк. Не совсем разобрался в адресации В настройка маршрутизатора возможно создать правило разграничение трафика только по ip. Как я понимаю маска подсети в спарке 255.255.255.248, То есть если мне нужно выходить на трекер спарка через спарк, то просто прописать адрес трекера 86.110.181.166.??? Какие ip адреса у яндекса? Правильно ли получать ip адрес сайта через команду пинг? Помогите пажалуйста, а то очень хочется чтоб всё работало как надо. Начну с обратного. Правильно получать не ip-адреса, а блоки адресов. Например у Яндекса в выдаче по звпросу nslookup yandex.ru их числится аж 6: gate# nslookup yandex.ru Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: yandex.ru Address: 77.88.21.11 Name: yandex.ru Address: 87.250.250.11 Name: yandex.ru Address: 87.250.251.11 Name: yandex.ru Address: 93.158.134.11 Name: yandex.ru Address: 213.180.193.11 Name: yandex.ru Address: 213.180.204.11 По этой самой причине копать данные на тот или иной сервис правильнее тут. Для того же Яндекса блоки адресов будут такими. Берем нужные сети и отправляем статикой их на ваш шлюз в СПАРКе (или туда, куда нужно). Теперь касаемо трекера СПАРКа: Проблема заключается не в том, что бы ходить на трекер спарка (сам трекер - сайт трекера) через шлюз СПАРКа, а в том, что бы скачивать из сети СПРАКА. Качаете то вы не с сервера трекера, а с юзверей, которые находятся в локалке СПАРКа, а это несколько иной расклад. Локалка Билайна и локалка СПАРКа пересекаются, по этому придется пилить 10-ю сетку на куски. Ту часть которая в БИ отправлять на интервфейс Билайна, а ту часть которая в СПАРКе - отправлять соответственно на интерфейс СПАРК-а. Просто выпилив адрес трекера СПАРКа вы ничего не получите. Именно по этой причине на скриншоте выше творится такой изврат с 10-й сетью - она побита на мелкие куски. Поделиться сообщением Ссылка на сообщение
Allexis 0 Жалоба Опубликовано 17 марта, 2012 (изменено) А если же мне нужна локалка только спарка и задать правила я могу только по ip или диапазону ip, правильно ли будет указывать адреса спарка напримет так: 86.110.160.1 - 86.110.191.254 для блока адреса 86.110.160.0/19 ??? Изменено 17 марта, 2012 пользователем Allexis Поделиться сообщением Ссылка на сообщение
amanita 0 Жалоба Опубликовано 17 марта, 2012 А если же мне нужна локалка только спарка и задать правила я могу только по ip или диапазону ip, правильно ли будет указывать адреса спарка напримет так: 86.110.160.1 - 86.110.191.254 для блока адреса 86.110.160.0/19 ??? Бррррр.... Вы чего то путаете Вы получаете от СПАРК-а адрес из 10-й подсети вида 10.***.***.***/29 там же есть шлюз по умолчанию, вот его и указывайте в качестве шлюза что бы ходить на СПАРК. Это ежели у вас не белый внешний IP. Если белый IP, то будете получать от спарка что то вроде 178.***.***.***/30, тоже будет шлюз 178.***.***.*** - вот на него и отправляйте СПАРК и все его сети. Дело в том, что 99% пользователей спарка имеют локальный серый IP из 10-й сети, и что бы с ними пириться, вам нужно прописать что то вроде 10.0.0.0/8 gw ваш шлюз - тогда вы будете видеть всю локалку спарка и пиров в ней. Ну и аналогично - для яндекса и остальных спарковских ресурсов... Поделиться сообщением Ссылка на сообщение