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


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Eugene B. Berdnikov                  2:5020/400     28 Feb 2006  18:08:29
 To : Anton Shuko
 Subject : Re: нужно scr адрес поменять
 -------------------------------------------------------------------------------- 
 
 Anton Shuko <Anton.Shuko@f66.n5005.z2.fidonet.org> wrote:
 
  AS>>> т.к. маршрут может быть только один, то src адрес пакета берется
  AS>>> тот, который относится к интерфейсу, являющийся defaultroute в
  AS>>> данный момент. Hапример,
 AS> ошибся. src для моего конкретного случая (openvpn) выбирается по src адресу
 AS> интерфейса, с которого произошло соединение с другим концом туннеля.
 
  Если на этом интерфейсе адрес один -- как может быть иначе?
 
  EB>>  В линуксе ЛЮБОЙ маршрут имеет "левую" и "правую" части, как
  EB>> уравнение, и в "левую" входит src. Который не обязан быть всегда 0/0,
  EB>> и может быть задан в другое значение, из перечня поднятых на
  EB>> интерфейсе адресов.
 AS> уху. но я думал, что можно менять не нулевой src для исходящих с этого же
 AS> хоста пакетов. оказалось что хрен вам. такой фокус проходит только для
 AS> транзитных...
 
  Хм, а у меня работают правила, которые заворачивают локальный исходящий
  трафик в туннели и применяют там SNAT (чтобы адрес исходящих пакетов
  менялся на адрес моей стороны туннеля).
 
  AS>>> Это не форвард пакетов, это проблема исходящих с хоста пакетов.
 AS> 
  EB>>  Главное -- не перепутать PREROUTING и OUTPUT.
 AS> пакет лезет в таблицу, но адрес там не меняется.
 
  А счётчики подкручиваются? Чудеса прямо. Так не бывает - правило либо
  сработало, либо нет, третьего не дано. Чай не квантовая механика. :)
 
 AS> если кто-то хорошо понимает механизм прохождения исходящих с хоста пакетов
 AS> подтвердите, поправьте или опровергните следующее:
 AS> 
 AS> 1.
 AS> пакет может создаться приложением с src равным 0. далее ему присвается
 AS> нужный src системой при выходе с какого-то интерфейса в мир. разумеется,
 AS> адрес этого интерфейса.
 
  Пакет никогда не создаётся с нулевым src_ip. Там всегда что-то ненулевое,
  вопрос в том, по каким правилам этот src заполняется ядром.
 
  Если приложение сделало bind(2) - src_ip записан в сокете и пакет получает
  именно его. Если нет - ядро делает поиск наиболее подходящего адреса,
  используя разные соображения. Прежде всего смотрится src маршрута, конечно.
 
 AS> 2.
 AS> тоже что и 1, но snat может изменить src
 
  Аналогично.
 
 AS> 3.
 AS> пакет создается приложением с src не равным 0 и его уже не может поменять
 AS> ни система маршрутизации, ни нат ни чорт лысый. но его можно запихнуть в
 AS> любую таблицу и выпнуть наружу с любова интерфейса...
 
  Подсистема маршрутизации по определению не меняет адреса пакетов (и tos/dscp).
 -- 
  Eugene Berdnikov
 --- ifmail v.2.15dev5.3
  * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 нужно scr адрес поменять   Anton Shuko   23 Feb 2006 15:17:41 
 Re: нужно scr адрес поменять   Eugene B. Berdnikov   27 Feb 2006 20:08:11 
 нужно scr адрес поменять   Anton Shuko   28 Feb 2006 05:37:45 
 Re: нужно scr адрес поменять   Eugene B. Berdnikov   28 Feb 2006 18:08:29 
Архивное /ru.linux/3651e2ce3fe7.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional