Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Зоопарк подключений к сети.
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
fedukoff
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 229
Location: Latvia

PostPosted: Tue Apr 18, 2006 11:28 am    Post subject: Зоопарк подключений к сети. Reply with quote

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

Дело в том, что с ноутбуком возникает необходимость подключаться к сети дома, со статическим 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
View user's profile Send private message
Laitr Keiows
Moderator
Moderator


Joined: 04 Jul 2005
Posts: 891
Location: Kobe, Japan

PostPosted: Tue Apr 18, 2006 11:57 am    Post subject: Reply with quote

Все уже предусмотрено, см тут:
http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml?part=4&chap=2
Back to top
View user's profile Send private message
fedukoff
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 229
Location: Latvia

PostPosted: Thu Apr 20, 2006 6:09 am    Post subject: Reply with quote

Хм. Если у меня возможны несколько вариантов подключения к eth0. Один из них DHCP, другие несколько - статические адреса. Это можно настроить при помощи /etc/conf.d/net ?
Ведь получается, что у каждого профиля есть свой gw, свои DNS-сервера.
Или тут без программульки типа NetGo не обойтись?
Back to top
View user's profile Send private message
Laitr Keiows
Moderator
Moderator


Joined: 04 Jul 2005
Posts: 891
Location: Kobe, Japan

PostPosted: Thu Apr 20, 2006 6:26 am    Post subject: Reply with quote

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
View user's profile Send private message
fedukoff
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 229
Location: Latvia

PostPosted: Thu Apr 20, 2006 6:51 am    Post subject: Reply with quote

Я читал этот раздел.
Сделал 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
View user's profile Send private message
fedukoff
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 229
Location: Latvia

PostPosted: Fri Apr 21, 2006 6:10 am    Post subject: Reply with quote

С полпинка не получилось. Вышеизложенное переименование не проходит.
Правда, таки изловчиться удалось - используя 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
View user's profile Send private message
fedukoff
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 229
Location: Latvia

PostPosted: Sat Apr 29, 2006 12:11 pm    Post subject: Reply with quote

Когда читал доки не совсем понимал принцип работы 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
View user's profile Send private message
fedukoff
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 229
Location: Latvia

PostPosted: Sat Apr 29, 2006 5:10 pm    Post subject: Reply with quote

Вспомнил что забыл (с) добавить немного секурити в безпроводное соединение. WPA в wireless-tools не работают, поэтому пришлось настраивать wpa_supplicant. Оно настроилось без проблем, но ifplugd перестал реагировать на включение девайса...
После нескольких экспериментов удалось победить и это.
в конфиге /etc/conf.d/ifplugd указал
Code:
API_MODE_eth1="iff"

и все заработало.
Back to top
View user's profile Send private message
Graf
n00b
n00b


Joined: 22 Jun 2005
Posts: 23

PostPosted: Tue May 02, 2006 6:18 am    Post subject: Reply with quote

Посмотрел Русский раздел.
Fedukoff'у надо вместо "tux's lil' helper" поставить "Победитель" :)
Back to top
View user's profile Send private message
fedukoff
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 229
Location: Latvia

PostPosted: Tue May 02, 2006 6:56 am    Post subject: Reply with quote

Да нифига не победитель... :( к сожалению...
При дальшейшем рассмотрении оказалось, что ни netplug, ни ifplugd безпроводное подключение ну ни как не хотят обрабатывать.
Т.е. если при включенном безпроводном девайсе запустить net.eth1, то при выключении/включении сам драйвер или wpa_supplicant обрабатывает эту ситуацию, но ни как не *plug.
При выключенном девайсе запустить net.eth1 не возможно - ругается, что мол, радио вырублено... Ни какими флажками победить это не удается пока....
Back to top
View user's profile Send private message
ba
l33t
l33t


Joined: 25 May 2003
Posts: 804

PostPosted: Tue May 02, 2006 12:38 pm    Post subject: Reply with quote

Кстати по крайней мере для ~x86 в сетевых стартовых скриптах сделана модульная система, где есть модули и для ifplugd и для wpa_supplicant, причем при использовании wpa_supplicant интерфейс поднимается и опускается при помощи wpa_cli вместо ifplugd...
Back to top
View user's profile Send private message
fedukoff
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 229
Location: Latvia

PostPosted: Tue May 02, 2006 12:43 pm    Post subject: Reply with quote

Похоже на то.. но wpa_cli в таком случае не хочет запускаться при выключенном девайсе и ждать когда он включится....

[добавлено]: В /etc/conf.d/net указано, что wpa_supplicant должен запускаться с флагами -B и -w, что, судя по справке, значит "запустить как демона" и "ждать добавления интерфейса" соотвественно.
Не представляю какие ему еще флаги указать можно....
Back to top
View user's profile Send private message
fedukoff
Apprentice
Apprentice


Joined: 19 Dec 2005
Posts: 229
Location: Latvia

PostPosted: Wed May 03, 2006 1:53 pm    Post subject: Reply with quote

Конечно, это пляска с бубном, но....
Оказалось, что при нажатии на кнопочку, включающей безпроводной девайс, генерируется нажатие клавиши. Хочу перехватывать это нажатие и проверять, запущен интерфейс или нет, если нет - запустить...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
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