|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 06 Jan 2006 18:50:09 To : Mykola Dzham Subject : Re: ipfw vs. pf --------------------------------------------------------------------------------
06 янв 2006, пятница, в 12:55 KRAST, Mykola Dzham написал(а):
>> ipfw add deny ip from any to any out recv ed0 xmit ed1
MD> От блин, хотел же написать что via/recv/xmit это немного не то.
MD> Как с помощью этого via/recv/xmit написать правило, под которое будут
MD> попадать пакеты с dst ip , стоящем на интерфейсе ed0 ? что-то в стиле
MD> pf-ного
MD> pass in on em1 from any to em0
У меня на роутере 41 интерфейс и с некоторых пор я перестал писать
правила трансляции с упоминанием имен интерфейсов. Оказалось,
что для natd это совсем ни к чему - ему достаточно иметь понятие,
какие IP-адреса в какие транслировать (плюс понятие, какой пакет
"изнутри", какой "снаружи" - этим понятием обеспечивает его ядро
автоматически). IP-адреса имеют гораздо более длительный срок жизни,
чем имена интерфейсов.
Что касается трансляции пакетов, пришедших на dst ip,
стоящем на интерфейсе, то такие вещи я делаю следующим образом.
Мне, правда, надо было не по IP, а по MAC-адресу (фильтрация на layer2).
В rc.firewall написано буквально следующее:
mac=`/sbin/ifconfig $1 | /usr/bin/awk '/ether/ { print $2 }'`
$fwcmd add 411 count all from any to any in recv $1 mac $mac any
Аналогично пишется выкусывание IP и правило divert для natd.
А можно и проще. Можно вообще все пакеты без разбора в natd
засовывать, он сам разберется - что надо транслировать, то странслирует,
а что не надо - пропустит как есть и оно внутрь сети нетронутое
просто по роутингу уйдет.
Eugene
--
Choose no family
--- slrn/0.9.8.0 (FreeBSD)
* Origin: Svyaz Service JSC (2:5006/1@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/26093f4f98f58.html, оценка из 5, голосов 10
|