L2TP Туннель между роутером с OpenWRT и Mikrotik RB951G-2HnD

Всем привет! Есть у меня дача в деревне и там стоит роутер TP-Link 3420 с OpenWRT, использую я его в связке с 4G модемом ZTE MF825, в городе Mikrotik RB951G-2HnD, провайдер Псковлайн, этот провайдер предоставляет услугу IPTV и я настроив IGMP Proxy пользуюсь приставкой MAG-245 для телевизора. Приехав на дачу я заметил что МТС стал ограничивать время некоторых сессий (RDP, SSH), нормально не поработаешь на удаленных серверах, да и постоянные проблемы от того что сайтам кажется что я в Санкт-Петербурге. Еще захотелось привезти приставку и посмотреть тот-же Paramount Comendy на телевизоре. Было решено настроить L2TP туннель до микротика и настроить igmp proxy. Почему именно этот туннель? Дело в том что в городе у меня серый IP, но адрес за натом провайдера не меняется, также есть DNS запись на сервере провайдера вида gorod-home.pskovline.ru, а вот у МТС IP каждую новую сессию меняется.
Итак, исходные условия такие:
Mikrotik:
Сервер L2TP
Домашняя сеть - 192.168.20.0/24
Публичный IP - 1.1.1.1 (gorod-home.pskovline.ru)
TP-Link:
Клиент VPN
Домашняя сеть - 192.168.22.0/24
Адрес за NAT провайдера
Начнем с микротика:
1. Настроим профиль для L2TP сервера













2. Настроим профиль пользователя













3. Добавим маршрут к домашней сети TP-Link (нужно явно указать IP который указан в профиле пользователя)













4. Разрешить в файерволе прохождение UDP пакетов на порт 1701













С микротиком пока все, займемся TP-Link
1. Необходимо установить пакет xl2tpd и настроить подключение

opkg update
opkg install xl2tpd
vim /etc/config/network
config interface 'vpn'
        option proto 'l2tp'
        option server 'gorod-home.pskovline.ru'
        option username 'ravenich'
        option password 'secretpass'
        option keepalive '20 5'

2. Настроим фаервол

vim /etc/config/firewall
config zone
        option name             vpn
        list   network          'vpn'
        option input            ACCEPT
        option output           ACCEPT
        option forward          REJECT

config forwarding
        option src              lan
        option dest             vpn

config forwarding
        option src              vpn
        option dest             lan

3. Перезапускаем службу network и firewall

/etc/init.d/network restart
/etc/init.d/firewall restart

Итак, если все правильно, то должно установиться соединение и появиться доступ в интернет через городского провайдера. По умолчанию при подключении к тунелю в OpenWRT маршрут по умолчанию идет к сереру L2TP, что в принципе мне и нужно, также на микротике настроен маскардинг на интерфейс провайдера.

Теперь можно заняться IPTV:
На микротике добавляем интерфейс тунеля в IGMP Proxy:













На OpenWRT ставим igmpproxy и настраиваем его:

opkg update
opkg install igmpproxy
vim /etc/config/igmpproxy
config igmpproxy
        option quickleave 1

config phyint
        option network vpn
        option direction upstream
        list altnet 10.0.0.0/8

config phyint
        option network lan
        option direction downstream
/etc/init.d/igmpproxy enable
/etc/init.d/igmpproxy start

Ставим VLC, качаем плейлист с сайта провайдера и проверяем


























В целом все круто, но стоит перезагрузить роутер с OpenWRT как на микротике интерфейс в igmpproxy становиться unknown













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

Комментарии

Популярные сообщения из этого блога

Настройка модема ZTE MF825 (МТС 830FT) и маршрутизатора Mikrotik RB951g-2HnD для совместной работы

IPSec тунель между Mikrotik и Cisco ASA с пересекающимися (overlapped) сетями