Как быстро порезать входящий/исходящий трафик на машине с NAT
Режем полосы вх/исх в 1Mbit/s для каждого из ip адресов подсети 10.0.0.0/24
#!/bin/bash
ipfw -f flush
ipfw pipe 1 config bw 1000Kbit/s mask dst-ip 0x000000ff
ipfw pipe 2 config bw 1000Kbit/s mask src-ip 0x000000ff
ipfw add 11 pipe 1 ip from any to 10.0.0.0/24 out
ipfw add 12 pipe 2 ip from 10.0.0.0/24 to any in
Индивидуальные скорости для каждого IP
Все тоже очень просто:
#!/bin/bash
ipfw -f flush
Создаем пайпы для входящей и исходящей скорости для ip из table 1
ipfw pipe 1 config bw 1000Kbit/s mask dst-ip 0x000000ff
ipfw pipe 2 config bw 1000Kbit/s mask src-ip 0x000000ff
ipfw add 11 pipe 1 ip from any to table\(1\) out
ipfw add 12 pipe 2 ip from table\(1\) to any in
Создаем пайпы для входящей и исходящей скорости для ip из table 2
ipfw pipe 3 config bw 4000Kbit/s mask dst-ip 0x000000ff
ipfw pipe 4 config bw 4000Kbit/s mask src-ip 0x000000ff
ipfw add 13 pipe 3 ip from any to table\(2\) out
ipfw add 14 pipe 4 ip from table\(2\) to any in
и добавляем нужные IP в нужные таблицы
ipfw table 1 add 10.0.0.3
ipfw table 2 add 10.0.0.2
Что подразумевает в нужные таблицы?
Посмотрите выше по тексту — создаются две таблицы.
IPFW позволяет создавать таблицы, в которые можно добавлять несколько адресов, к которым будет одновременно применяться правило.