|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> настройка
—> IPFW policy (PBR)
Policy-based routing & FreeBSD
Автор: bekhterev.
Как то давно у меня зашел спор с одним администратором о возможностях ipfw. Он мне долго доказывал, что фаервол туповатый и вообщем-то совсем не кошерный. Переубеждать я его не стал и как-то об этом позабылось. Я пользовался ipfw а он ipf.
Но теперь вернемся к теме. На написание статьи меня побудила одна интересная и простая с первого взгляда задача.
Имеем:
FreeBSD 7.0 release, инет от прова (замечу в данном случае одного), сеть адресов 1.1.1.192/29, естесно шлюз в этой же сети :-)
Надо:
В силу того, что сервер выполняет функции фаервола, прокси и почтосервера, захотелось разделить трафик по назначению и выделить для почтовика отдельный апишник, с заполненой обратной зоной PTR.
Решение:
Как могло показаться на первый взгляд, то что может быть проще, чем взять и использовать ipforward2, включив его в ядро? Но данное решение, естественно, моглобы существовать в разных VLSM, что в данном случае неприемлемо, ввиду сходимости сети.
Для сервера прокси выделен ip: 1.1.1.195/29, для почты ip: 1.1.1.197/29, шлюз соответственно ip: 1.1.1.193.
Листинг ifconfig:
fxp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
ether 00:02:b3:b0:xx:xx
inet 1.1.1.195 netmask 0xfffffff8 broadcast 1.1.1.199
inet 1.1.1.197 netmask 0xfffffff8 broadcast 1.1.1.199
media: Ethernet autoselect (10baseT/UTP)
status: active
| Первое, что пришло в голову, это разделить входящий трафик, что и было сделано:
00050 allow ip from any to 1.1.1.195 dst-port 22,53,80,433,1024-65535 in via fxp1
00055 allow ip from any to 1.1.1.197 dst-port 25,110 in via fxp1
00060 allow ip from 1.1.1.195 22,53,80,433,1024-65535 to any out via fxp1
00065 allow ip from 1.1.1.197 25,110 to any out via fxp1
00090 allow ip from any to any via lo0
65535 deny ip from any to any
| Входящий трафик разрешен на 1.1.1.197 только на 25 и 110 порты, т.е. почта, на 1.1.1.195 - ssh, dns, www, https, непревилегия. Исходящий же трафик прописываем соответственно.
Далее возникает логичная стенка, из-за того, что у нас одна подсеть. И независимо от того, что мы напишем в фаерволе, исходящий трафик будет идти с интерфейса, ближайшего к шлюзу, в данном случае это 1.1.1.195. ipforward вообще не помощьник, т.к. шлюз у нас один. Пришлось извращаться. Итак. Поднимаем NAT(PAT - точнее) на адресе 1.1.1.197.
/sbin/natd -a 1.1.1.197 -p 8669
| Поднимается сокет 8669, может 8668 нам еще пригодится :-)
Далее конфигурим фаервол (обращайте внимание на номер правил):
00030 skipto 900 ip from me to any dst-port 25 out
00040 skipto 900 ip from any 25 to me in
00100 skipto 20000 ip from any to any
00900 divert 8669 ip from any to any via fxp1
00910 allow ip from any to any
| Итого, получается нечто общее:
00030 skipto 900 ip from me to any dst-port 25 out
00040 skipto 900 ip from any 25 to me in
00050 allow ip from any to 1.1.1.195 dst-port 22,53,80,433,1024-65535 in via fxp1
00055 allow ip from any to 1.1.1.197 dst-port 25,110 in via fxp1
00060 allow ip from 1.1.1.195 22,53,80,433,1024-65535 to any out via fxp1
00065 allow ip from 1.1.1.197 25,110 to any out via fxp1
00070 allow ip from any to 192.168.1.2 in via fxp0 (LAN)
00080 allow ip from 192.168.1.2 to any out via fxp0 (LAN)
00090 allow ip from any to any via lo0
00100 skipto 20000 ip from any to any
00900 divert 8669 ip from any to any via fxp1
00910 allow ip from any to any
65535 deny ip from any to anу
| В общем то имеем полное разделение трафика (входящего и исходящего), исключая тем самым попадания ip в black list.
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=8&t=16222.
размещено: 2009-03-09,
последнее обновление: 2009-03-30,
автор: bekhterev
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
|
Статистика сайта
|
Сейчас на сайте находится: 18 чел.
|
За последние 30 мин было: 81 человек
|
За сегодня было 8 показов, 5 уникальных IP
|
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
Гипсовая штукатурка для стен в Москве - идеальное решение для вашего дома
|
Комментарии пользователей [3 шт.]