Фильтр пакетов freebsd соответствует последней цифре IP-адреса

В моей системе freebsd я хочу использовать переадресацию портов для распределения входящего трафика на основе последней цифры IP-адреса источника.

В linux с iptables работает следующее:

iptables -t nat -A PREROUTING -p tcp -s 0.0.0.0/0.0.0.7 -d w.x.y.z --dport 443 -j DNAT --to-destination :4431
iptables -t nat -A PREROUTING -p tcp -s 0.0.0.1/0.0.0.7 -d w.x.y.z --dport 443 -j DNAT --to-destination :4432
iptables -t nat -A PREROUTING -p tcp -s 0.0.0.2/0.0.0.7 -d w.x.y.z --dport 443 -j DNAT --to-destination :4433
iptables -t nat -A PREROUTING -p tcp -s 0.0.0.3/0.0.0.7 -d w.x.y.z --dport 443 -j DNAT --to-destination :4434
iptables -t nat -A PREROUTING -p tcp -s 0.0.0.4/0.0.0.7 -d w.x.y.z --dport 443 -j DNAT --to-destination :4435
iptables -t nat -A PREROUTING -p tcp -s 0.0.0.5/0.0.0.7 -d w.x.y.z --dport 443 -j DNAT --to-destination :4436
iptables -t nat -A PREROUTING -p tcp -s 0.0.0.6/0.0.0.7 -d w.x.y.z --dport 443 -j DNAT --to-destination :4437
iptables -t nat -A PREROUTING -p tcp -s 0.0.0.7/0.0.0.7 -d w.x.y.z --dport 443 -j DNAT --to-destination :4438

При этом маска подсети применяется к последней цифре IP-адреса при вычислении значения по модулю.

Как мне это сделать на freebsd с фильтром пакетов? Я пробовал следующее:

rdr log on vmx1 inet proto tcp from 0.0.0.1/7 to w.x.y.z port = https -> w.x.y.z port 4432 round-robin
rdr log on vmx1 inet proto tcp from 0.0.0.2/7 to w.x.y.z port = https -> w.x.y.z port 4433 round-robin

к сожалению, значения 0.0.0.1/7 и 0.0.0.2/7 переводятся в 0.0.0.0/7 . Поэтому моя условная переадресация портов не работает.

Есть какие-нибудь советы, как это сделать?

0
задан 29 March 2020 в 21:37
1 ответ

PF не может этого сделать. Поскольку это FreeBSD, вместо этого вы можете использовать IPFilter. Да, вполне нормально одновременно использовать набор брандмауэров, хотя надо четко понимать их возможное вмешательство. На всякий случай — обычно вы можете изменить порядок обработки трафика этими брандмауэрами, изменяя порядок загрузки их модулей.

0
ответ дан 18 September 2020 в 04:21

Теги

Похожие вопросы