URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92856
[ Назад ]

Исходное сообщение
"ipfw для масс"

Отправлено BlackRat , 10-Янв-12 11:49 
Добрый день.
Есть одна не очень простая задачка:
есть 20 клиентов, каждому клиенту назначена отдельная сетка класса С (/24). У каждого клиента от 2-х до 10 компов. Для каждого клиента выделяется своя полоса пропускания (256, 512, 1024, ... kbps). Весь трафик разрешён от клиентов. Как бы написать для такой ситуации правильный файервол?
Может у кого уже такой конфиг работает?

Содержание

Сообщения в этом обсуждении
"ipfw для масс"
Отправлено BlackRat , 10-Янв-12 11:57 
> Добрый день.
> Есть одна не очень простая задачка:
> есть 20 клиентов, каждому клиенту назначена отдельная сетка класса С (/24). У
> каждого клиента от 2-х до 10 компов. Для каждого клиента выделяется
> своя полоса пропускания (256, 512, 1024, ... kbps). Весь трафик разрешён
> от клиентов. Как бы написать для такой ситуации правильный файервол?
> Может у кого уже такой конфиг работает?

Я сделал следующие правила:
Правила для работы самого хоста, на котором расположен файервол:
# Divert
add divert natd ip from any to any via em0
add pass icmp from any to any keep-state
# Traffic from me
add pass tcp from me to any setup
add pass udp from me to any keep-state
# domain rules
add pass tcp from any to 192.168.1.100 domain setup
add pass udp from any to 192.168.1.100 domain keep-state
# DHCP rules
add pass udp from any 68 to any 67 keep-state
add pass udp from any 67 to any 68 keep-state

Трафик для клиентов:
# Клиент на VLAN 207
add deny ip from 192.168.207.0/24 to 192.168.0.0/16 via vlan207 # чтобы клиенты не ходили друг к другу
add queue 207 ip from any to 192.168.207.0/24 via vlan207 # создаём очередь на выход
add queue 207 ip from 192.168.207.0/24 to any via vlan207 # создаём очередь на вход
pipe 207 config bw 256Kbit/s queue 100  # Задаём параметры очереди
queue 207 config pipe 207 weight 24 queue 100  # Задаём параметры очереди
add pass ip from 192.168.207.0/24 to any  # Разрешаем трафик
add pass ip from any to 192.168.207.0/24  # Разрешаем трафик
# Клиент на VLAN 208. Всё аналогично первому клиенту. Меняются только номера VLAN и параметры очереди

Заключительные параметры
# Check-state firewall
add pass tcp from any to any established
add check-state
# Traffic to me
add pass tcp from any to me ssh setup
add pass udp from any to me snmp keep-state
add deny log all from any to any

Вот... После запуска сразу напоролся на неработающий GRE. Пришлось в первую секцию вбивать, но что-то мне подсказывает, что это не правильно.