URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 72530
[ Назад ]

Исходное сообщение
"iproute2 и nat помогите разобраться"

Отправлено VaNO , 27-Фев-07 16:18 
Люди добрые, помогите!
Linux Slackware 11.0. Ядро 2.4.33.3. Пробовал шататный iproute2-2.6.16-060323 и свежий
iproute2-2.6.19-061214

Не пoлучаеться сделать NAT, команда
ip rule add from 192.168.1.1/32 nat xxx.xxx.xxx.xxx prio 15000
Выдает Warning: route NAT is deprecated
Хотя в списке правил появляеться, но работать не работает.
Теперь в iproute2 NAT нет и не будет? Почему убрали?

И еще в документации вычитал что можно rule по номеру приоитета удалить:
Типа: sudo ip rule del prio 100

А мне отвечает чушь какую-то:
RTNETLINK answers: No such process

Хотя rule там есть: ip rule show
100:    from 192.168.37.240 lookup SomeTable


Содержание

Сообщения в этом обсуждении
"iproute2 и nat помогите разобраться"
Отправлено Xmas , 28-Фев-07 08:46 
форвардинг включен? и почему не iptables?

"iproute2 и nat помогите разобраться"
Отправлено VaNO , 28-Фев-07 22:10 
>форвардинг включен? и почему не iptables?

Форвардинг включен, На iptables и сделал. Просто хотел узнать о iproute2. Почему в документации одно, а в жизни другое. Оф. сайт ситуацию не прояснил. Мне было бы удобно из perl вызывать одну программу вместо двух.

Вообще задача вот какая
Есть внутрення сеть:
eth2 192.168.33.0/24

и два провайдера интернета
eth0 10.20.30.1/24 gw 10.20.30.2     (Адрес назначает провайдер через DHCP)
eth1 172.16.15.1/24 gw 172.16.15.2   (Адрес назначает провайдер через DHCP)

Надо по комманде из веб интерфейса перключаться между провайдерами.

Сделал две таблицы роутинга
Provider1
192.168.33.0/24 dev eth2 scope link src 192.168.33.1
default via 10.20.30.2

Provider2
192.168.33.0/24 dev eth2 scope link src 192.168.33.1
default via 172.16.15.2

Из интерфейса ip rule from 192.168.33.0/24 lookup Provider1  prio 100 или Provider2 удаляю и записываю другую таблицу, работает.

Вот хочу узнать почему по номеру prio в iproute2 нельзя правило удалить?
Так же про NAT хочу узнать чего он в iproute не работает. Было бы удобнее только ip из скрипта вызывать.

Еще вопрос. Если переключение делаю шел через Provider1 Я перключаюсь на провайдер Provider2 и Интерфейс с Provider2 пинг идет но с ip адресом  Provider1
Если пинг остановить на секунду, и снова запустить то начинает нармально идти.
Как-то можно Ядро передернуть принудительно чтоб в онлайне пинг в с нужным адресом пошел?


Кстати с пробовал не с SNAT а с MASQUERADE, трюк с перкрлючением таблиц не проходит :(
До конца не разобрался но пакеты вообще ни к какому провайдеру похоже не идут.
А было бы не дурно MASQEURADE сделать так как провайдеры оба ip динамический выдают.

Пока есть идея dhcp клиент покрутить чтоб скриптом мне iptables правил.


Кстати я правильно понимаю ip (если бы было реальзованно полностью) и iptables это просто внешние программы и в части NAT одни и теже манипуляции над ядром производят, которое ip протоколом рулит?


"iproute2 и nat помогите разобраться"
Отправлено Den , 01-Мрт-07 14:18 
ip route flush cache

"iproute2 и nat помогите разобраться"
Отправлено AlexSO4 , 04-Мрт-15 19:49 

> Кстати я правильно понимаю ip (если бы было реальзованно полностью) и iptables
> это просто внешние программы и в части NAT одни и теже
> манипуляции над ядром производят, которое ip протоколом рулит?

да, обе управляют механизмами ядра, но в смысле nat - разными  iptables использует conntrack a ip - stateless rewriting. почему depricated тож непонимаю, видимо проще убрать чем регулярно обьяснять пользователям что делать с ответными пакенами:)

по ip ru d prio NNN должно удалять, похоже проблемы с ядром, anw нет смысла использовать такое древнее, 3.2+ или 2.6.32+ хотяб.