На Keenetic приходят два провайдера: один проводной (основной) и другой через USB-модем (резервный). Резервный канал более медленный, поэтому через резервное подключение нужно организовать доступ только с основных устройств, а остальным запретить. Как это сделать?
Данную настройку можно произвести путем настройки правил межсетевого экрана. Предположим, что у нас основной выход в Интернет осуществляется через интерфейс ISP, а резервным подключением является интерфейс UsbLte.
1. Рассмотрим вариант, когда нужно разрешить доступ через резервный канал только основным устройствам. Например, нужно разрешить доступ через UsbLte только для хостов 192.168.1.33 и 192.168.1.34, а остальным нужно запретить.
Для этого выполните следующее:
1.1. Подключитесь к интерфейсу командной строки (CLI) роутера.
1.2. Необходимо создать список правил межсетевого экрана и в него добавить правила разрешающие для указанных хостов и запрещающие для остальных.
(config)> access-list Dostup_v-Rezerv
(config-acl)> permit tcp 192.168.1.33 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> permit udp 192.168.1.33 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> permit icmp 192.168.1.33 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> permit tcp 192.168.1.34 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> permit udp 192.168.1.34 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> permit icmp 192.168.1.34 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
config-acl)> deny tcp 192.168.1.0 255.255.255.0 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> deny udp 192.168.1.0 255.255.255.0 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> deny icmp 192.168.1.0 255.255.255.0 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> exit
(config)> system config-save
Core::ConfigurationSaver: Saving configuration...
1.3. После этого нужно привязать данный список правил к резервному интерфейсу в направлении out:
(config)> interface UsbLte0 ip access-group Dostup_v_Rezerv out
access group applied
(config)> system configuration save
Core::ConfigurationSaver: Saving configuration...
1.4. После этого доступ через резервное подключение будут иметь только два хоста локальной сети.
2. Рассмотрим второй вариант, когда нужно запретить доступ через резервное подключение некоторым хостам (в нашем примере те же 192.168.1.33 и 192.168.1.34), а остальным разрешить.
В этом случае необходимо выполнить следующее:
2.1. Подключитесь к интерфейсу командной строки (CLI).
2.2. Необходимо создать список правил межсетевого экрана и в него добавить правила запрещающие для хостов.
(config)> access-list Zapret_v-Rezerv
(config-acl)> deny tcp 192.168.1.33 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> deny udp 192.168.1.33 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> deny icmp 192.168.1.33 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> deny tcp 192.168.1.34 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> deny udp 192.168.1.34 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> deny icmp 192.168.1.34 255.255.255.255 0.0.0.0 0.0.0.0
ACL rule added
(config-acl)> exit
(config)> system configuration save
Core::ConfigurationSaver: Saving configuration...
2.3. После этого нужно привязать данный список правил к резервному интерфейсу в направлении out:
(config)> interface UsbLte0 ip access-group Zapret_v_Rezerv out
access group applied
(config)> system configuration save
Core::ConfigurationSaver: Saving configuration...
2.4. После данной настройки доступ через резервный канал будут иметь все, кроме указанных хостов.
Данная работа основана на том, что для исходящих пакетов сначала происходит проверка правил межсетевого экрана, а после этого работает Source NAT, таким образом запросы от локальных хостов можно обрабатывать на внешнем интерфейсе, что позволяет гибко настроить доступ на уровне внешнего подключения, а не локальной сети.