умеет ли natd делать такое.... ?

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
linz
member
Сообщения: 31
Зарегистрирован: 19 июл 2004, 14:27
Откуда: москау
Контактная информация:

умеет ли natd делать такое.... ?

Сообщение linz » 20 янв 2005, 14:59

можно ли сделать так чтобы одна подсеть ходила в инет через один ip а другая через другой?

в ipnat'е это решается оч. просто:
map  <сетевуха>  <подсеть> -> <внешний IP>

а ежели юзать natd???

Аватара пользователя
art
free-lance moderator
Сообщения: 653
Зарегистрирован: 15 май 2003, 11:25
Откуда: SPb

Re: умеет ли natd делать такое.... ?

Сообщение art » 21 янв 2005, 16:49

linz писал(а):можно ли сделать так чтобы одна подсеть ходила в инет через один ip а другая через другой?

в ipnat'е это решается оч. просто:
map  <сетевуха>  <подсеть> -> <внешний IP>

а ежели юзать natd???
пусть есть две сетвые карты наружу em0 и em1. Через первую выпускаем net1, через вторую - net2

во-первых запустить два процесса NAT
natd -n em0 -p 6666
natd -n em1 -p 7777

ipfw add 10 divert 6666 all  from ${net1} to any out recv ${net1_iface} xmit em0
ipfw add 11 divert 6666 all  from any to ${em0_ip}  in via  em0
#
ipfw add 20 divert 7777 all  from ${net2} to any out recv ${net2_iface} xmit em1
ipfw add 11 divert 7777 all  from any to ${em1_ip}  in via  em1

net1_iface и net2_iface - это интерфейсы, через которые приходят клиенты net1 и net2.
Это может быть один и тот же интерфейс.

linz
member
Сообщения: 31
Зарегистрирован: 19 июл 2004, 14:27
Откуда: москау
Контактная информация:

Сообщение linz » 24 янв 2005, 10:43

у меня в инет смотрит одна сетевуха, а 2й ip'шник написан alias'ом.
как тогда быть?

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 24 янв 2005, 13:42

linz писал(а):у меня в инет смотрит одна сетевуха, а 2й ip'шник написан alias'ом.
как тогда быть?
Ну а какая разница, адреса то два.

linz
member
Сообщения: 31
Зарегистрирован: 19 июл 2004, 14:27
Откуда: москау
Контактная информация:

Сообщение linz » 24 янв 2005, 13:53

Stranger03 писал(а):
linz писал(а):у меня в инет смотрит одна сетевуха, а 2й ip'шник написан alias'ом.
как тогда быть?
Ну а какая разница, адреса то два.

хмм...

вы внимательно прочитали правило диверта из предыдущего поста? так вот оно выглядит точно так как оно должно выглядеть, тоесть диверт должет идти через какой-то интерфейс. как там собственно и написано, а вот упоминания в этом правиле о каких-либо алиасных айпишниках полностью отсутсвует.

Аватара пользователя
art
free-lance moderator
Сообщения: 653
Зарегистрирован: 15 май 2003, 11:25
Откуда: SPb

Сообщение art » 24 янв 2005, 20:01

linz писал(а):интерфейс. как там собственно и написано, а вот упоминания в этом правиле о каких-либо алиасных айпишниках полностью отсутсвует.
в этом случае решения предложить не могу. Но не факт, что его нет.

Во первых можно клонировать интерфейсы (man ifconfig, vlan),
но тогда кто-то должен тегировать пакеты на входе в зависимости от destination IP (Layer3 switch + 802.1d)

Во вторых можно подумать про использование ключика -reverse   для natd, чтобы дивертить на внутренних интерфейсах.

В третьих можно попробовать повесить алиас одного из внешних IP на  loopback (lo0) и дивертить пакеты туда. Я так никогда не пробовал, но сработать должно. очевидная проблема этого метода - очень много пакетов через loopback идет, может повлиять на производительность.


Все три идеи даны без проверки. Если что получится, отпишите plz. Случай интересный.

UPD
В четвертых!
man natd rulez!

alias_address | -a address                                              
           Use address as the aliasing address. Either this or the    
           -interface option must be used (but not both)
, if the        
           -proxy_only option is not specified.  The specified address  
           is usually the address assigned to the ``public'' network    
           interface.                                                  
                                                                       
           All data passing out will be rewritten with a source address
           equal to address.  All data coming in will be checked to see
           if it matches any already-aliased outgoing connection.  If it
           does, the packet is altered accordingly.  If not, all        
           -redirect_port, -redirect_proto and -redirect_address assign-
           ments are checked and actioned.  If no other action can be  
           made and if -deny_incoming is not specified, the packet is  
           delivered to the local machine using the rules specified in  
           -target_address option below.

linz
member
Сообщения: 31
Зарегистрирован: 19 июл 2004, 14:27
Откуда: москау
Контактная информация:

Сообщение linz » 25 янв 2005, 16:51

а если поднять два ната на разных портах, и к одному указать(alias_address'ом) один из алиасных внешних ip'шников. ну и соответственно дивертами разбрасывать из подсетей. такое вообще теоритически возможно?

Аватара пользователя
art
free-lance moderator
Сообщения: 653
Зарегистрирован: 15 май 2003, 11:25
Откуда: SPb

Сообщение art » 25 янв 2005, 17:58

linz писал(а):такое вообще теоритически возможно?
я и сказал про это "в четвертых" -)

linz
member
Сообщения: 31
Зарегистрирован: 19 июл 2004, 14:27
Откуда: москау
Контактная информация:

Сообщение linz » 25 янв 2005, 18:43

art писал(а):
linz писал(а):такое вообще теоритически возможно?
я и сказал про это "в четвертых" -)
сделал. не работает. глухо как в танке

Аватара пользователя
art
free-lance moderator
Сообщения: 653
Зарегистрирован: 15 май 2003, 11:25
Откуда: SPb

Сообщение art » 26 янв 2005, 12:08

дык нечего в танке сидеть.

natd -l

ipfw add xxx divert log ip ...

и tcpdump наконец никто не отменял!

linz
member
Сообщения: 31
Зарегистрирован: 19 июл 2004, 14:27
Откуда: москау
Контактная информация:

Сообщение linz » 26 янв 2005, 14:12

art писал(а):natd -l

ipfw add xxx divert log ip ...

и tcpdump наконец никто не отменял!
по всем логам тишиша. tcpdump тоже молчит, тоесть он вообще ничего не пишет (я им смотрел то что бежит он клиента к жлюзу)

Аватара пользователя
art
free-lance moderator
Сообщения: 653
Зарегистрирован: 15 май 2003, 11:25
Откуда: SPb

Сообщение art » 28 янв 2005, 13:27

ну, что значит тишина?
Так не бывает!

Обычные проблемы с natd бывают вызваны тем, что правило которое дивертит пакет наружу срабатывает, а когда приходит обратные пакет, то его пропускает правило ДО divert.

Выясняетсмя просто
ipfw -at list
и посмотреть, были ли прохождения по правилам дивертом туда и обратно.

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 22 гостя