|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - Настройка пакетного фильтра pf в FreeBSD |
|
FreeBSD - Настройка пакетного фильтра pf в FreeBSD
|
Пользователь Сообщения: 145 |
Профиль | Отправить PM | Цитировать Ребят помогите не могу понять в чем может быть дело, перегружаю FreeBSD все работает кроме правил для входящих RDP запросов, как только делаю принудительное применение правил pfctl -f /etc/pf/conf то все сразу начинает работать, после перегруза машина опять пока не подключусь по ssh не наберу волшебную команду не пускает ниже приведено содержание файла pf.conf
# vr0 - имя сетевой карточки, смотрящей в офисную сеть int_if="vr0" # rl0 - имя сетевой карточки, смотрящей в интернет ext_if="tun0" localnet="10.0.0.0/24" #определяем через переменные ip-адреса офисов office1_ip="111.111.111.111" office2_ip="222.222.222.222" #опять таки, через переменную перечисляем какие порты выпускать из офиса во внешний мир #tcp_ports="{22,80,443,25,110,465,995,5190}" #udp_ports="{53}" #не фильтруем трафик, проходящий по интерфейсу lo0 (интерфейс внутренней петли), gif0 (виртуальный туннель между офисами) и $int_if (интерфейс внутрен set skip on lo0 set skip on gif0 set skip on $int_if #отбрасываем входящие пакеты, с нестандартными опциями scrub in all #создаем правило входящие для RDP rdr pass on $ext_if proto tcp from any to $ext_if port 3389 tag RDP -> 10.0.0.100 port 3389 nat on $ext_if tagged RDP -> ($ext_if) #создаем правило трансляции адресов из офисной сети во внешний мир nat on $ext_if from $localnet to any -> ($ext_if) #создаем правило входящие для RDP #rdr pass on $ext_if proto tcp from any to ($ext_if) port 3389 tag RDP -> 10.0.0.100 port 3389 #nat on $int_if tagged RDP -> 10.0.0.1 #создаем правило входящие для LotuNotes #rdr pass on $ext_if proto tcp from any to ($ext_if) port 1352 tag LotusNotes -> 10.0.0.100 port 1352 #nat on $int_if tagged LotusNotes -> 10.0.0.1* #включаем антиспуфинг для внешнего интерфейса antispoof quick for $ext_if #блокируем все по умолчанию block all #разрешаем доступ из офисной сети во внешний мир портам, перечисленным в переменных tcp_ports и udp_ports: pass out on $ext_if proto tcp to any pass out on $ext_if proto udp to any #разрешаем доступ к нашей машине по ssh из внешнего мира pass in inet proto tcp from any to $ext_if port 22 keep state #разрешаем пинг pass inet proto icmp all #разрешаем исходящий трафик IPSec с офиса 1 на офис 2 pass out quick on $ext_if proto udp from $office1_ip port = isakmp to $office2_ip port = isakmp pass out quick on $ext_if proto esp from $office1_ip to $office2_ip pass out quick on $ext_if proto ipencap from $office1_ip to $office2_ip #разрешаем входящий трафик IPSec, пришедший с офиса 2 на офис 1 pass in quick on $ext_if proto udp from $office2_ip port = isakmp to $office1_ip port = isakmp pass in quick on $ext_if proto esp from $office2_ip to $office1_ip pass in quick on $ext_if proto ipencap from $office2_ip to $office1_ip |
|
Отправлено: 10:19, 06-08-2012 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать В rc.conf дописывай
firewall_enable="YES" firewall_script="/etc/pf.conf" - путь к правилу |
------- Отправлено: 08:41, 07-08-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 145
|
Профиль | Отправить PM | Цитировать У меня в rc.conf есть
#включим наш фаервол на этапе загрузки системы pf_enable="YES" #указываем откуда загружать правила pf_rules="/etc/pf.conf" #указываем где находится программа для управления pf pf_program="/sbin/pfctl" pf_flags="" ... #включаем логирования для pf pflog_enable="YES" pflog_logfile="/var/log/pf.log" pflog_program="/sbin/pflogd" pflog_flags="" pfsync_enable="NO" pfsync_syncdev="" pfsync_ifconfig="" |
Отправлено: 10:50, 07-08-2012 | #3 |
Ветеран Сообщения: 738
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 20:55, 08-08-2012 | #4 |
Пользователь Сообщения: 145
|
Профиль | Отправить PM | Цитировать Вот что говорит
получается дело не в том что пакетный фильтр не подымается при загрузке системы, а в том что ему что то не хватает для правила входящего RDP, а после загрузки принудительно уже помогает, может дело в том что при загрузке системы и применения правил еще не известны IP адреса , хотя PPPoe tun0 подымается до применения правил, я еще где то читал что если переменная содержит ip -адрес то ее необходимо заключать в скобки, на тот случай если вдруг ip-адрес на момент примения правил будет отсутствовать правила привяжутся к интерфейсу на всякий случай привожу код rc.conf hostname="freebsd1" keymap="ru.koi8-r.kbd" ifconfig_sk0=" inet 192.168.1.77 netmask 255.255.255.0" defaultrouter="192.168.1.1" sshd_enable="YES" # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable dumpdev="AUTO" ifconfig_vr0="inet 10.0.0.1 netmask 255.255.255.0" gateway_enable="YES" #PPP service ppp_enable="YES" ppp_mode="ddial" ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO ppp_profile="utk" #включим наш фаервол на этапе загрузки системы pf_enable="YES" #указываем откуда загружать правила pf_rules="/etc/pf.conf" #указываем где находится программа для управления pf pf_program="/sbin/pfctl" pf_flags="" #включаем логирования для pf pflog_enable="YES" pflog_logfile="/var/log/pf.log" pflog_program="/sbin/pflogd" pflog_flags="" pfsync_enable="NO" pfsync_syncdev="" pfsync_ifconfig="" # включим racoon racoon_enable="YES" racoon_flags="-F -f /usr/local/etc/racoon/racoon.conf" #включим ipsec ipsec_enable="YES" ipsec_file="/etc/ipsec.conf" #создаем виртуальный gif-интерфейс gif_interfaces="gif0" gifconfig_gif0="111.111.111.111 222.222.222.222" ifconfig_gif0="inet 10.0.0.1 10.1.1.1 netmask 0xffffffff" #прописываем статический рутинг для удаленной сети static_routes="vpn" route_vpn="10.1.1.0/24 -interface gif0" |
|
Отправлено: 09:22, 09-08-2012 | #5 |
Ветеран Сообщения: 738
|
Профиль | Отправить PM | Цитировать если посмотреть список загруженых правил сразу после старта системы, он (список) соответствует тому, что прописано в pf.conf ?
|
------- Отправлено: 11:34, 09-08-2012 | #6 |
Пользователь Сообщения: 145
|
Профиль | Отправить PM | Цитировать нет список пустой, pfctl -sn ничего не показывает!
|
Отправлено: 12:16, 04-09-2012 | #7 |
Новый участник Сообщения: 5
|
Профиль | Сайт | Отправить PM | Цитировать Описывайте все девайсы в правилах в скобках.
Тогда загрузится в любом случае. И чо ето за бред? Сначала RDR описывает , потом НАТ, а не в перемешку. И одним правилом а не двумя или тремя. nat on $ext_if tagged RDP -> ($ext_if) эта чушь к примеру вообще щас ненужна Срабатывает всегда последнее правило, будь то рдр, нат или другие правила. |
Отправлено: 20:58, 15-09-2012 | #8 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Цитата:
Цитата:
|
||
Отправлено: 21:42, 10-10-2012 | #9 |
Старожил Сообщения: 157
|
Профиль | Отправить PM | Цитировать кажется такая же канетель как и в соседнем топике...
А зачем вы два раза NAT поднимаете? один раз в ppp, Цитата:
Цитата:
|
||
------- Отправлено: 07:22, 07-11-2012 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Вопрос - настройка пакетного фильтра IPSec | leonty | Защита компьютерных систем | 1 | 22-12-2008 21:30 | |
FreeBSD - настройка маршрутизатора на freebsd | kosto | Общий по FreeBSD | 9 | 30-08-2008 12:55 | |
FreeBSD - KDE под FreeBSD. Установка и настройка. | progreccor | Общий по FreeBSD | 3 | 26-08-2008 17:20 | |
Настройка фильтра в The Bat! | Guest | Хочу все знать | 4 | 06-01-2004 03:57 | |
Настройка модема в FreeBSD 4.8 | Sinbad | Общий по FreeBSD | 7 | 06-08-2003 18:20 |
|