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


ru.unix

 
 - RU.UNIX ----------------------------------------------------------------------
 From : Aleksey Kotov                        2:5020/1042.32 15 Jun 2005  02:29:18
 To : Eugeny Dzhurinsky
 Subject : natd?
 -------------------------------------------------------------------------------- 
 
 
  ED> есть компьютер с FreeBSD 4.11
  ED> на нем стоит две карточки с интерфейсами соответственно rl0 и rl1
 
  ED> на rl0 висит 10.0.1.1 и к нему подключены две машины 10.0.1.2 и
  ED> 10.0.1.3 на внешнем интерфейсе белый адрес
 
  ED> делаю ipfw add 10 divert 8668 ip from 10.0.1.0/24 to any via rl1
 
 (1)
 
  ED> стартую /sbin/natd -n rl1
 
  ED> не работает
 
  ED> делаю ipfw add 10 divert 8668 ip from any to any via rl1
 
 (2)
 
  ED> работает
 
  ED> оно как бы и хорошо, что работает, но хотелось бы завернуть только
  ED> 10-ю сетку, а не все сразу.
 
 Ответ для самых внимательных сусликов...
 
 Hа самом деле это все работает немножко иначе, но чтобы представлять этот
 процесс образно - лучше думать о нем таким образом:
 
 Когда пакет из подсетки 10.0.1.0/24 идет на улицу -он идет туда будучи переслан 
 ядром по таблице роутинга, и на пролете от ядра к внешней сетевой карте
 перехватывается файрволом, который по правилу (1) пихает его в нат. Hат создает 
 для этого пакета таблицу соответствия в которой запоминает параметры исходящего 
 пакета и параметры пакета который пойдет на улицу. И отдает этот новый пакет
 сетевой карте.
 
 Когда с улицы приходит пакет, сетевушка шлет его в ядро которое должно проверить
 его по таблице роутинга и решить что с ним делать дальше, пихать в сокет к
 серверу или форвардить дальше...но на пролете от сетевушки к ядру пакет
 перехватывается файрволом и тот видит что по правилу (1) - обрабатываеть его не 
 нужно. Hе подходит этот пакет под это правило.
 Соответственно пакет в нат - не попадает и убивается ядром.
 Hе ответил за наколочку - был похоронен.. :)
 
 Пакет этот - имел исходящим - какой-то произвольный адрес в инете, адресом
 назначения - адрес твоей белой сетевушки. И этот пакет нужно поймать и пихануть 
 в нат где ему есть соответствующая строка с таблице соответствия.
 
 Поэтому строка (2) - правильная.
 
 В конфиге ната есть опция, описание которой тебе нужно внимательно прочитать:
 "убивать пакеты для которых нет соответсвия в таблице".
 --- -=*=-_______________________________________________Aleksey Kotov
  * Origin:  (2:5020/1042.32)
 
 

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

 Тема:    Автор:    Дата:  
 natd?   Eugeny Dzhurinsky   14 Jun 2005 21:18:09 
 Re: natd?   Alexander Titaev   15 Jun 2005 04:52:36 
 natd?   Aleksey Kotov   15 Jun 2005 02:29:18 
 Re: natd?   Valentin Davydov   15 Jun 2005 09:36:17 
 Re: natd?   Eugeny Dzhurinsky   15 Jun 2005 20:57:17 
 natd?   Ilya Kulagin   15 Jun 2005 10:15:07 
Архивное /ru.unix/1775542af5f22.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional