URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 71819
[ Назад ]

Исходное сообщение
"NAT и маршрутизация"

Отправлено nickp , 31-Янв-07 09:27 
есть сервер freebsd 6.1
на нем стоят 3 сетевых карты
fxp0 - с релаьным адресом (A.A.A.A) - к провайдеру
fxp1 - серая сеть офиса (B.B.B.B) - в офисный сегмент
fxp2 - на этой сетевушке прописано несколько подсетей:
         реальная  C.C.C.C - с почтовыми, www серверами
         реальная  D.D.D.D - для диалапщиков с модменого пула
         реальная  E.E.E.E - для клиентов с реальными адресами
         серая  F.F.F.F - Для клиентов с серыми адресами
         серая  G.G.G.G - Для клиентов с серыми адресами

сеть A,C,D,E работают без проблемм через routed
проблемма с сервми подсетями которым надо работать и с сетями C,D,E и с интернетом через A
поставил natd
делаю divert all from any to any via fxp0
и divert all from any to any via fxp2
но при этом они работают и наружу и внутрь, то есть из сетей D,E,F,G можно попасть в сеть B
как правильно прописать divert чтоыб не писать any to any а указать с какой подсети в какою работать ?

    


Содержание

Сообщения в этом обсуждении
"NAT и маршрутизация"
Отправлено Giro , 31-Янв-07 09:46 
Попробуй так:

table1="table(55,1)"
${fwcmd} table 55 flush
${fwcmd} table 55 add (все сети которые к роутеру подключены) 1
${fwcmd} table 55 add (все сети которые к роутеру подключены) 1
и т.д.

table2="table(65,1)"
${fwcmd} table 65 flush
${fwcmd} table 65 add (приватные сети которые надо натить) 1
${fwcmd} table 65 add (приватные сети которые надо натить) 1
и т.д.

А тут прописываешь
${fwcmd} add divert natd all from ${table2} to not ${table1} out via fxp0
${fwcmd} add divert natd all from not ${table1} to me in via fxp0

Так ты natd максимально разгрузишь от пакетов которые его не касаются.
И если ты будешь еще правила ipfw вешать то надо в sysctl параметр прописать чтобы после ната пакеты дальше по цепочке шли. Параметр не помню, но он есть в инете.


"NAT и маршрутизация"
Отправлено nickp , 31-Янв-07 10:01 
ок, понял - попробую
а параметр в sysctl уже пропсиан net.inet.ip.fw.one_pass=0