Автор Тема: [РЕШЕНО] Включение интернет только на одном из двух интрефейсов  (Прочитано 2897 раз)

отто фукс

  • Новичок
  • *
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
собственно, проблема в следующем: есть недобук, стоит на нем (в том числе) Росинка 9. машинка используется для работы в самых разных и непредсказуемых местах и ситуациях. зачастую возникают моменты, когда нужно сидеть в инете по wifi (тут по всякому бывает - или настройки по dhcp приходят, или статикой вписываются), а по шнурку (типа, локально) настраивать некие девайсы (опять же, варианты с dhcp и статикой). так вот, если есть подключение только по одному из интерфейсов (любому) - проблем нет, если же включить и задействовать сразу оба, то основным становится eth0 (в данном случае локальный, т.е. без доступа в инет) и запросы в сторону инета почему-то идут только через него. доходит до смешного - пинг по доменному имени возвращает корректный ip сайта (то есть отвечает таки dns wifi подключения (которое с честным выходом в инет), варианты с кешированием соответствия имени и ip отметались пинганьем заведомо неизвестных машинке сайтов), но собственно пинг заворачивается обратно с ответом от локально (шнурком) подключенной железки (это если она объявляет себя шлюзом для этого подключения и сетевые настройки получены с нее по dhcp), типа "сеть недоступна". пример:
forsaken@nedobook ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:26:9e:48:14:20 
          inet addr:192.168.0.50  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::226:9eff:fe48:1420/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:146872348 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15939 errors:0 dropped:0 overruns:0 carrier:13
          collisions:0 txqueuelen:1000
          RX bytes:16091694 (16.0 MB)  TX bytes:1326319 (1.3 MB)
          Interrupt:28
.
.
.
wlan0     Link encap:Ethernet  HWaddr 0c:60:76:7b:7a:7c 
          inet addr:192.168.2.2  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::e60:76ff:fe7b:7a7c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12589 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12045 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:11780260 (11.7 MB)  TX bytes:1800502 (1.8 MB)

forsaken@nedobook ~ $ ping gazeta.ru
PING gazeta.ru (85.202.241.71) 56(84) bytes of data.
From router (192.168.0.10) icmp_seq=1 Destination Net Unreachable
From router (192.168.0.10) icmp_seq=2 Destination Net Unreachable
From router (192.168.0.10) icmp_seq=3 Destination Net Unreachable
From router (192.168.0.10) icmp_seq=4 Destination Net Unreachable
^C
при этом инет есть на wlan0, в eth0 воткнут (почти) нулячий роутер без доступа в инет.
весьма смущает наличие одинаковых метрик на интерфейсах (metric=1 на обих). в винде, помниццо, можно было тупо записать разные метрики на интерфейсах через штатный гуй и всё начинало работать. шо делать тут, я таки даже и не знаю (потому как нуб в линуксах), ибо в networkmanager пытался прописать разные метрики (тока вот не интерфейсов наверное все таки, а маршрутов), и таки не помогло. повторюсь, сети на обоих интерфейсах меняются постоянно и часто, и почти каждый раз они уникальны.

и тут, собственно, вопрос: что сделать, чтобы корректно работали сразу оба интерфейса. желательно, без постоянных плясок с бубном. ну или с минимальными :)
« Последнее редактирование: 23 Сентябрь 2011, 23:17:09 от отто фукс »

Azure

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2118
  • Карма: +275/-114
  • Обычно я му-р-р-р-чу
    • Просмотр профиля
    • Exilibris Web Development
Надо настроить маршруты. Покажите route -n

Lerych

  • Ветеран
  • *****
  • Сообщений: 943
  • Карма: +122/-4
  • Выбрал Linux - включай мозг! ©
    • Просмотр профиля
Надо настроить маршруты.
Azure, извините, если не то пишу (сам в теме не силен), но материал вот по этй ссылке не сможет помочь в данной ситуации? *SCRATCH*
« Последнее редактирование: 24 Сентябрь 2011, 19:37:02 от Lerych34rus »

отто фукс

  • Новичок
  • *
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
Надо настроить маршруты. Покажите route -n

