View previous topic :: View next topic |
Author |
Message |
fedukoff Apprentice
Joined: 19 Dec 2005 Posts: 229 Location: Latvia
|
Posted: Tue Apr 18, 2006 11:28 am Post subject: Зоопарк подключений к сети. |
|
|
Здравствуйте!
Дело в том, что с ноутбуком возникает необходимость подключаться к сети дома, со статическим IP, по витой паре, на работе по витой паре, но с DHCP. В дороге - по gprs через мобильный телефон (bluetooth). Иногда по WiFi с различными конфигурациями.
В общем такой вот зоопарк.
Как бы все это настроить, чтобы потом переключаться между профилями простыми кликами мышкой. Например, иконки на десктопе поставить...
Скриптики, поднимающие/опускающие различные интерфейсы и настройки написать не проблема, но может есть к.н. стандартный и более красивый-простой путь?
Last edited by fedukoff on Wed May 03, 2006 1:50 pm; edited 3 times in total |
|
Back to top |
|
|
Laitr Keiows Bodhisattva
Joined: 04 Jul 2005 Posts: 891 Location: Kobe, Japan
|
|
Back to top |
|
|
fedukoff Apprentice
Joined: 19 Dec 2005 Posts: 229 Location: Latvia
|
Posted: Thu Apr 20, 2006 6:09 am Post subject: |
|
|
Хм. Если у меня возможны несколько вариантов подключения к eth0. Один из них DHCP, другие несколько - статические адреса. Это можно настроить при помощи /etc/conf.d/net ?
Ведь получается, что у каждого профиля есть свой gw, свои DNS-сервера.
Или тут без программульки типа NetGo не обойтись? |
|
Back to top |
|
|
Laitr Keiows Bodhisattva
Joined: 04 Jul 2005 Posts: 891 Location: Kobe, Japan
|
Posted: Thu Apr 20, 2006 6:26 am Post subject: |
|
|
fedukoff wrote: | Хм. Если у меня возможны несколько вариантов подключения к eth0. Один из них DHCP, другие несколько - статические адреса. Это можно настроить при помощи /etc/conf.d/net ?
Ведь получается, что у каждого профиля есть свой gw, свои DNS-сервера.
Или тут без программульки типа NetGo не обойтись? |
Попробуй копнуть в сторону рописанного в разделе «2.c. Имена и значения переменных»
Расскажи, пожалуйста, что найдешь.
Вот такое еще есть:
Code: | # Automatic Private IP Addressing (APIPA)
# For APIPA support, emerge net-misc/iputils or net-analyzer/arping
# APIPA is a module that tries to find a free address in the range
# 169.254.0.0-169.254.255.255 by arping a random address in that range on the
# interface. If no reply is found then we assign that address to the interface
# This is only useful for LANs where there is no DHCP server and you don't
# connect directly to the internet.
#config_eth0=( "dhcp" )
#fallback_eth0=( "apipa" ) |
https://forums.gentoo.org/viewtopic-t-379682-highlight-variable+essid+names.html |
|
Back to top |
|
|
fedukoff Apprentice
Joined: 19 Dec 2005 Posts: 229 Location: Latvia
|
Posted: Thu Apr 20, 2006 6:51 am Post subject: |
|
|
Я читал этот раздел.
Сделал config_blablabla=("xxx.xx.............") в /etc/conf.d/net
создал симлинк /etc/init.d/net.blablabla на /etc/init.d/net.lo
При попытке запуска /etc/init.d/net.blablabla start ругалось, что такого интерфейса blablabla не существует.
Правда, как говориться, хорошая мысля приходит опосля. Я вот вспомнил, что в net.example есть возможность переименовывать интерфейсы... Т.е. сделать так:
Code: |
config_home1=(".........")
config_home2=(".........")
config_work1=("..........")
|
А затем при помощи переименования интерфейсов сказать, что и home1, и home2, и work1 являются не чем иным, как eth0.
Теоритически должно сработать. Вечером доберусь до дому - проверю. |
|
Back to top |
|
|
fedukoff Apprentice
Joined: 19 Dec 2005 Posts: 229 Location: Latvia
|
Posted: Fri Apr 21, 2006 6:10 am Post subject: |
|
|
С полпинка не получилось. Вышеизложенное переименование не проходит.
Правда, таки изловчиться удалось - используя preup() изменять udev rules для переименования интерфейса. Беда в том, что у интерфейса может быть только одно имя в один момент времени.
С udev, это конечно изврат, хоть и работает.
Я вот подумал попричесать скриптик /etc/init.d/net.lo. Добавить к нему еще одну фичу, чтобы в конфиге было так
Code: |
iface_home="eth0"
config_home=("bla.bla.bla.bla netmask bla.bla.bla.bla")
iface_work="eth0"
config_work=("xxx.xxx.xx.x")
|
По идее это не должно быть архисложно. |
|
Back to top |
|
|
fedukoff Apprentice
Joined: 19 Dec 2005 Posts: 229 Location: Latvia
|
Posted: Sat Apr 29, 2006 12:11 pm Post subject: |
|
|
Когда читал доки не совсем понимал принцип работы ifplugd. Оказалось, практически то, что надо!
В общем, ifplugd запускает-перезапускает интерфейс, если он становится доступным.. ээээ.. ну если кабель воткнуть, то запустится eth0, если WiFi включить, то запустится eth1. Ну и соответственно, выключаются, когда отсоединяешь...
Правда, чтобы добиться такого повдения необходимо несколько подкрутить конфиги
В /etc/conf.d/rc Code: | RC_NET_STRICT_CHECKING="lo" |
для того, чтобы при старте ни один из интерфейсов, кроме lo не пытался бы подняться. К тому же нужно убрать все интерфейсы из ранлевела.
И, к тому же я поменял /etc/conf.d/ifplugd
Code: | WIRELESS_INTERFACES="yes" |
для того, чтобы он следил и за безпроводным интерфейсом.
Вначале пытался пользоваться netplug но, оно предназначается явно для других целей, а именно перезапускать интерфейс, т.е. чтобы эта механизьма работала, нужно обязательно чтобы интерфейс был поднят. А безпроводной интерфейс не может быть поднят до тех пор пока не нажата кнопочка, включающая радио.
А по поводу профилей все сказано в /etc/init.d/rc
Quote: |
# RC_USE_CONFIG_PROFILE allows you to have different /etc/conf.d files
# based on your runlevel - if a conf.d file for your profile does not exist
# then we try and use the default one.
# To enable runlevel selection at boot, append "softlevel=foobar" to your
# kernel line to change to the foobar runlevel. Here we would search for
# /etc/conf.d/<service>.foobar config files before trying to use the default
# /etc/conf.d/<service>.
# Note that it is only active if 'softlevel' was specified via the kernel line,
# and it is intended to use for different grub/lilo entries to specify config
# changes for say laptops between home and work, where you would have setup
# 'work' and 'home' runlevels, with /etc/conf.d/*.<runlevel> as needed.
|
Т.е. как раз то что нужно на все 100% |
|
Back to top |
|
|
fedukoff Apprentice
Joined: 19 Dec 2005 Posts: 229 Location: Latvia
|
Posted: Sat Apr 29, 2006 5:10 pm Post subject: |
|
|
Вспомнил что забыл (с) добавить немного секурити в безпроводное соединение. WPA в wireless-tools не работают, поэтому пришлось настраивать wpa_supplicant. Оно настроилось без проблем, но ifplugd перестал реагировать на включение девайса...
После нескольких экспериментов удалось победить и это.
в конфиге /etc/conf.d/ifplugd указал
Code: | API_MODE_eth1="iff" |
и все заработало. |
|
Back to top |
|
|
Graf n00b
Joined: 22 Jun 2005 Posts: 23
|
Posted: Tue May 02, 2006 6:18 am Post subject: |
|
|
Посмотрел Русский раздел.
Fedukoff'у надо вместо "tux's lil' helper" поставить "Победитель" |
|
Back to top |
|
|
fedukoff Apprentice
Joined: 19 Dec 2005 Posts: 229 Location: Latvia
|
Posted: Tue May 02, 2006 6:56 am Post subject: |
|
|
Да нифига не победитель... к сожалению...
При дальшейшем рассмотрении оказалось, что ни netplug, ни ifplugd безпроводное подключение ну ни как не хотят обрабатывать.
Т.е. если при включенном безпроводном девайсе запустить net.eth1, то при выключении/включении сам драйвер или wpa_supplicant обрабатывает эту ситуацию, но ни как не *plug.
При выключенном девайсе запустить net.eth1 не возможно - ругается, что мол, радио вырублено... Ни какими флажками победить это не удается пока.... |
|
Back to top |
|
|
ba l33t
Joined: 25 May 2003 Posts: 804
|
Posted: Tue May 02, 2006 12:38 pm Post subject: |
|
|
Кстати по крайней мере для ~x86 в сетевых стартовых скриптах сделана модульная система, где есть модули и для ifplugd и для wpa_supplicant, причем при использовании wpa_supplicant интерфейс поднимается и опускается при помощи wpa_cli вместо ifplugd... |
|
Back to top |
|
|
fedukoff Apprentice
Joined: 19 Dec 2005 Posts: 229 Location: Latvia
|
Posted: Tue May 02, 2006 12:43 pm Post subject: |
|
|
Похоже на то.. но wpa_cli в таком случае не хочет запускаться при выключенном девайсе и ждать когда он включится....
[добавлено]: В /etc/conf.d/net указано, что wpa_supplicant должен запускаться с флагами -B и -w, что, судя по справке, значит "запустить как демона" и "ждать добавления интерфейса" соотвественно.
Не представляю какие ему еще флаги указать можно.... |
|
Back to top |
|
|
fedukoff Apprentice
Joined: 19 Dec 2005 Posts: 229 Location: Latvia
|
Posted: Wed May 03, 2006 1:53 pm Post subject: |
|
|
Конечно, это пляска с бубном, но....
Оказалось, что при нажатии на кнопочку, включающей безпроводной девайс, генерируется нажатие клавиши. Хочу перехватывать это нажатие и проверять, запущен интерфейс или нет, если нет - запустить... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|