IP range in firewalls

PF

# grep test /etc/pf.conf
test="{ 10.0.0.1 - 10.0.0.100 }"
block in quick on $ext_if from $test
# pfctl -nvf /etc/pf.conf | grep 10.0
test = "{ 10.0.0.1 - 10.0.0.100 }"
block drop in quick on em1 inet from 10.0.0.1 - 10.0.0.100 to any

Но у меня не всегда корректно срабатывало это правило на FreeBSD.

iptables

iptables -A INPUT -p tcp --destination-port 22 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT
iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.100-192.168.1.200

В остальных файерволах (ipfilter) данного функционала нет и придётся разбивать диапазон на подсети CIDR.

ipfw

ipfw add allow all from 1.2.3.0/24{128,35-55,89}

Выдержка из мана:

As an example, an address specified as 1.2.3.4/24{128,35-55,89}
or 1.2.3.0/24{128,35-55,89} will match the following IP
addresses:
1.2.3.128, 1.2.3.35 to 1.2.3.55, 1.2.3.89 .

Спасибо нашему читателю, который дополнил статью про ipfw.

Если у кого-то не заработало, вот ссылка на разбивку на подсети

IP range in firewalls: 2 комментария

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *