Вообщем такая ситуация, у меня сервак на слаке, в нем необходимо настроить маршрутизацию между двумя внешними интерфейсами и одной локальной сетью.
Маршрутизация в Slackware
Весьма широкий вопрос, опишите задачу конкретнее плиз. :D
Что именно описать?
Мне просто надо настроить маршруты, ничего более, пробовал сделать так, как написано на opennet, ничего не получилось, хотя возможно, это я где-то ошибся...
Что же касаемо конкретики, у меня два провайдера, совинтел и йота (не знаю зачем начальство её купило, но это уже не мои проблемы), вообщем так, через совинтел должна идти IP-телефония, а через йоту остальной инет
Пускаете маршрут по умолчанию на Йоту. Создаете еще одну таблицу маршрутизации, маркируете трафик IP телефонии при помощи iptables и пускаете весь маркированный трафик на второй сетевой интерфейс (Совинтеловский). Если нужно более точно - скажите, напишу. Только уточните че у вас за IP телефония: внешний сип сервер?
Да внешний сервак, и можно поточнее
Создаем таблицу iptel
echo 100 iptel >> /etc/iproute2/rt_tables
Создадим маршрут по умолчанию в новой таблице:
ip route add default via <gw> dev <sovintel device> table iptel
Маркируем трафик(критерии можете добавить):
iptables -t mangle -A PREROUTING -d <SIP server> -j MARK --set-mark 0x10
Рулим маркированный трафик по новой таблице (вместе с натом сразу)
ip rule add fwmark 10 preference 100 nat <внешний адрес> table iptel
Вроде так. Писал без проверки и с просони, мож где поднабокопорил. Попробуйте, разберемся если че.
Ребята, трольну немного.
Чертовски приятно, что вникают к бедам просящего, пытаются вникнуть и помочь.
Я далёк от этой конкретики - другая служба, провайдеры.
Но подход к просящему о помощи - класс!
Со своей стороны, постараюсь тоже помоч всем тем, что я знаю.
Спасибо за такт!!!
маршрутизация не сработала, есть ещё варианты?
Как это не сработала? O_o Что за ошибки? Как вообще вы поняли, что она не работает?
Как понял, понял так, что пакеты застревают на сервере, по нетстату между интерфейчасми передачи пакетов нет
Но ведь ходить пакетам между интерфейсами разрешили? (echo "1" > /proc/sys/net/ipv4/ip_forward)
И почему надо было запихивать тему сюда? Это не дистрибутиво-специфичная вещь.
Да, проверьте форвардинг для начала. И вы же пустили маршрут по умолчанию в главной таблице по другому интерфейсу?
Ну да, я не знаю других способов
Т.е. получается, допустим интерфейс eth0 смотрит допустим на Йоту, eth1 - на сов. У вас default route идет на eth0, а верхние политики маршрутизации вы пустили для eth1? Должно все работать, наверное вы что-то не так подставили..
Возможно, ладно, доеду до работы и проверю, хотя у меня подключено так eth0 - локалка, eth1 - совинтел, и eth2 - Yota, но пакеты ни от первого ни от второго не ходят
Проверьте NAT и форвардинг, если локалка не получает туда доступ - скорее всего проблема в этом. Когда выпутите локалку по Yota - рулите IP телефонию как я расссказал.
Понял в чём проблема, как говорится, читай все что тебе сервер пишет, вот собственно: route NAT is deprecated, это возникает, когда прописываю ip rule
Тем более, что у меня 13 слака, а она уже на ядре 2.6, здесь надо другим путём идти
А..ясно) я немного устарел xD Сделайте NAT при помощи iptables :)
Насколько я понимаю, способ вот этот, если нет, то прошу описать
iptables -A FORWARD -s x.x.x.x/x -j ACCEPT
iptables -A FORWARD -d x.x.x.x/x -j ACCEPT
iptables -t nat -A POSTROUTING -s x.x.x.x/x -j MASQUERADEДа, типа того что-то :)