Подскажите по поводу создания dmz написал правила по статье
https://www.lissyara.su/articles/freebs ... if_bridge/ и вот возник вопрос можно ли как то не прибегая к созданию моста сделать dmz?
Или подскажите как реализовать чтобы не надо было включать дополнительные вещи и перекомпилить ядро.
Свободные белые адреса есть 5 штук.
Код: Выделить всё
#!/bin/sh
# reset rules
ipfw -q -f flush
# macro defs
ext="em1" # Интернет
int="em0" # Локалка
dmz="em2" # Дмз
dmz_mail_server="XXX.XXX.XXX.XXX" # вписать ip эджа внешний
dmz_web_server="XXX.XXX.XXX.XXX" # вписать ip сервера веб внешний
mylan="10.50.240.0/24" # задаем локалку которой можно дмз
mydns="10.50.240.88" # днс для дмз
############################ DMZ Rulezz####
# Переходы для DMZ, порядок строк имеет значение (Шлюз, наша сеть, инет)
# Исходящий траффик со шлюза в DMZ (DMZ. интерфейс исходящий)
${fwcmd} add skipto 27000 all from me to ${dmz_mail_server},${dmz_web_server} out via ${dmz}
# Входящий траффик с DMZ на шлюз (DMZ. интерфейс входящий)
${fwcmd} add skipto 28000 all from ${dmz_mail_server},${dmz_web_server} to me in via ${dmz}
# Входящий траффик на DMZ с нашей сети (Lan. интерфейс входящий)
${fwcmd} add skipto 25000 all from ${mylan} to ${dmz_mail_server},${dmz_web_server} in via ${int}
# Разрешаем исходящие пакеты принятые на интерфейсе int, обработанные файрволом,
# и выходящие с интерфейса dmz
${fwcmd} add pass all from ${mylan} to ${dmz_mail_server},${dmz_web_server} out recv ${int} xmit ${dmz}
# Исходящий траффик с DMZ в нашу сеть (DMZ. интерфейс входящий)
${fwcmd} add skipto 26000 all from ${dmz_mail_server},${dmz_web_server} to ${mylan} in via ${dmz}
# Разрешаем исходящие пакеты принятые на интерфейсе dmz, обработанные файрволом,
# и выходящие с интерфейса int
${fwcmd} add pass all from ${dmz_mail_server},${dmz_web_server} to ${mylan} out recv ${dmz} xmit ${int}
# DMZ для в(c) инет(а)
# Входящий траффик на DMZ с инета (ext - входящий интерфейс)
${fwcmd} add skipto 29000 all from any to ${dmz_mail_server},${dmz_web_server} in via ${ext}
# Разрешаем исходящие пакеты принятые на интерфейсе ext, обработанные файрволом,
# и выходящие с интерфейса dmz
${fwcmd} add pass all from any to ${dmz_mail_server},${dmz_web_server} out recv ${ext} xmit ${dmz}
# Исходящий траффик с DMZ в инет (DMZ - входящий интерфейс)
${fwcmd} add skipto 31000 all from ${dmz_mail_server},${dmz_web_server} to any in via ${dmz}
# Разрешаем исходящие пакеты принятые на интерфейсе dmz, обработанные файрволом,
# и выходящие с интерфейса ext
${fwcmd} add pass all from ${dmz_mail_server},${dmz_web_server} to any out recv ${dmz} xmit ${ext}
################################################
# Входящий траффик на DMZ с нашей сети (Lan. интерфейс входящий)
# Пропускаем траффик, с уже установленным соединением
${fwcmd} add 25000 pass tcp from ${mylan} to ${dmz_mail_server},${dmz_web_server} in via ${int} established
# Разрешаем установку соединения на 21,22,25,80,110,995 порты наших серверов в DMZ
${fwcmd} add pass tcp from ${mylan} 1024-65535 to ${dmz_mail_server},${dmz_web_server} 21,22,25,80,110,995 in via ${int} setup
# Пропускаем ICMP-только нужные
${fwcmd} add pass icmp from ${mylan} to ${dmz_mail_server},${dmz_web_server} in via ${int} icmptype 8
# Разрешённые UDP
# ${fwcmd} add pass udp from ${mylan} to ${dmz_mail_server},${dmz_web_server} in via ${int}
# Всё остальное убиваем и пишем в log
${fwcmd} add deny log all from any to any
# Исходящий траффик с DMZ в нашу сеть (DMZ. интерфейс входящий)
# Пропускаем траффик, с уже установленным соединением
${fwcmd} add 26000 pass tcp from ${dmz_mail_server},${dmz_web_server} to ${mylan} in via ${dmz} established
# Выпускаем ICMP-только нужные
${fwcmd} add pass icmp from ${dmz_mail_server},${dmz_web_server} to ${mylan} in via ${dmz} icmptype 0
# Разрешённые UDP
# ${fwcmd} add pass udp from ${mylan} to ${dmz_mail_server},${dmz_web_server} in via ${dmz}
# Всё остальное убиваем и пишем в log
${fwcmd} add deny log all from any to any
################################################
# Исходящий траффик со шлюза в DMZ (DMZ. интерфейс исходящий)
# Все соединения разрешены
${fwcmd} add 27000 pass tcp from me to ${dmz_mail_server},${dmz_web_server} out via ${dmz}
# Выпускаем ICMP со шлюза на DMZ
${fwcmd} add pass icmp from me to ${dmz_mail_server},${dmz_web_server} out via ${dmz} icmptype 0,3,4,8,11
# Разрешаем шлюзу отвечать по 123 порту (время)
${fwcmd} add pass udp from me 123 to ${dmz_mail_server},${dmz_web_server} 123 out via ${dmz}
# Всё остальное убиваем и пишем в log
${fwcmd} add deny log all from any to any
# Входящий траффик с DMZ на шлюз (DMZ. интерфейс входящий)
# Пропускаем траффик на шлюз, с уже установленным соединением
${fwcmd} add 28000 pass tcp from ${dmz_mail_server},${dmz_web_server} to me in via ${dmz} established
# Выпускаем ответы ICMP на шлюз, и возможность пинговать шлюз
${fwcmd} add pass icmp from ${dmz_mail_server},${dmz_web_server} to me in via ${dmz} icmptype 0,8
# Разрешаем сверять время с нашим шлюзом, он сервером времени работает
${fwcmd} add pass udp from ${dmz_mail_server},${dmz_web_server} 123 to me 123 in via ${dmz}
# Всё остальное убиваем и пишем в log
${fwcmd} add deny log all from any to any
##################################################################################
# Входящий траффик на DMZ с инета (ext - входящий интерфейс)
# Пропускаем траффик, с уже установленным соединением
${fwcmd} add 29000 pass tcp from any to ${dmz_mail_server},${dmz_web_server} in via ${ext} established
# Разрешаем установку соединения на 80 порт наших почтовых серверов
${fwcmd} add pass tcp from any 1024-65535 to ${dmz_mail_server},${dmz_web_server} 80 in via ${ext} setup
# Разрешаем установку соединения на 25 порт нашего почтового сервера
${fwcmd} add pass tcp from any 1024-65535 to ${dmz_mail_server} 25 in via ${ext} setup limit dst-port 200
# Разрешаем ДНС, вписаны статические DNS Адреса
${fwcmd} add pass udp from ${mydns} 53 to ${dmz_mail_server},${dmz_web_server} 1024-65535 in via ${ext}
# Для TraceRoute
${fwcmd} add unreach port udp from any to ${dmz_mail_server},${dmz_web_server} 33435-33524 in via ${ext}
# Пропускаем ICMP, ответы на ping, возможность пинговать DMZ.
${fwcmd} add pass icmp from any to ${dmz_mail_server},${dmz_web_server} in via ${ext} icmptype 0,3,4,8,11
# Всё остальное убиваем и пишем в log
${fwcmd} add deny log all from any to any
# Исходящий траффик с DMZ в инет (DMZ - входящий интерфейс)
# Пропускаем траффик, с уже установленным соединением
${fwcmd} add 31000 pass tcp from ${dmz_mail_server},${dmz_web_server} to any in via ${dmz} established
# Разрешаем серверам обращаться к внешним ДНС, вписаны статические DNS Адреса
${fwcmd} add pass udp from ${dmz_mail_server},${dmz_web_server} 1024-65535 to ${mydns} 53 in via ${dmz}
# Разрешаем TraceRoute
${fwcmd} add pass udp from ${dmz_mail_server},${dmz_web_server} to any 33435-33524 in via ${dmz}
# Разрешаем установку соединения на 25 порты внешних серверов
# для нашего почтового сервера
${fwcmd} add pass tcp from ${dmz_mail_server} 1024-65535 to any 25 in via ${dmz}
# Пропускаем ICMP, ответы на ping, возможность самим пинговать IP-Адреса в инете.
${fwcmd} add pass icmp from ${dmz_mail_server},${dmz_web_server} to any in via ${dmz} icmptype 0,8
# Всё остальное убиваем и пишем в log
${fwcmd} add deny log all from any to any