Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Работа с двумя сетевыми интерфейсами.  (Прочитано 848 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн TMW1000F

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
  • Ubuntu 15.04
    • Просмотр профиля
Доброго времени суток.

Честно скажу, читал много, пытался настроить маршруты, в какой-то момент получилось заставить работать систему практически так как мне нужно, но потом что-то пошло не так, где-то чего-то я не допонял, и система просто напросто отказалась нормально загружаться...

Вобщем суть проблемы такая:
У меня есть 2 интерфейса: eth0 который смотрит в локалку через роутер (IP роутеру присваивается локалкой автоматически по маку, IP постоянный и не меняется, а сам роутер уже выдаёт IP моему компу) и usb0 - это мобилка, в которую воткнута симка с безлимитом. Изначально задача была в том, чтобы прописать маршруты, но потом, поразмыслив, я понял, что мне, вобщем-то надо чтобы в локалку ходили только 2 приложения: deluge (торрент-клиент) постоянно должен висеть только в локалке, а chromium - тогда когда мне это нужно, но в данном случае я согласен на установку второго браузера (например лисы) для походов в сеть.
Поэтому вопрос: можно ли заставить конкретные приложения использовать только интерфейс eth0 (может что-то прописать в параметрах запуска...), а все остальные пусть идут поумолчанию, в данном случае на usb0?

Спасибо за понимание. =)
« Последнее редактирование: 16 Март 2014, 13:17:03 от TMW1000F »
Core™i7 860 2.80GHz
NVIDIA GeForce GTX 480
6Gb RAM

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #1 : 16 Март 2014, 16:06:25 »
Можно. Но не с помощью параметров запуска приложений, а, например, средствами iptables+iproute2.
Я считаю, что это ректальный способ решения проблемы, не только по длине пути, но и по сложности. Для такой настройки нужно чётко представлять работу сети, в том числе и маршрутизацию. А уж если Вы в её простейшем случае не разобрались, то что уж говорить по извращённым (для данного случая) методам...
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн TMW1000F

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
  • Ubuntu 15.04
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #2 : 16 Март 2014, 17:35:43 »
Я прекрасно понимаю, как это делается и работает, я знаю, что такое маршрутизация и для чего она нужна, но есть 2 проблемы связаные со специфическими вещами - прописаные маршруты не сохраняются после перезагрузки и usb0 у меня имеет динамический адрес, т.е. прописать его default gw не получится. Однако, usb0 всегда получает IP в диапазоне 192.168.42.*... Как прописать usb0 шлюзом по умолчанию, если у него адрес динамический? Нигде этого не встречал. Т.е. при каждом новом подключении мобилки route -n показывает всегда разный Gateway.
Есть мысль, что надо бы подредактировать файл /etc/network/interfaces, но ЧТО писать в default gw у интерфейса usb0 чтобы он был поумолчанию?

К слову о простом и сложном: иногда то, что одному кажется сложным, для другого может оказаться проще и наоборот.
Опять же, о простых вещах: есть вещи, которые вы считаете элементарными и простейшими, так как пользуетесь ими постоянно и к ним привыкли, вы о них даже не говорите, потому что считаете, что их знает каждый... А я, например, 12 лет под форточками просидел, и там консоль раз в год по несчастью открывают...
« Последнее редактирование: 16 Март 2014, 18:24:40 от TMW1000F »
Core™i7 860 2.80GHz
NVIDIA GeForce GTX 480
6Gb RAM

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #3 : 16 Март 2014, 18:15:01 »
Значит нужно решать проблемы поэтапно, а не начинать с ... хвоста.
прописаные маршруты не сохраняются после перезагрузки
"Вы просто не умеете их готовить" ©

usb0 у меня имеет динамический адрес, т.е. прописать его default gw не получится.
Если вдрес динамический, значит он получается через DHCP, а значит и дефолтный маршрут должен выдаваться. Если не так, значит Вы что-то не так делаете.

Есть мысль, что надо бы подредактировать файл /etc/network/interfaces, но ЧТО писать в default gw у интерфейса usb0 чтобы он был поумолчанию?
Рассуждать о возможных вариантах можно вечно. Возможно и у меня бы появились какие-либо мысли, но...
Так как нет никакой конкретики по Вашим настройкам, то считаю что решение с каждым постом не приближается, а наоборот растворяется в "многобукв"

Потому предлагаю такой путь
Сначала настройте дефолтный маршрут через мобилку, а потом уже раскуривайте маршрутизацию на локалку проводного провайдера.
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн TMW1000F

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
  • Ubuntu 15.04
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #4 : 16 Март 2014, 18:26:23 »
Забыл добавить в сообщении, что при каждом новом подключении мобилки route -n показывает всегда разный Gateway. Вот где проблема...
Core™i7 860 2.80GHz
NVIDIA GeForce GTX 480
6Gb RAM

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #5 : 16 Март 2014, 18:33:36 »
Никакой проблемы в этом не вижу, учитывая, что этот маршрут Вам трогать не надо.
Я правильно понял, что у Вас основной трафик (не по объёмам, а по назначению) должен идти через мобилку, а через провода должны идти только пакеты предназначенные для локалки провайдера?
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн TMW1000F

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
  • Ubuntu 15.04
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #6 : 16 Март 2014, 18:41:18 »
Именно так. В локалку только часть пакетов, остальное в интрнет.
Мобильник по сути как роутер. У меня на локалке тоже стоит роутер, и как настраивать его я знаю, у роутера есть статичный IP для внутренней сети (комп <-> роутер), вот если его указать как gw, всё работает нормально. Однако у мобильника тоже есть внутренний IP (комп <-> мобильник) и этот IP постоянно меняется... Из-за этого я и не пойму, как можно его сделать дефолтным...

