У меня есть несколько сетевых интерфейсов
хотелось бы чтоб определенное приложение работало с определенны сетевым интерфейсом
Пример:
Браузер пусть работает с eth0
Торрент трекер с eth1
Онлайн игры с eth2
Обмен мгновенными сообщениями с ppp0
итд
Первое, что взбрело в голову, это направлять нужный трафик в нужный интерфейс. Иными словами нужно настраивать маршрутизацию. Для того чтобы это провернуть, нужно знать к каким адресам (портам) обращается та или иная программа.
Это вы заморачиваетесь с отдельной машиной или на своей рабочей системе экспериментируете?
на своей рабочей системе и все проги обращаются к одному интерфейсу, а остальные интерфейсы игнорируются
при выключение этого интерфейса сразу прыгают на следующий
Печально... :) Ну, да ладно, трафик разрулить можно и на рабочей машине. Собственно, куда смотреть тут уже подсказывали. Единственное, что могу уточнить некоторые моменты. Собственно, идея такая: если идёт запрос к IP ххх.ххх.ххх.ххх, то слать трафик через интерфейс ethХ, если к IP ууу.ууу.ууу.ууу, то - через ethY.
Такая вот команда направит трафик к адресу ххх.ххх.ххх.ххх в интерфейс ethХ для текущей сессии: route add -host ххх.ххх.ххх.ххх netmask 255.255.255.255 ethХ
Файервол тоже имеет много вкусных плюшек по части разруливания трафика. Например, самое простое: он может не пускать запросы на 22-й порт через все интерфейсы, кроме того, который смотрит в вашу домашнюю сеть.
Начните с мануалов: man route man netstat man iptable man tcpdump
У меня есть А[i] - приложение
B[i] - интерфейс
мне нужна команда которая сделает следующее
чтоб приложение А[i] работало с интерфейсом B[i]
пробовал сделать это в настройках приложения
указал работать с нужным интерфейсом сохранил перезапустил приложение
и серовно приложения игнорируют настройки и прут через другой интерфей
гугль и iptables в руки -> вперед.
Я как то находил решение, связанно было с маркировкой пакетов.
Но кошмар реализации меня испугал.
отвечаю на еще незаданные вопросы
Нет, не сохранил.
Нет, не помню.
Нет, не помню форму поискового запроса.
Нет, мне ЭТО не нужно.
к сожалению, должен заметить, что ваша команда роуте выдаст ошибку, или проигнорирует нетмаск. Я не помню точной реакции на такой ввод, но то что он ошибочен - ясно из слов -host и netmask в одной команде. :-)
netmaks должен использоваться при -net, а не -host
В чём подвох?
ifconfig | grep encap
У меня 4 интерфейса сейчас работают стабильно.Возможно в том что каждый интерфейс присваивает свой ip
Все интерфейсы подключены но реально работает только 1
Думаю, проблема в маршрутизации. Весь тарафик ломится туда, где указан шлюз по-умолчанию.
Это роутер, что-ли? У меня на FreeBSD работает без проблем четыре интерфейса, не считая виртуальных. Думаю и в линуксе с этим проблем не должно быть.
а можно узнать что именно интересует?
А то вот мне как то вопрос совсем непонятен.
особенно после вот этого комментария ....
телепатирую: возможно аффтар хотел бы нажать на Большую Красную Кнопку, и чтобы после этого пакеты полетели сразу по всем направлениям =)
У меня есть несколько сетевых интерфейсов
хотелось бы чтоб определенное приложение работало с определенны сетевым интерфейсом
Пример:
Браузер пусть работает с eth0
Торрент трекер с eth1
Онлайн игры с eth2
Обмен мгновенными сообщениями с ppp0
итд
приложения не работают с сетевым интерфейсом. Приложения работают с протоколами. Разруливай маршрутизацию, и тебе будет счастье.
хорошо, куда именно включен етх0, етх1, етх2, и куда идет ппп0?
это разные сети (направления), это один хаб (одна сеть), это (нужное дополнить)
это разные сети между ними нет ни чего общего
USB и сетевая карта
Первое, что взбрело в голову, это направлять нужный трафик в нужный интерфейс. Иными словами нужно настраивать маршрутизацию. Для того чтобы это провернуть, нужно знать к каким адресам (портам) обращается та или иная программа.
Это вы заморачиваетесь с отдельной машиной или на своей рабочей системе экспериментируете?
на своей рабочей системе и все проги обращаются к одному интерфейсу, а остальные интерфейсы игнорируются
при выключение этого интерфейса сразу прыгают на следующий
Печально... :) Ну, да ладно, трафик разрулить можно и на рабочей машине. Собственно, куда смотреть тут уже подсказывали. Единственное, что могу уточнить некоторые моменты. Собственно, идея такая: если идёт запрос к IP ххх.ххх.ххх.ххх, то слать трафик через интерфейс ethХ, если к IP ууу.ууу.ууу.ууу, то - через ethY.
Такая вот команда направит трафик к адресу ххх.ххх.ххх.ххх в интерфейс ethХ для текущей сессии:
route add -host ххх.ххх.ххх.ххх netmask 255.255.255.255 ethХ
Файервол тоже имеет много вкусных плюшек по части разруливания трафика. Например, самое простое: он может не пускать запросы на 22-й порт через все интерфейсы, кроме того, который смотрит в вашу домашнюю сеть.
Начните с мануалов:
man route
man netstat
man iptable
man tcpdump
У меня есть А[i] - приложение
B[i] - интерфейс
мне нужна команда которая сделает следующее
чтоб приложение А[i] работало с интерфейсом B[i]
пробовал сделать это в настройках приложения
указал работать с нужным интерфейсом сохранил перезапустил приложение
и серовно приложения игнорируют настройки и прут через другой интерфей
Ответ уже был. Нужно выяснить к какому (каким) ip обращается эта программа и разрулить маршрутизацию.
Не поможет, особенно в таких условиях:
Если бы кто-то написал прогу, которая реализует эту идею, то эта прога будет очень популярной. :) Но до тех пор - route.
реализацию я видел, как я помню - описано ниже...
гугль и iptables в руки -> вперед.
Я как то находил решение, связанно было с маркировкой пакетов.
Но кошмар реализации меня испугал.
отвечаю на еще незаданные вопросы
Нет, не сохранил.
Нет, не помню.
Нет, не помню форму поискового запроса.
Нет, мне ЭТО не нужно.
ВСЕ ПРАВИЛЬНО СДЕЛАЛ!
к сожалению, должен заметить, что ваша команда роуте выдаст ошибку, или проигнорирует нетмаск. Я не помню точной реакции на такой ввод, но то что он ошибочен - ясно из слов -host и netmask в одной команде. :-)
netmaks должен использоваться при -net, а не -host
Это так, для замечания. :-)
дык роуте тут и не надо. тут надо иптаблю.
Вот потому я там "русским" "по-белому" и написал:
man route
Пусть человек учится, не отвлекайте. ;)
Отправить комментарий