ivan2ksusr писал(а): ↑03.08.2009 15:37
хотя бы решение показали бы
Я даже не знаю можно ли это назвать решением, в общем проделал следующее: изначально были две подсети 192.168.1.0/25 и 192.168.1.128/25. На интерфейсах FreeBSD роутера IP адреса были соответственно 192.168.1.1 и 192.168.1.129. При таком раскладе были проблемы с форвардингом о чем я собственно и писал.
Затем я решил не делить одну подсеть на две части, а сделал две полные подсети 192.168.1.0/24 и 192.168.2.0/24 с IP адресами 192.168.1.1 и 192.168.2.1 соответственно. Перебил TCP/IP свойства на узлах ну и естественно поправил IP адреса pf.conf. После этого форвардинг как говориться пошел. Но т.к. мне нужны две разделенные подсети и я вернул все так как было изначально, т.е. две подсети 192.168.1.0/25 и 192.168.1.128/25 ну и все остальное.
И вот после всех этих рукоприкладств вдруг все непонятным образом заработало. При этом самих правил я не менял, а только подправлял IP адреса в зависимости от того как у меня были организованы подсети. Так я и не понял в чем была проблема и каким образом или почему она решилась таким странным образом.
-------------------------------------------------------------------------------------------------------------------------------------------
Есть такая вещь в PF:
Код: Выделить всё
В pf.conf таблицы создаются используя директиву table. Следующие атрибуты могут быть определены для каждой таблицы:
* const - содержание таблицы не может быть изменено после ее создания. Когда этот атрибут не определен, pfctl(8) может использоваться, чтобы добавлять или удалять адреса из таблицы в любое время, при выполнении с securelevel(7), равным двум и выше.
* persist - заставляет ядро сохранять таблицу в памяти, даже когда никакие правила к ней не обращаются. Без этого атрибута, ядро автоматически удалит таблицу, когда последнее правило, ссылающееся на нее будет отработано.
Большая просьба к знатокам PF, объяснить простым языком и если не трудно на примере как работают эти настройки.
Например как работает такое правило:
Код: Выделить всё
table <rfc1918> const { 192.168.0.0/16, 172.16.0.0/12, \
10.0.0.0/8 }
table <spammers> persist