Пользователь решил продолжить мысль 16 Март 2014, 18:53:59:
пошагово то что я делаю:
подключен мобильник
route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0         192.168.42.129  0.0.0.0         UG    0      0        0 usb0
192.168.42.0    0.0.0.0         255.255.255.0   U     1      0        0 usb0

Вижу что в качестве шлюза  192.168.42.129.
Подключаю локалку
route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0         192.168.192.1   0.0.0.0         UG    0      0        0 eth0
192.168.42.0    0.0.0.0         255.255.255.0   U     1      0        0 usb0
192.168.192.0   0.0.0.0         255.255.255.0   U     1      0        0 eth0

Интренет отрубается, пишу sudo route add default gw 192.168.42.129 usb0
Интернет снова начинает работать. Всё нормально. Как и должно быть. НО! 192.168.42.129 - это адрес который меняется, он не постоянный... Стоит перезагрузить мобильник и он становится другой. Однако, всегда остаётся в диапазоне 192.168.42.*.
« Последнее редактирование: 16 Март 2014, 18:56:04 от TMW1000F »
Core™i7 860 2.80GHz
NVIDIA GeForce GTX 480
6Gb RAM

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #7 : 16 Март 2014, 19:57:01 »
Для начала отмените замену дефолтного гетвея при подключении провода.
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн TMW1000F

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
  • Ubuntu 15.04
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #8 : 17 Март 2014, 11:13:12 »
Настроить маршруты у меня получилось, всё работает, однако, проблема: у нас в локалке у провайдера ресурс доступен как из самой сети, так и из интернета. Все адреса и ссылки там идут вида site_name.ru и для локалки и для интернета... При вводе адреса в строку браузера он лезет в интернет и, разумеется, получает доступ к сайту через интернет. Но это мне не нужно, так как через мобилку, сами понимаете, связь значительно хуже чем по проводу... Если же вводить в место текстового адреса IP адрес, тогда всё работает так как мне надо, но все внутрисетевые ссылки как раз в текстовом виде и будет очень неудобно с этим работать...
Подскажите, в какую сторону мне копать теперь?
Core™i7 860 2.80GHz
NVIDIA GeForce GTX 480
6Gb RAM

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #9 : 17 Март 2014, 11:44:57 »
так как через мобилку, сами понимаете, связь значительно хуже чем по проводу...
Нет, я не понимаю. Зачем тогда мобилку через провод подключаете?
Всегда провод был лучшей средой для передачи информации, нежели воздух. За исключением случаев, когда провод не соответствует желаемого от него.
(не умею читать)
Все адреса и ссылки там идут вида site_name.ru и для локалки и для интернета... При вводе адреса в строку браузера он лезет в интернет и, разумеется, получает доступ к сайту через интернет.
Судя по всему у проводного провайдера dns-сервер резольвит в зависимости от подключения.
Попробуйте использовать для всех соедений его dns-сервер
« Последнее редактирование: 17 Март 2014, 13:11:50 от fisher74 »
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн TMW1000F

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
  • Ubuntu 15.04
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #10 : 17 Март 2014, 12:54:02 »
Я решил попробовать немного поковырять iproute2. Мало ли, вдруг получится. Да и по практикуюсь немного.
Так вот, изменяю скрипт вот так

(Нажмите, чтобы показать/скрыть)

Меня интересует строка i2_ip="`ip addr show usb0 | grep inet | awk '{print $2}'`"
Возьмет ли переменная значение IP адреса на интерфейсе usb0? (он там динамический).
Core™i7 860 2.80GHz
NVIDIA GeForce GTX 480
6Gb RAM

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #11 : 17 Март 2014, 13:08:14 »
Что мешает открыть терминалку и ввести туда эту команду?
ip addr show usb0 | grep inet | awk '{print $2}'

Пользователь решил продолжить мысль 17 Март 2014, 13:09:43:
Что-то мне подсказывает, что грабли с именами/адресами останутся....
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6014
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #12 : 17 Март 2014, 13:27:51 »
Почему надо сразу iproute трогать? Если адрес у Вас постоянный пропишите его в /etc/hosts
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #13 : 17 Март 2014, 13:35:30 »
Человек хочет изучить работу iproute2, что есть похвально. Для решения его задачи, конечно,изврат, но в качестве учебного полигона - самое то.
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн TMW1000F

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
  • Ubuntu 15.04
    • Просмотр профиля
Re: Работа с двумя сетевыми интерфейсами.
« Ответ #14 : 17 Март 2014, 16:08:10 »
В том-то всё и дело, что на одном из интерфейсов адрес динамический.
Вобщем всё, разобрался. Понимаю, что сделал через одно место, но оно работает так как мне надо и головой маленько поработал =)

Вот только сейчас еще найду как в скрипте сделать задержку на запуск и вообще всё кучеряво будет  :D
Core™i7 860 2.80GHz
NVIDIA GeForce GTX 480
6Gb RAM

 

Страница сгенерирована за 0.105 секунд. Запросов: 24.