Ограничение скорости по MAC-адресу во FreeBSD

На днях возникла необходимость на FreeBSD маршрутизаторе порезать канал для одной из машин. Поскольку на нем стоит DHCP-сервер без привязки IP-адресов к MAC’ам — пришлось исхитриться, полазить в гугле и понять, как порезать ширину канала, используя только MAC-адрес.

ipfw add <номер_правила> pipe <номер_правила> \
ip from any to any MAC any <MAC-адрес> \
layer 2 in # Входящий трафик
ipfw add <номер_правила+5> pipe <номер_правила+5> \
ip from any to any MAC any <MAC-адрес> \
layer 2 out # Исходящий трафик

А теперь указываем ширину канала для каждого направления

ipfw pipe <номер_правила> config bw <ширина_канала>
ipfw pipe <номер_правила+5> config bw <ширина_канала>

+5 к правилу добавляю для того, чтобы разделить направления. По желанию, можно или впихнуть все в одно правило. Ширина не обязательно должна быть +5, это так, моя привычка.

Добавить комментарий

Ваш адрес email не будет опубликован.