EOIP между DD-WRT и Keenetic Giga 2 для объединения двух квартир в одну сеть или один HDD на две квартиры
Ранее в статье EOIP & DD-WRT для объединения двух квартир в одну сеть или все для Remote Play я писал как объединить два dd-wrt в одну сеть. Но позже сеть была расширена до 3 квартир. Добавлена в арсенал связка TPlink (на DD-WRT)+dlink dir320(на Zyxel) с внешним HDD ( куда качал встроенный клиент из торрентов со скоростью 1 Mb). Хоть все и работало отлично но скорости скачивания стало недостаточно. В связи с эти был приобретен Keenetic Giga 2 который позволял скачивать до 1Гбит/с (максимальная практическая пропускная способность встроенного маршрутизатора для IPoE, измеренная в лаборатории ZyXEL.)
Предыстория:
Собственно, задача — объединить дом 1, дом 2 и дом 3 в одну сеть с гуляющими бродкастами, и мультикастами. Так как дом 1 и дом 2 уже в сети то осталось поднять туннель дом 1 с дом 3. Цель — просматривать фильмы на Smart телевизорах с внешнего HDD и использовать его для хранения, и передачи файлов.
На вооружении имеем следующее железо:
Дом 1: Dlink dir615C2 Дом 3: Keenetic Giga 2
На роутерах были обновлены прошивки:
дом 1 — dd-wrt r37012 (09/21/18) дом 3 – Keenetik ver.2.12.C.1.0-6. (возможность eoip появляется только с ver.2.08 )
Процедура установки несложная, в интернете много информации на эту тему.
Для работы EOIP необходимо, чтобы с обоих сторон был «белый» IP-адрес, который либо приобретается у провайдера либо идет бонусом в тарифе. Если такой возможности нет, то можно пробросить vpn-туннель (о котором я так же рассказывал в одной публикации), а поверх него пустить EoIP.
Для того чтобы пользователи с обеих сторон видели друг друга в сетевом окружении, необходимо, чтобы они принадлежали к одной локальной сети. Я использовал следующие настройки:
Сеть: 192.168.100.0/24 Дом 1: маршрутизатор(192.168.100.10) имеет пул 192.168.100.1-192.168.100.50. Дом 2: маршрутизатор(192.168.100.70) имеет пул 192.168.100.51-192.168.100.100 Дом 3: маршрутизатор(192.168.100.130) имеет пул 192.168.100.101-192.168.100.150
После того как мы установили на наше железо прошивки и настроили на каждом DHCP, подключили клиентов, и убедились в их работе, приступаем к созданию туннеля EOIP.
Поднятие туннеля EOIP.
Для этого заходим в Веб. интерфейс роутера, переходим во вкладку Setup->EoIP Tunnel Жмем ADD Tunnel и ставим EoIP Tunnel в положение Enable;
Для объединения с dd-wrt старых версий(где нет возможности выбора режима туннеля) необходимо выбрать Protocol Type -> RFC 3378 EOIP Далее необходимо выбрать Protocol Type -> Mikrotik Обращаем внимание на имя туннеля и его ID, в моем случае имя: Tunnel oet2, Tunnel ID: 2 *Обязательно, номера туннелей должны совпадать у обоих роутеров.
Указываем в графе Local IP Address наш внешний IP. В графе Remote IP Address внешний IP Keenetik.
И в пункте Bridging галку на Enable. На этом настройки dd-wrt закончены и переходим к Keenetik.
Подключаемся к Keenetik через Telnet. Далее вводим команды для поднятия туннеля (вот тут нам и нужны имя и id туннеля dd-wrt):
(config)> interface EoIP2( Поднимаем туннель ) (config-if)> tunnel destination *Наш внешний IP* (config-if)> tunnel eoip id 2 ( ID туннеля) (config-if)> ip mtu 1500(это для интерфейса eoip) (config-if)> security-level private (config-if)> no isolate-private (config-if)> up (config-if)> interface Home(включаем Bridging) (config-if)>ip mtu 1500(это для интерфейса Hоме) (config-if)> include EoIP0 (config-if)> system configuration save
Теперь туннели подняты и нам стоит только проверить его и убедится в его работе. Не закрывая соединение с Keenetik пишем “show interface eoip2”
Если все сделано было верно то открыв cmd и введя Ping (локальный адрес Keenetik ) мы увидим как идут пакеты.
Источник
Zyxel и туннели, часть 2
В очередной раз появилось немного свободного времени, да и поддержка zyxel активизировалась, так что, я решил добить, или хотя бы, попытаться добить тему туннелей и решить проблемы, которые с ними остались. Проблем было две: неудовлетворительное качество работы IPIP/GRE туннелей в простых задачах ftp/smb и… некоторые сложности в пробросе multicast трафика. Т.е. туннели не работали совсем, либо работали плохо. Первая проблема пока не решена, решение второй я попытаюсь изложить ниже.
Итак, некоторое время назад у меня случилось новоселье и старая квартира с двумя 100 mbit каналами, импровизированной серверной и очень хорошим провайдером IP телевидения перестала быть для меня основной площадкой. Контроль над площадкой не потерян — там сейчас живут родители, да и счета за электричество и интернет/телевизор я оплачиваю, но, как уже упоминалось выше, теперь основной стала другая площадка. С более высокими потолками, большей площади и с лучшим ремонтом, но с каналами 70 mbit и 15 mbit и без IPTV вообще. Собственно, туннели от того и решено было пробрасывать.
Начал я опыты с оборудованием Zyxel на NDMS 2.08 и IPIP туннели работали быстро и стабильно, но на версии 2.09 я не могу через туннель передать файл размером несколько сотен мегабайт, в то время как через интернет (т.е. не по серому туннелю, а через белый адрес FTP или SMB сервера) могу. Возможно, что-то изменилось у провайдера, возможно я сам что-то наделал, возможно что-то изменилось в NDMS, это выяснить пока не удалось. А вот телевизор стал для IPIP задачей нерешаемой. Ну не умеет IPIP мультикаст трафик, зато умеет GRE.
Туннель GRE был поднят легко и просто, файлики летали между сетями так же как и по IPIP, но мультикаст трафик ходить отказывался. IGMP PROXY проблему не решал, а использовать UDPROXY не хотелось, ибо хотелось использовать приставки провайдера, т.е. сделать всё прозрачно. Поддержка общалась со мной долго и в общем вежливо, с пониманием, но конкретных решений не предлагалось. Под конкретными решениями я имею в виду инструкции, а не общие фразы типа «А не попробовать ли Вам EoIP?».
Блин, я хочу сохранить формально разные серые сети, ходить между этими сетями на шары и смотреть телевизор (портал в 3 статических правила и мультикаст), а мне предлагают EoIP. Когда общение с поддержкой было прекращено, а телевизор всё же смотреть хотелось, я начал искать такой вариант использования EoIP, который позволил бы не объединять серые сети, использовать два независимых DHCP сервера и вообще, мало чем бы отличался от GRE/IPIP для всех, кроме телевизора.
Решение в общих чертах такое: 1. Строим на конкретном порту «клиентского» роутера новый Бридж (и новый vlan), предварительно выведя этот порт из Home. 2. Поднимаем EoIP туннель без адресов и на «клиентском» и на «серверном» роутере. 3. Бриджуем EoIP на «серверном» роутере с интерфейсом Home и на «клиентском» с интерфейсом нового vlan.
То же самое в картинках:
Важные на мой взгляд элементы я выделил красным, белые адреса своих хостов замазал.
После такой настройки приставки вполне себе получают адреса от «удалённого» DHCP и показывают контент с «удалённого» сервера. GRE туннель при этом работает параллельно.
У этого решения есть минусы:
На компьютере в программном клиенте или в VLC телевизор не посмотреть.
У роутера «потерялся» один порт.
Все же пришлось строить два туннеля: «для файлов» и «для телевизора».
Конечно, есть соблазн «склеить» домашние сети совсем, но шанс получить падение канала или отключение основной площадки вполне реален, и тогда на удалённой не будет даже dhcp. Конечно, можно разделить склеенную сеть на сегменты, поднять два dhcp сервера и при этом гонять по туннелю только широковещательный трафик, но делать это дома и на железе домашнего уровня как-то не хочется. Так что, будет два туннеля.
Кстати, маршрутизаторы уровня Keenetik Lite III rev. B вполне справляются с мультикастом на 3-4 телевизора с приличным потоком не смотря на «программный NAT». Систему нужно еще понагружать, но не совсем понятно как объективно реакцию на нагрузку мониторить.