Несколько сетевых интерфейсов и переключение между ними (Slackware 14.0)

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Ответить
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Несколько сетевых интерфейсов и переключение между ними

Сообщение QWERTYASDF »

Здравствуйте!

Предыстория вопроса была в этой теме. Задача такая: нужно, чтоб при загрузке поднимался только wlan0-интерфейс, но eth0 при необходимости поднимался (а wlan0, соответственно, отключался) с минимальными телодвижениями. Для этой цели я решила убрать описание eth0 из /etc/rc.d/rc.inet1.conf и написать следующие скрипты (изначально была версия без задержек):

Переключение с wlan0 на eth0:
Spoiler
#!/bin/bash

#Отключаем wlan0
ifconfig wlan0 down

#Задержка 10 секунд
sleep 10

#Поднимаем eth0
ifconfig eth0 192.168.1.35/24 up

#Задержка 5 секунды

sleep 5

#Определяем шлюз
route add default gw 192.168.1.1


Переключение с eth0 на wlan0:
Spoiler
#!/bin/bash

#Отключаем eth0
ifconfig eth0 down

#Задержка 10 секунд
sleep 10

#Поднимаем wlan0
ifconfig wlan0 up

#Задержка 5 секунды
sleep 5

#Определяем шлюз
route add default gw 192.168.1.1


Проблема в том, что после переключения пинги ходят только по локалхосту (до другого компьютера), шлюз и интернет не пингуются. Хотя иногда переключение проходит успешно, а иногда надо долго ждать после выполнения скриптов, чтобы все пинги появились. Я так понимаю, что это скорей недовольство роутера, но вот объективно ли оно? Т.е. может мне чего-то надо в скриптах подправить?
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Несколько сетевых интерфейсов и переключение между ними

Сообщение Hephaestus »

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

Не знаю, насколько я (не)прав, идея чисто интуитивная.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Несколько сетевых интерфейсов и переключение между ними

Сообщение Bizdelnick »

fflatx писал(а):
26.07.2013 14:25
Возможно, после добавления шлюза, нужен перезапуск интерфейса.
Поэтому лучше шлюз добавлять до перезапуска, а ещё лучше вынести это куда-нибудь в конфиг, чтобы на момент запуска интерфейса все параметры уже были подготовлены.

Зачем перезапускать-то?
К тому же шлюз остаётся прежним, так что используемая команда вообще ничего не меняет. Чтобы меняла - надо указывать ещё и интерфейс. И, кстати, вместо route рекомендуется использовать ip route.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Несколько сетевых интерфейсов и переключение между ними

Сообщение Hephaestus »

Bizdelnick писал(а):
26.07.2013 14:40
Зачем перезапускать-то?
К тому же шлюз остаётся прежним, так что используемая команда вообще ничего не меняет. Чтобы меняла - надо указывать ещё и интерфейс. И, кстати, вместо route рекомендуется использовать ip route.
А черт его знает. Если данная команда ничего не меняет, значит проблема где-то дальше, потому что кроме этой команды в скрипте только простой перезапуск интерфейсов.


QWERTYASDF, если шлюз не пингуется, посмотрите трассировку пакетов до шлюза. Доходят ли они туда вообще.
Кстати, таблицу маршрутизации покажите ещё. На всякий.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Несколько сетевых интерфейсов и переключение между ними

Сообщение QWERTYASDF »

Попробовала в скриптах менять очередность определения маршрута по умолчанию, route заменила на ip route - но результата от этого не было. Однако, похоже, проблема исчезла после выставления (в /etc/rc.d/rc.inet1.conf) wlan0 mac-адреса eth0. Как понимаю, теперь работать одновременно они вообще не смогут, но хоть переключаются нормально : ) А вот

Код: Выделить всё

traceroute 192.168.1.1
при любом раскладе вгоняет роутер в ступор - в лучшем случае у него отваливается dns...

зы: Не совсем в тему, но что надо, чтобы выполнялся /etc/rc.d/rc.local окромя наличия x-бита? Пробовала там прописывать изменение mac-а через ifconfig, но потом на поверку адрес остался прежним...
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Несколько сетевых интерфейсов и переключение между ними

Сообщение Bizdelnick »

Bizdelnick писал(а):
26.07.2013 14:40
Чтобы меняла - надо указывать ещё и интерфейс.

Это делали? Добавить dev eth0 или dev wlan0 в конец команды.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Несколько сетевых интерфейсов и переключение между ними

Сообщение QWERTYASDF »

Bizdelnick писал(а):
28.07.2013 01:37
Bizdelnick писал(а):
26.07.2013 14:40
Чтобы меняла - надо указывать ещё и интерфейс.

Это делали? Добавить dev eth0 или dev wlan0 в конец команды.

Делала. Однако все-равно и так и так вывод route показывает все три минимально-нужных маршрута - локальная петля, локалхост, умолчание (соответственно, через нужный интерфейс). Главная проблема пропала именно после замены hw-адреса.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Несколько сетевых интерфейсов и переключение между ними

Сообщение drBatty »

QWERTYASDF
вот что вы ерундой маетесь? Есть же в /etc/rc.d/rc.inet1 специальные варианты:

Код: Выделить всё

Example: "eth0_stop" will stop the specified interface 'eth0'

что-бы подымать/опускать интерфейсы по отдельности. Там же можно глянуть, как оно делается.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Archangel
Сообщения: 431
ОС: Slackware64-14.1

Re: Несколько сетевых интерфейсов и переключение между ними

Сообщение Archangel »

А пинги не по именам случайно делаете? После перезапуска интерфейса обычно не маршрут долго соображает а DNS репу чухает.
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Несколько сетевых интерфейсов и переключение между ними

Сообщение QWERTYASDF »

Archangel писал(а):
29.07.2013 02:21
А пинги не по именам случайно делаете? После перезапуска интерфейса обычно не маршрут долго соображает а DNS репу чухает.

По именам...
Спасибо сказали:
Ответить