Модифицированный скриптовый шлюз для DES-3526 и подобных

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
(Недостатки и недоделки)
(Предварительная настройка коммутатора)
Строка 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

Текст скрипта

Личные инструменты