Люди добрые, помогите!
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
форвардинг включен? и почему не iptables?
>форвардинг включен? и почему не 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.2Provider2
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 протоколом рулит?
ip route flush cache
> Кстати я правильно понимаю ip (если бы было реальзованно полностью) и iptables
> это просто внешние программы и в части NAT одни и теже
> манипуляции над ядром производят, которое ip протоколом рулит?да, обе управляют механизмами ядра, но в смысле nat - разными iptables использует conntrack a ip - stateless rewriting. почему depricated тож непонимаю, видимо проще убрать чем регулярно обьяснять пользователям что делать с ответными пакенами:)
по ip ru d prio NNN должно удалять, похоже проблемы с ядром, anw нет смысла использовать такое древнее, 3.2+ или 2.6.32+ хотяб.