Модифицированный скриптовый шлюз для DES-3526 и подобных
Материал из BiTel WiKi
Msh (Обсуждение | вклад) (→Недостатки и недоделки) |
Msh (Обсуждение | вклад) (→Предварительная настройка коммутатора) |
||
Строка 18: | Строка 18: | ||
== Предварительная настройка коммутатора == | == Предварительная настройка коммутатора == | ||
+ | <source lang="bash"> | ||
+ | # этим правилом мы будем разрешать arp_reply c адресом абонента | ||
+ | # это правила нужно тк абоненты (или вирусы на их компах) частенько присваивают себе адрес шлюза | ||
+ | create access_profile packet_content_mask offset_0-15 0x0 0x0 0x0 0x0 offset_16-31 0xFFFF0000 0x0 0xFFFF0000 0x0 offset_32-47 0xFFFFFFFF 0x0 0x0 0x0 profile_id 20 | ||
+ | |||
+ | #блокировка dhcp ответов и разрешение dhcp запросов (они могут отправляться не с адреса пользователя) | ||
+ | create access_profile ip udp dst_port_mask 0xFFFF profile_id 30 | ||
+ | config access_profile profile_id 30 add access_id 1 ip udp dst_port 68 port 1 deny | ||
+ | ... | ||
+ | config access_profile profile_id 30 add access_id 24 ip udp dst_port 68 port 24 deny | ||
+ | config access_profile profile_id 30 add access_id 101 ip udp dst_port 67 port 1 permit | ||
+ | ... | ||
+ | config access_profile profile_id 30 add access_id 124 ip udp dst_port 67 port 24 permit | ||
+ | |||
+ | #правило для разрешения доступа пользователя к сети | ||
+ | create access_profile ip source_ip_mask 255.255.255.255 profile_id 40 | ||
+ | |||
+ | #правило для разрешения доступа пользователя к статистике | ||
+ | create access_profile ip source_ip_mask 255.255.255.255 destination_ip_mask 255.255.255.0 profile_id 50 | ||
+ | |||
+ | #разрешение arp-запросов | ||
+ | |||
+ | |||
+ | #блокируем всю остальную активность пользователя | ||
+ | create access_profile ethernet source_mac 00-00-00-00-00-00 profile_id 200 | ||
+ | config access_profile profile_id 200 add access_id 1 ethernet source_mac 00-00-00-00-00-00 port 1 deny | ||
+ | config access_profile profile_id 200 add access_id 24 ethernet source_mac 00-00-00-00-00-00 port 24 deny | ||
+ | </source> | ||
== Текст скрипта == | == Текст скрипта == |
Версия 17:10, 1 января 2009
Данный скрипт написан на основе скрипта Реалиазация_скриптовго_шлюза_для_коммутаторов_DES-3526,_DES-3550,_DES-3828,_DES-3852,_DGS-3200-10_и_им_подобных.
Содержание |
Задача
При разработке данного скрита решались следующие задачи:
1)уменьшение объема скрипта за счет унификации кода, выполняемого при разных командах (открытие, закрытие, удаление);
2)разделение кода скрипта и правил для коммутатора;
3)возможность добавления нескольких ip-адресов на один порт.
Недостатки и недоделки
1) правила для коммутатора вводятся все-таки в текст скрипта, а не в конфигурацию шлюза
2) нельзя прописать один порт для разных договоров
3) все манипуляции с IP-адресами договора надо проводить при состоянии его шлюза в положении удален (иначе некоторые записи в коммутаторе останутся до его перезагрузки)
4) подключение к свитчу занимает 5 секунд (наверное это уже проблема в в биллинге - возможно он лезет к DNS)
5) скрипт не проверяет текущее состояние коммутатора, а каждый раз загружает в него нужные команды
6) в боевом режиме оно еще не проверялось
7) не проверялось работа с ipn_dhcp (option82) - предполагается что при одном адресе на порт клиент будет автоматически получать IP, а при нескольких адресах (а это не является массовой услугой) прописывать адреса вручную
Предварительная настройка коммутатора
# этим правилом мы будем разрешать arp_reply c адресом абонента # это правила нужно тк абоненты (или вирусы на их компах) частенько присваивают себе адрес шлюза create access_profile packet_content_mask offset_0-15 0x0 0x0 0x0 0x0 offset_16-31 0xFFFF0000 0x0 0xFFFF0000 0x0 offset_32-47 0xFFFFFFFF 0x0 0x0 0x0 profile_id 20 #блокировка dhcp ответов и разрешение dhcp запросов (они могут отправляться не с адреса пользователя) create access_profile ip udp dst_port_mask 0xFFFF profile_id 30 config access_profile profile_id 30 add access_id 1 ip udp dst_port 68 port 1 deny ... config access_profile profile_id 30 add access_id 24 ip udp dst_port 68 port 24 deny config access_profile profile_id 30 add access_id 101 ip udp dst_port 67 port 1 permit ... config access_profile profile_id 30 add access_id 124 ip udp dst_port 67 port 24 permit #правило для разрешения доступа пользователя к сети create access_profile ip source_ip_mask 255.255.255.255 profile_id 40 #правило для разрешения доступа пользователя к статистике create access_profile ip source_ip_mask 255.255.255.255 destination_ip_mask 255.255.255.0 profile_id 50 #разрешение arp-запросов #блокируем всю остальную активность пользователя create access_profile ethernet source_mac 00-00-00-00-00-00 profile_id 200 config access_profile profile_id 200 add access_id 1 ethernet source_mac 00-00-00-00-00-00 port 1 deny config access_profile profile_id 200 add access_id 24 ethernet source_mac 00-00-00-00-00-00 port 24 deny