The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"NAT via iproute"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"NAT via iproute"  
Сообщение от tian email on 04-Апр-06, 15:09 
Ситуация: стандартная:
Есть шлюз на linux kernel 2.4.32+iptables1.3.5 c тремя eth0, eth1 eth2
по умолчанию шлюз на eht0
задача все маркированные макеты (скажем с меткой 10) отправлять на шлюз в eth1
Вроде все сделал как в манах:
Завел новую таблицу: echo 100 gw2 > /etc/iproute2/rt_tables
ip route add default via xxx.xxx.xxx.xxx dev eth1 table 100
(здесь xxx.xxx.xxx.xxx - ip-адрес шлюза для интерфейса eth1)
ip rule add fwmark 10 nat yyy.yyy.yyy.yyy table 100
(yyy.yyy.yyy.yyy - ip-адрес локального интерфейса eth1, который и должен использоваться как SNAT)
iptables -I PREROUTING 1 -t mangle -p icmp -j MARK --set-mark 10
ip route flush cache

ну и echo 0 в rp_filter (во все интерфейсы для проверки)(это как рекомендует Russell)
echo 1 > /proc/sys/ipv4/route/flush (это как рекомендует Russell)

Наблюдая вижу, что отправка пакета происходит все верно - на eth1, но вот NAT не выполняется вообще.
Может что забыл или это глюк ?
Хотелось бы NAT выполнять средставми iproute, а не iptables

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

  • NAT via iproute, tian, 17:00 , 04-Апр-06, (1)  
    • NAT via iproute, tian, 17:46 , 04-Апр-06, (2)  
  • NAT via iproute, vvvua, 15:48 , 06-Апр-06, (3)  
    • NAT via iproute, tian, 16:07 , 06-Апр-06, (4)  

Сообщения по теме [Сортировка по времени, UBB]


1. "NAT via iproute"  
Сообщение от tian email on 04-Апр-06, 17:00 
Забыл уточнить - в ядре при компиляции все включено.
Если через iptables делать SNAT - получается, но не хочеться так, так как логика нарушается.
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "NAT via iproute"  
Сообщение от tian email on 04-Апр-06, 17:46 
>Забыл уточнить - в ядре при компиляции все включено.
>Если через iptables делать SNAT - получается, но не хочеться так, так
>как логика нарушается.

Мне тут подумалось, а может версия iproute2 глючная ?
у меня стоит ip utility, iproute2-ss040608
Кстати, я так понимаю, данный проект пока заморожен и новых версий нет ? На сайте последняя версия кажется от 2000 года. А у меня версия шла вместе с дистрибом slackware 10.1. Хотя.. iproute ведь лишь оболочка - все выполняет ядро.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "NAT via iproute"  
Сообщение от vvvua email(ok) on 06-Апр-06, 15:48 
А кто сказал, что при изменении маршрута включается NAT?
Всё правильно работает.
В конечном итоге и утилита ip в таблицу iptables добавит.
В ip есть

ACTION := [ table TABLE_ID ] [ nat ADDRESS ]

вот вроде его и нужно юзать.
Кроме того:
Warning:  Route  NAT is no longer supported in Linux 2.6.

Т.е. в 2.6 это нужно делать через iptables

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "NAT via iproute"  
Сообщение от tian email on 06-Апр-06, 16:07 
>А кто сказал, что при изменении маршрута включается NAT?
>Всё правильно работает.
>В конечном итоге и утилита ip в таблицу iptables добавит.
>В ip есть
>
>ACTION := [ table TABLE_ID ] [ nat ADDRESS ]
>
>вот вроде его и нужно юзать.
>Кроме того:
>Warning:  Route  NAT is no longer supported in Linux 2.6.
>
>
>Т.е. в 2.6 это нужно делать через iptables

Т.е. сама утилита ip и добавляет в iptables (точнее в ядро) правила для NAT ?
В таком случае я их должен увидеть через iptables ?
Я полагал, что через ip тоже можно делать NAT, причем это будет происходить сразу же после введения правила, а не через какой-то неизвестный промежуток времени как в iptables.
А насчет прекращения поддержки nat в ip - это на 2.4 тоже. Однако я исходники смотрел ip - там просто пока что предупреждение, но на самом деле правило отрабатывается.
Но к сожалению не работает, как я и писал выше.
т.е. я изменяю маршрут и говорю, что нужно натить пакеты. (через директиву nat), но на самом деле вижу, что этого не происходит.
Пришлось малость обойти ситуацию - маркировать пакеты, а snat прописать в iptables статически и постоянно.
А правило маркировки пакетов добавлять и убирать когда надо - тут отрабатывается все быстро и без задержек.
Однако мне кажется что это или глюк или еще что - будет время буду глубже копать.


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру