- PVSM.RU - https://www.pvsm.ru -
Файервол представляет из себя bash-скрипт, который интегрирует с помощью соответствующих пакетов следующие функции:
Скрипт является результатом многолетней работы и претендует на универсальность — он позволяет использовать Linux-машину в качестве Интернет-шлюза как для небольшого офиса, так и для большого предприятия (на данный момент он используется на пяти предприятиях и в одном удалённом офисе — везде стоит CentOS).
Скрипт требует для своей работы наличие как минимум двух сетевых интерфейсов — один из которых является внешним, а остальные считаются внутренними. Внешний интерфейс задаётся переменной EXTIF и определяется автоматически, если эта переменная не задана.
Ещё одно требование — все интерфейсы должны иметь статические адреса, т.е. интерфейсы могут получать их динамически, но адреса должны быть всегда одними и теми же. Это требование вытекает из того, что в правилах iptables используются IP-адреса интерфейсов. Правила генерируются и применяются на основе файла конфигурации fwtraf.conf по команде "fwtraf fwnormal" и сохраняются по команде "fwtraf fwsave". Т.е. если IP-адреса интерфейсов изменились, нужно будет опять применить правила (и сохранить их, если нужно чтобы они действовали после перезагрузки).
Режимы работы source NAT и web-прокси можно комбинировать:
Скрипт поддерживает несколько локальных сетей (переменная LANS) — они перечисляются через пробел:
LANS=«192.168.0.0/24 10.0.0.0/8»
Также поддерживаются удалённые локальные сети — например, локальные сети офисов, подключенные по технологиям VPN (переменная REMOTE_LANS):
REMOTE_LANS=«192.168.1.0/24 192.168.3.0/24 192.168.5.0/24»
Скрипт имеет простой конфигурационный файл:
В нём указаны статические IP-адреса и имена компьютеров пользователей, которым:
порты (колонка PORTS):
Если используется контент-фильтр (WEBPROXY=«DGSQUID») и пользователю разрешаются web-порты, то к нему применяется группа web-доступа (колонка WA — сокращение от "Web Access").
Очень просто делается так называемый проброс портов внешнего интерфейса на внутренние IP-адреса локальных сетей (destination NAT). Это удобно, когда на шлюзе включен режим SNAT и локальные сети из Интернет недоступны. Например, разрешим админу с его компьютера доступ к Интернет (web и ftp-трафик) и ещё разрешим ему подключаться из Интернет по RDP на внешний IP-адрес шлюза, а шлюз будет перенаправлять rdp-трафик на его компьютер:
a 192.168.1.240 pc30 web,ftp,rdp-rdp # Админ
Ещё замечу, что пробрасываемые порты не обязаны совпадать — можно, например, слушать порт 2525 на внешнем IP, а пробрасывать его на 25-й порт почтового сервера, находящегося внутри локальной сети:
a 192.168.1.2 mail 2525-25 # Почтовый сервер
Скрипт также ежедневно создает html-отчеты о трафике и ежечасно их обновляет:
Установка
1. Скачиваем скрипт файервола и помещаем его в /bin/:
wget dl.dropbox.com/u/924293/fwtraf/fwtraf [3]
mv fwtraf /bin/
chmod 755 /bin/fwtraf
2. Скачиваем файл конфигурации файервола и помещаем его в /etc/fwtraf/:
wget dl.dropbox.com/u/924293/fwtraf/fwtraf.conf [4]
mkdir /etc/fwtraf
mv fwtraf.conf /etc/fwtraf/
3. Скачиваем файл для планировщика задач Cron и помещаем его в /etc/cron.d/:
wget dl.dropbox.com/u/924293/fwtraf/fwtraf.cron [5]
mv fwtraf.cron /etc/cron.d/
4. Читаем файл /etc/fwtraf/fwtraf.conf и редактируем его в соответствии со своими
потребностями.
5. После редактирования fwtraf.conf применяем правила файервола:
fwtraf fwnormal - нормальный (рабочий) режим.
fwtraf fwsave - все правила сохраняются и действуют после перезагрузки.
Существует режим с минимальным набором правил:
fwtraf fwsimple - простой режим, персональные правила не действуют, всё разрешено.
Остальные команды можно узнать так:
fwtraf - справка по командам.
Для включения поддержки работы с BIND (внимание: будут презаписываться DNS-зоны!) нужно раскомментировать строку c "DNSROOTDIR=..." в /bin/fwtraf.
Автор: smkuzmin
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/9821
Ссылки в тексте:
[1] Image: https://sites.google.com/site/smkuzmin/home/fwtraf/fwtraf_conf.jpg?attredirects=0
[2] Image: https://sites.google.com/site/smkuzmin/home/fwtraf/fwtraf_month_stat.jpg?attredirects=0
[3] dl.dropbox.com/u/924293/fwtraf/fwtraf: http://dl.dropbox.com/u/924293/fwtraf/fwtraf
[4] dl.dropbox.com/u/924293/fwtraf/fwtraf.conf: http://dl.dropbox.com/u/924293/fwtraf/fwtraf.conf
[5] dl.dropbox.com/u/924293/fwtraf/fwtraf.cron: http://dl.dropbox.com/u/924293/fwtraf/fwtraf.cron
Нажмите здесь для печати.