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


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Daniel Ginsburg                      2:5020/400     11 Jan 2005  23:49:35
 To : Eugene Grosbein
 Subject : Re: ICMP errors & NAT
 -------------------------------------------------------------------------------- 
 
 Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote:
 
 > Привет!
 >
 > Вопрос на тему "что должен делать NAT и чего он делать не должен".
 > Возьмем простую схему:
 >
 > H-...-B-L-R-...-G-...D
 >
 > Здесь H - хост в публичном интернете, B - пограничный роутер
 > автономной системы AS, в которую входит все, что правее B. Многоточие
 > между ними - путь в интернете от H до B, он нас не интересует.
 > L - локальная сеть в системе AS на реальных адресах, R - внутренний
 > маршрутизатор с NAT. Все что правее его - сеть на приватных адресах,
 > включающая хост D, а G - один из маршрутизаторов на пути от R до D,
 > у всех таких роутеров G только серые адреса.
 >
 > У D кроме серого адреса есть и отдельный реальный, трафик на этот реальный
 > адрес приходит извне на R, который его транслирует в серый адрес D
 > (команда redirect_address для natd).
 >
 > Пусть теперь хост H запускает traceroute на реальный адрес машины D.
 > Пока пакеты идут вплоть до R, система H получает нормальную трассировку
 > маршрута. Что получается на следующем после R хопе? Пакет от H из-за
 > redirect_address транслируется и попадает на первый из роутеров G,
 > который обнаруживает, что TTL уже ноль, прибивает пакет, генерирует
 > новый пакет ICMP error и посылает его от своего собственного серого
 > адреса в сторону H. Этот ICMP-пакет попадает снова на R и обрабатывается
 > NAT'ом.
 >
 > natd в FreeBSD 3.x и более старых, а также ранних версий 4.x транслировал
 > адрес источника в таком пакете и если в конфигурации не сказано иного,
 > пакет уходил в интернет с адресом источника, заданным аргументом -a или -n,
 > то есть со стандатным alias address. В результате H видел в трассировке
 > маршрута несколько строк с одинаковыми адресами - столько, сколько
 > маршрутизаторов G между R и H. Потом кто-то написал PR и в результате
 > поведение natd (точнее, libalias) изменили - он перестал транслировать
 > исходящие ICMP errors и последние версии 4.x и в пятерке такие ICMP-пакеты
 > уходят в публичный интернет с приватным адресом источника.
 >
 > В свое время при переходе с 3.5 сразу на середину ветки 4.x это изменение
 > мне не понравилось и я сделал патч для libalias, восстанавливающий старое
 > поведение, с которым успешно прожил больше двух лет. Hе понравилось
 > это изменение во-первых, потому что структура внутренней сети становится
 > видна хостам вне автономной системы. Во-вторых, потому что серые адреса
 > часто режутся в публичном интернете (и это правильно), поэтому трассировка
 > будет в соответствующих строчках вместо серых адресов рисовать звезды
 > и тормозить. А со старым поведением просто рисуется несколько строк с
 > одинаковым адресом и не тормозит.
 >
 > Hо в этом случае имеем один минус. Хосты в сети L видят то же самое,
 > что и хост H. Hо сеть L внутри автономной системы и ей можно показывать
 > структуру внутренней сети, а кроме того, серые адреса внутри нее можно
 > не резать. В последнее время этот минус стал сильно мешать.
 >
 > Теперь вопрос к сетевикам - как вы считаете, какое поведение более
 > "правильное" - пропуск исходящих ICMP errors без трансляции или
 > с трансляцией адреса источника?
 >
 
 Мне представляется, что первый способ лучше и дело даже не в Time
 Exceeded, а в Destination Unreachable/Fragmentation Needed and Don't
 Fragment was Set. Посылать их с RFC1918-адресами - значит закладывать
 себе мину с PMTUD. А что касается сокрытия структуры от сети L, то может
 быть просто не натить пакеты L<->D, а раздать соответствующие маршруты
 прямо до B? Тут главное не дать им (маршрутам к RFC1918-сетям) утечь
 через B в интернет.
 
 -- 
 dg
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: ICMP errors & NAT   Daniel Ginsburg   11 Jan 2005 23:49:35 
Архивное /ru.unix.bsd/91798abfa565.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional