Назад | Перейти на главную страницу

Перенаправление запросов порта 80 на локальный веб-сервер с IPFW

Я настраиваю маршрутизатор freebsd и хочу, чтобы определенные IP-адреса в моей сети перенаправлялись на наш локальный веб-сервер, если они делают запросы к порту 80. Например, забаненный пользователь пытается просматривать веб-страницы, но все его запросы перенаправляются на веб-страницу, которая уведомляет его о том, что он заблокирован. Насколько я понимаю, я могу использовать для этого IPFW и, возможно, NATD.

Буду признателен, если кто-нибудь покажет мне хороший пример, как это сделать.

FreeBSD теперь поставляется с 3 (sic!) Разными межсетевыми экранами, ipfw2 это только один из них, а два оставшихся - Даррена Рида ipfilter и OpenBSD PF. Оба они имеют встроенный NAT, который поддерживает перенаправление портов «из коробки», см. Например, например. г., ПФ путь. Так почему бы не использовать их вместо этого?

Если вы не хотите возиться с natd, вам нужно ядро, скомпилированное с опцией IPFIREWALL_FORWARD. Вы можете проверить свое текущее ядро, выполнив sysctl kern.conftxt | grep IPFIREWALL_FORWARD '. Если эта опция отсутствует, вам необходимо пересобрать ядро ​​(или придерживаться pf).

Если у вас такое ядро, вам просто нужно добавить следующие правила:

ipfw add allow tcp from any to 192.168.0.0/24 via internal_if0
ipfw add fwd localhost,80 tcp from any to any 80 via internal_if0