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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Как узнать шлюы соединений?  (Прочитано 24646 раз)

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

Оффлайн Psy[H[]

  • Автор темы
  • Активист
  • *
  • Сообщений: 883
  • Маньяк. Ставлю Linux на все что попадется под руку
    • Просмотр профиля
Как узнать шлюы соединений?
« : 28 Октября 2010, 17:17:35 »
Всем доброго времени суток!

Стоит такая задача: обеспечить бесперебойный доступ в инет при помощи нескольких разношерстных подключений.

Например, есть соединения ethernet, cdma и wifi: соответственно интерфейсы eth0, ppp0 и wlan0.
Как узнать шлюз каждого интерфейса на данный момент, чтобы потом скормить скрипту с route? ifconfig шлюзы не показывает, выуживать их из профилей соединений - слишком большой гемор. Куда копать?

...или может есть уже готовое решение, чтобы из такого зоопарка подключений раздавать стабильно инет?
« Последнее редактирование: 28 Октября 2010, 17:22:13 от Psy[H[] »
Я знаю только то, что ничего не знаю.
                                     

Оффлайн NanoGlist

  • Активист
  • *
  • Сообщений: 283
  • Даешь наноглистинг!!!!
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #1 : 28 Октября 2010, 17:30:04 »
route -n  :D

Оффлайн Psy[H[]

  • Автор темы
  • Активист
  • *
  • Сообщений: 883
  • Маньяк. Ставлю Linux на все что попадется под руку
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #2 : 28 Октября 2010, 17:32:00 »
route -n выведет только текущий default gateway
Я знаю только то, что ничего не знаю.
                                     

Оффлайн gorven

  • Активист
  • *
  • Сообщений: 463
  • Что нас ждет - Linux хранит молчанье
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #3 : 28 Октября 2010, 17:42:12 »
а traceroute разве не покажет ip шлюза? Первый прыжок же до него именно.
Эта ваша Ubuntu прикольненькая такая Windows (с)

Оффлайн Psy[H[]

  • Автор темы
  • Активист
  • *
  • Сообщений: 883
  • Маньяк. Ставлю Linux на все что попадется под руку
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #4 : 28 Октября 2010, 17:50:07 »
ага, уже теплее, но как-то на костыль похоже.
Есть ли вариант, где никуда стучаться не надо? Например, в винде ipconfig выводит шлюзы интерфейсов. Что может так же вывести шлюзы интерфейсов? Ведь где-то в системе они хранятся? Прочесал /sys/class/net... Ничего путного не нашел..
« Последнее редактирование: 28 Октября 2010, 17:54:45 от Psy[H[] »
Я знаю только то, что ничего не знаю.
                                     

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #5 : 28 Октября 2010, 17:57:55 »
для ppp0 можно в ifconfig подглядеть, остальное только у администратора сети

Пользователь решил продолжить мысль 28 Октября 2010, 17:59:35:
это как это оффтопик в ipconfig покажет шлюзы? только один шлюз и покажет. Всё точно так же как и здесь.
« Последнее редактирование: 28 Октября 2010, 17:59:35 от fisher74 »

Оффлайн atem32

  • Активист
  • *
  • Сообщений: 596
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #6 : 28 Октября 2010, 18:19:47 »
давайте переведу...видимо человек хочет узнать шлюз подключения к сети как через ipconfig в венде
а в ifconfig шлюз не показан вот он и спрашивает как узнать шлюз

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #7 : 28 Октября 2010, 18:22:43 »
Плохой из тебя переводчик.
ТС хочет менять дефолтный шлюз скриптом в зависимости от .... Не знаю как и по каким критерим он это хочет делать, обычно это в роутах метрикой выставляется. А при падении интерфейса он из маршрутизации в любом случае выпадает.

Оффлайн Psy[H[]

  • Автор темы
  • Активист
  • *
  • Сообщений: 883
  • Маньяк. Ставлю Linux на все что попадется под руку
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #8 : 28 Октября 2010, 23:33:08 »
Интерфейс может не упасть, а связь прерваться. Переключиться надо в течении двух секунд максимум, иначе армагедец.

Грубо говоря, есть скрипт, который пингует яндекс. Как только пинг пропал, выполняется следующее:
route del default gw $(достать_текущий_gw)
route add default gw $(достать_gw_другого_интерфейса)
Как реализовать "достать_текущий_gw" - более-менее понятно, через route.
А вот откуда взять "достать_gw_другого_интерфейса"?

нужно слепить функцию, которой на входе даешь, например, "ppp0", на выходе получаешь адрес шлюза для этого интерфейса. Да, можно сделать через traceroute, но он может стормозить.  Нужно не выходить за рамки локальной машины. Где-то ведь должна быть инфа по каждому интерфейсу: ip, маска, шлюз. То что ifconfig показывает только ip и маску - очень неприятные грабли.
Я знаю только то, что ничего не знаю.
                                     

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #9 : 28 Октября 2010, 23:47:59 »
Вот я с вас балдю. Думаете если есть IP и маска подсети, то шлюз автоматически можно узнать? Ну-ну... Им может выступить люой ip, потому его нужно узнавать у администратора сети (у провайдера). Как варант, забирать по dhcp

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: Как узнать шлюы соединений?
« Ответ #10 : 28 Октября 2010, 23:54:54 »
IP адреса шлюза у провайдера меняются не так уж часто
собрать данные можно последовательно подключаясь к провайдерам и
Цитировать
$ ip r|grep default|awk '{print $3}'
или
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 28 Октября 2010, 23:56:39 от Unreg »

Оффлайн Psy[H[]

  • Автор темы
  • Активист
  • *
  • Сообщений: 883
  • Маньяк. Ставлю Linux на все что попадется под руку
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #11 : 29 Октября 2010, 00:05:00 »
интерфейсы уже подняты и работают. Последовательно подключаться к каждому из них, останавливая остальные, нельзя. Вседга должна быть поднята запаска. Какие-то из них статические, какие-то по dhcp. Если бы заранее был известен список шлюзов для каждого соединения - ноль вопросов. Но ситуация динамическая, человеческое вмешательство невозможно. Где-то же в системе должны храниться шлюзы интерфейсов. Вот подключается wlan0, получает адреса по dhcp. Адрес шлюза ведь не в /dev/null уходит? Куда-то ведь он записывается?

Или может у меня индусский подход? Переформулирую более абстрактно:
Есть несколько поднятых интерфейсов. Сегодня их три, завтра десять, послезавтра два. В определенный момент времени нужно сказать системе: "Так, а теперь быстро пускай все через вот этот интерфейс!"
« Последнее редактирование: 29 Октября 2010, 00:07:37 от Psy[H[] »
Я знаю только то, что ничего не знаю.
                                     

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #12 : 29 Октября 2010, 00:08:57 »
Если интерфейс получает по dhcp то достаточно перезапросить данные и тот дефолт сам на себя переведёт (если нигде не зажато)

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #13 : 29 Октября 2010, 01:21:50 »
Последовательно подключаться к каждому из них, останавливая остальные, нельзя. Но ситуация динамическая, человеческое вмешательство невозможно.
Есть несколько поднятых интерфейсов. Сегодня их три, завтра десять, послезавтра два.

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

Оффлайн Psy[H[]

  • Автор темы
  • Активист
  • *
  • Сообщений: 883
  • Маньяк. Ставлю Linux на все что попадется под руку
    • Просмотр профиля
Re: Как узнать шлюы соединений?
« Ответ #14 : 29 Октября 2010, 07:36:36 »
вариантов узнать настройки интерфейсов вагон и маленькая тележка
Так поделись!  Как узнать шлюз уже поднятого интерфейса без запросов во вне? Если интерфейс поднят, то шлюз системе уже известен, откуда его выковырять?
Я знаю только то, что ничего не знаю.
                                     

 

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