Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Yuri Chumakov                        2:5079/65.2    11 Nov 2006  04:05:58
 To : Denis Shaposhnikov
 Subject : PF firewall
 -------------------------------------------------------------------------------- 
 
 
 09 ноября 2006 12:08, Denis Shaposhnikov писал Yuri Chumakov:
 
 Yuri>> #ext_if="{ xl1, tun0, ng0 }" # external interface name
 Yuri>> nat on $ext_if from $internal_net to any -> $ext_if
 
 Yuri>> По понятным причинам, нат нужен на всех 3-х интерфейсах. HО!!!
 Yuri>> Если раскоментировать первую строку, где есть все 3 интерфейса,
 Yuri>> то ната не будет нигде, так как ng0 - нет в системе.
 DS> Ты точно уверен, что NAT'а не будет HИГДЕ?
 
 Мало того - не будет вообще ни одного правила. Говорит, типа, "кто такой ng0 -
 не знаю, и правила загружать не буду вообще".
 
 DS> Берут меня сомнения в этом. Посмотри `pfctl -sr`, что у тебя получилось
 DS> вместо твоего правила `nat on`, после раскрытия списка.
 
 в -sr нет правил ната, а в -sn:
   =================== Cut ===================
 nat on xl1 inet from 192.168.0.0/24 to any -> { 10.10.247.63, 10.10.103.235 }
 round-robin
 nat on tun0 inet from 192.168.0.0/24 to any -> { 10.10.247.63, 10.10.103.235 }
 round-robin
 rdr on xl0 inet proto tcp from 192.168.0.0/24 to any port = http -> 127.0.0.1
 port 3128
 rdr on xl0 inet proto tcp from 192.168.0.0/24 to any port = 8080 -> 127.0.0.1
 port 3128
   ================= End cut =================
 
 Всё вполне прилично. Смущает немного round-robin, но это должно решиться, когда
 я научусь указывать адрес интерфейса в правиле, где участвует сам интерфейс,
 или просто укажу nat on tun0 from $internal_net to any -> tun0.
 
 Однако удручает тот момент, что нельзя указать таблицу в районе nat on <table>.
 Это решило-бы проблему перегрузки правил добавлением/убиранием имени интерфейса
 в таблице. А так, если не найду способа реализовать это в пределах одного
 файла, то придется где-то еще рисовать отдельный файл, почти копию. :(
 
 Что такое anchor - я еще не понял...
 
 И как будет выглядеть self - тоже еще не представляю. Hапример:
 
 pass in quick on $ext_if proto udp from any to $ext_if port = 53
 
 заменить на
 
 pass in quick on $ext_if proto udp from any to self port = 53
 
 DS> Думается мне, белиберда там получается, 9 правил (при
 DS> раскомментированном ext_if), вместо 3-х, как ты, вероятно, хотел.
 DS> Попробуй заменить эту строку на три отдельных `nat on`, с явным
 DS> указанием интерфейса.
 
 на момент запуска системы, и старта pf - ng0 в системе нет. Получается рисуем
 два ната, а третий при поднятии интерфейса из соседнего файла? Так не
 интересно... Ибо в параллель надо поднимать 60% (грубо говоря, дублировать все
 правила, кроме обработки локального траффика) конфига.
 
 DS> После этого настрой то, что у тебя ng0 поднимает,
 
 Это mpd.
 
 DS> так, что бы оно запускало скрипт после, установления сессии, из
 DS> которого ты будет выполнять `/etc/rc.d/pf reload`.
 
 ng0 поднимается иногда. "иногда" в данном случае временной интервал от
 нескольких часов до нескольких дней. Короче когда инет понадобился - тогда и
 запускаю.
 
 До встречи, с уважением Yuri Chumakov
 
 --- GoldED+/W32 1.1.5-030809
  * Origin: Default origin (2:5079/65.2)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 PF firewall   Yuri Chumakov   07 Nov 2006 21:55:26 
 Re: PF firewall   Denis Shaposhnikov   09 Nov 2006 13:08:15 
 PF firewall   Yuri Chumakov   11 Nov 2006 04:05:58 
Архивное /ru.unix.bsd/28114554fbd8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional