Настройка VPN туннеля на операционной системе OpenWRT на процессоре MediaTek 7628AN и замер пропускной способности L2TP/L2TP IPsec туннелий. Рассмотрим два варианта подключение.
Подключение по VPN L2TP туннелю с доступом в локальную сеть за туннелем с шифрованием IPcec и без.
Настройку и тест Будим производить на роутере Kroks KNdRt31R27 MediaTek MT7628AN 580 МГц OpenWRT 19.07.8-210814.
Тесты будут проводиться программами MikroTik BandTest, SpeedTest, с замерами загрузки процессора программой htop в консоли.
Нам понадобиться Putty для доступа к консоли. все настройки будим проводить через терминал.
Установим пакет htop - программа для отображение через консоль загрузки CPU и процессов
mc - программа GNU Midnight Commander файловый менеджер
opkg update && opkg install htop && opkg install mc
Для очистки консоли можно применять сочетание клавишь Ctrl+L для удобства...
1. Подключение по VPN L2TP туннелю с доступом в локальную сеть за туннелем без шифрования.
адрес сервера (b.b.b.b) 84.42.28.194
подсеть за сервером (a.a.a.a/24) пример 192.168.30.0/24 ( /24 = 255.255.255.0)
Пример изображен на схеме.
Настройка L2TP подключения
uci -q batch <<-EOF
set network.vpn="interface"
set network.vpn.proto="l2tp"
set network.vpn.ipv6="0"
set network.vpn.defaultroute="0"
set network.vpn.delegate="0"
set network.vpn.force_link="1"
set network.vpn.mtu="1400"
set network.vpn.checkup_interval="10"
set network.vpn.keepalive="20 5"
set network.vpn.server="95.31.117.37"
set network.vpn.username="vpn"
set network.vpn.password="vpn"
EOF
uci commit network
Добавляем новое подключение в зону Firewall (Межсетевой экран) , есть 2 варианта.
1. вариант если задача по объединению офисов как на схеме в начале статьи.
uci set firewall.@zone[1].network="$(uci get firewall.@zone[1].network) vpn"
uci commit firewall
Настраиваем маршруты для доступа к внутренней сети (a.a.a.a/24) (при необходимости , у вас свои адресса)
uci -q batch <<-EOF
add network route
set network.@route[-1].target='192.168.30.0'
set network.@route[-1].gateway='172.16.190.1'
set network.@route[-1].netmask='255.255.255.0'
set network.@route[-1].interface='vpn'
EOF
uci commit network
2. вариант если нужно иметь доступ к устройствам из вне ( из интернета )
Суть схемы в том чтобы устройства через интернет могли подключиться к камере или другим устройством через посредника СЕРВЕР
вся переадресация происходит на "СЕРВЕР" с помощью SNAT/DNAT и маршрутизации из 172.16.0.0/16 в 192.168.1.0/24
uci set firewall.@defaults[-1].flow_offloading='0'
uci commit firewall
opkg remove mwan3 --force-removal-of-dependent-packages
sed -i '/metric/d' /etc/config/network
echo " " >>/etc/config/firewall
echo "config zone" >>/etc/config/firewall
echo " option name 'L3'" >>/etc/config/firewall
echo " option input 'ACCEPT'" >>/etc/config/firewall
echo " option output 'ACCEPT'" >>/etc/config/firewall
echo " option forward 'DROP'" >>/etc/config/firewall
echo " list network 'L3'" >>/etc/config/firewall
echo " " >>/etc/config/firewall
echo "config forwarding" >>/etc/config/firewall
echo " option src 'lan'" >>/etc/config/firewall
echo " option dest 'L3'" >>/etc/config/firewall
echo " " >>/etc/config/firewall
echo "config forwarding" >>/etc/config/firewall
echo " option src 'L3'" >>/etc/config/firewall
echo " option dest 'lan'" >>/etc/config/firewall
/etc/init.d/network restart
/etc/init.d/firewall restart
Перезагружаем устройство через веб интерфейс или с помощью команды:
sync && reboot
ПРОВЕРКА НАСТРОЕК поднятия туннеля до сервера
Подключаемся еще раз к роутер и наблюдаем в таблице маршрутизации "route" как поднялся тунель l2tp-vpn
Наблюдаем в вэб интерфесе статический маршрут который мы добавили если он требуется.
Проверка трасировки до узла за VPN тунелкм видно из схемы 192.168.30.252 и до Яндекса.