при двух активных интерфейсах
forsaken@nedobook ~ $ route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
0.0.0.0         192.168.0.10    0.0.0.0         UG    0      0        0 eth0
forsaken@nedobook ~ $ ping ya.ru
PING ya.ru (87.250.251.3) 56(84) bytes of data.
From router (192.168.0.10) icmp_seq=1 Destination Net Unreachable
From router (192.168.0.10) icmp_seq=2 Destination Net Unreachable
From router (192.168.0.10) icmp_seq=3 Destination Net Unreachable
From router (192.168.0.10) icmp_seq=4 Destination Net Unreachable
^C
--- ya.ru ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3004ms

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

при одном актинвом интерфейсе
forsaken@nedobook ~ $ route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 wlan0

судя по вопросу, предполагаю, что будет предложено выполнить что-нибудь типа
route add default gw 192.168.2.1 wlan0(что помогает только после удаления default gw для eth0, но исключительно до перезагрузки оси)

или прописать этот маршрут в /etc/network/interfaces (что опять же не сильно удобно, ибо сетевые настройки меняются с помощью networkmanager, который (по слухам:)) не сильно дружит с предварительно вписанными в конфиги настройками.

НО... как было указано в первом посте - сети на обоих интерфейсах меняются очень часто, и они весьма часто уникальные... для каждой удалять/прописывать роуты? есть ли другой путь, более автоматический? или может есть способ сделать так, чтобы автоматом при активации двух интерфейсов главнее был wlan0 (ибо инет гораздо чаще на нем)?
« Последнее редактирование: 25 Сентябрь 2011, 03:39:55 от отто фукс »

отто фукс

  • Новичок
  • *
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
Надо настроить маршруты.
Azure, извините, если не то пишу (сам в теме не силен), но материал вот по этй ссылке не сможет помочь в данной ситуации? *SCRATCH*

сорри за оффтоп:)

ссылка интересная (хотя я бы добавил в представленные конфиги некоторые полезные вещи. например, дополнительные роуты из сети 2 на шлюз 1 с большей ценой маршрута (это на случай падения второго прова) и наоборот), вот только на самом деле не по теме. в ней речь о т.н. dual-wan роутере, реализованном на *nix.

Azure

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2118
  • Карма: +275/-114
  • Обычно я му-р-р-р-чу
    • Просмотр профиля
    • Exilibris Web Development
Если Вы пользуетесь NetworkManager давайте попробуем (результат не гарантирую ;) ) Меню —> Параметры —> Сетевые соединения, выбираем вкладку «Проводные», выбираем eth0 —> кнопка «Изменить». Выбираем вкладку «Параметры IPv4», кнопка «Маршруты», ставим "галку" на «Использовать это соединение только для ресурсов этой сети». Сохраняем, переподключаем, пробуем (показываем вывод route)

отто фукс

  • Новичок
  • *
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
угу, помогает:) но только route add default gw уже был сделан... завтра спробую в другом наборе сетей (для чистоты эксперимента, без прописывания гейта по умолчанию)  и отпишу.

отто фукс

  • Новичок
  • *
  • Сообщений: 10
  • Карма: +0/-0
    • Просмотр профиля
проверил в 3 разных наборах wifi (с инетом) и шнурковых (без инета) подключений. гейты по умолчанию руками не вписывал, все автоматом делалось (или не делалось). на всех шнурковых подключениях ставил галочку "Использовать это соединение только для ресурсов этой сети".

на выходе имеем решение проблемы:) то есть после простановки вышеуказанной галочки все работает именно так, как надо в моей ситуации. сильная спасиба!

ЗЫ единственный (пока) замеченный косяк - спорадические тупняки на пинге в инет. время отклика выдает нормальное, а вот периодичность отправки пакетов вырастает до больших величин (точно мерять не стал, ибо лень:) навскидку - до 3-4 секунд). при этом информационная скорость на обоих интерфейсах существенно не меняется. поскольку пинганье инетов мне лично нужно исключительно редко, то и жить он мне не мешает:).
« Последнее редактирование: 26 Сентябрь 2011, 14:17:22 от отто фукс »