Выполнение действий при изменении состояния сетевых интерфейсов в Debian |
[исправить] |
Имеется такая задача, к компьютеру в локальной сети подключается USB WiFi
адаптер, при этом компьютер
автоматически превращается в прозрачный мост для подключемых WiFi устрайств
(ноутбуки). А после отключения адаптера, компьютер должен восстановить своё
исходное состояние.
В файле /etc/network/interfaces находятся описания настроек интерфейсов, а так же способы запуска
Например такая запись, заставляет автоматически включать eth0 и настраивать его по DHCP
auto eth0
iface eth0 inet dhcp
post-down ip addr flush dev eth0 dhcp # удаляем привязанный IP
Для привязки действий в момент подключения или отключения усторойства с
заданным именем можно использовать опцию allow-hotplug.
Объявляем новое соединение wlan0 и последовательность событий-действий связанных с ним:
iface wlan0 inet manual
pre-up ifdown eth0 # стопим eth0, нужно для включения его в bridge
pre-up brctl addbr bridge
pre-up brctl addif bridge eth0
pre-up brctl addif bridge wlan0
pre-up ifconfig eth0 up
pre-up dhclient3 bridge
pre-up ifconfig wlan0 down
pre-up iwconfig wlan0 mode ad-hoc freq 2.437GH essid ffhome channel 6
pre-up ifconfig wlan0 up
post-down brctl delif bridge eth0
post-down ifconfig bridge down # стопим bridge, нужно для его удаления
post-down brctl delbr bridge
post-down ifup eth0 # снова включаем eth0
allow-hotplug wlan0
Опция allow-hotplug инициализирует интерфейс wlan0 в момент когда ядро его определяет.
Первое событие происходит перед инициализацией интерфейс. В этот момент нужно остановить eth0,
сбросить у него IP, подготовить и запустить мост, а затем иницилизировать WiFi
адаптер в режиме точки.
А после отключения WiFi адаптера необходимо удалить мост и восстановить eth0.
|
|
|
|
Раздел: Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux |
1.2, Kirill (??), 20:59, 20/07/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Позволю себе дополнить, хорошее описание описание доступно по zcat /usr/share/doc/ifupdown/examples/network-interfaces.gz
| |
1.4, VecH (ok), 11:38, 21/07/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
у меня без указания полных путей к iwconfig route и т.д. почему то эти команды не выполнялись после ребута
наверное потому что окружение еще не загружается
| |
|
2.15, Filosof (?), 16:36, 23/07/2009 [^] [^^] [^^^] [ответить]
| +/– |
Сам спросил - сам ответил.
Посмотри где и когда у тебя определяется $PATH - желательно, чтоб оно определялось не в профиле пользователя...
| |
|
3.16, VecH (ok), 16:39, 23/07/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Сам спросил - сам ответил.
>Посмотри где и когда у тебя определяется $PATH - желательно, чтоб оно
>определялось не в профиле пользователя...
это имел ввиду
| |
|
|
1.5, Vyacheslav (??), 11:45, 21/07/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
man что, дабы получить на столько же красивое описание и действие в RedHat и клонах, никто не подскажет ?
| |
1.7, pavlinux (ok), 00:57, 22/07/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
post-down ifconfig eth0 down # для начала надо запретить
post-down ifconfig wlan0 down # ездить по мосту.
post-down ifconfig bridge down # потом закрыть мост
post-down brctl delif bridge eth0 # и разогнать народ ...
post-down brctl delif bridge wlan0 # иначе бридж не удалится
post-down brctl delbr bridge # теперь можно его взрывать
post-down ifup eth0 # иди-ка бабуля, другой дорогой моста нет...
| |
|
2.18, User294 (ok), 19:24, 23/07/2009 [^] [^^] [^^^] [ответить]
| +/– |
> # иди-ка бабуля, другой дорогой моста нет...
Зачот.Юморно и и что самое интересное - порядок действий неплохо запоминается по такой схеме.
| |
|
3.19, pavlinux (ok), 19:35, 23/07/2009 [^] [^^] [^^^] [ответить]
| +/– |
>> # иди-ка бабуля, другой дорогой моста нет...
>
>Зачот.Юморно и и что самое интересное - порядок действий неплохо запоминается по
>такой схеме.
Запятую не туда впихнул, после дороги надо - "иди-ка бабуля другой дорогой, моста нет..."
| |
|
|
|