Настроить бук для работы в разных ip-подсетях.
Модераторы: SLEDopit, Модераторы разделов
-
- Сообщения: 694
Настроить бук для работы в разных ip-подсетях.
Задача такая:
бук при запуске, незаметно от пользователя должен определить какая из заранее известных ip-подсетей доступна на eh0 и в соответствии с этим сконфигурироваться (ip-адрес и шлюзы в другие подсети).
Все данные (возможные подсети, адреса которые нужно поднимать в той или иной сети, шлюзы существующие в разных подсетях) - всё известно.
Нужно только узнать какие подсети видны на интерфейсе.
Есть две мысли:
ping и grep в поисках "откликов"
или
tcpdump и дальше тоже grep.
Какие ещё могут быть варианты?
Спасибо.
бук при запуске, незаметно от пользователя должен определить какая из заранее известных ip-подсетей доступна на eh0 и в соответствии с этим сконфигурироваться (ip-адрес и шлюзы в другие подсети).
Все данные (возможные подсети, адреса которые нужно поднимать в той или иной сети, шлюзы существующие в разных подсетях) - всё известно.
Нужно только узнать какие подсети видны на интерфейсе.
Есть две мысли:
ping и grep в поисках "откликов"
или
tcpdump и дальше тоже grep.
Какие ещё могут быть варианты?
Спасибо.
-
- Бывший модератор
- Сообщения: 2088
- Статус: Насильник бабушек-педофилок
- ОС: Windows 10
Re: Настроить бук для работы в разных ip-подсетях.
ну например что-нить в стиле
sudo ifconfig [настройки_раз]
if ping ip.шл.ю.за |grep Unreachable <> null then
sudo ifconfig[настройки_два]
...
и так далее...
sudo ifconfig [настройки_раз]
if ping ip.шл.ю.за |grep Unreachable <> null then
sudo ifconfig[настройки_два]
...
и так далее...
Хрю.
-
- Сообщения: 694
Re: Настроить бук для работы в разных ip-подсетях.
Ну да, это один из вариантов.
Ещё можно снимать сетевой дамп и смотреть что там за адреса шляются, но только это сложнее анализировать: там могут быть адреса и из других сетей (в смысле - адреса отправителей пакетов).
-
- Бывший модератор
- Сообщения: 2088
- Статус: Насильник бабушек-педофилок
- ОС: Windows 10
Re: Настроить бук для работы в разных ip-подсетях.
(Zeus @ Jun 17 2006, в 00:28) писал(а):Ещё можно снимать сетевой дамп
так надо либо иметь сетевушку в промискус мод и сеть на хабах, либо таки применить настройки ифконфигом, что сводит пользу ентого дела на нет
либо настроить во всех сетках DHCP

Хрю.
-
- Сообщения: 694
Re: Настроить бук для работы в разных ip-подсетях.
Ну да, надо ж сначала eth0 поднять, прежде чем слушать...
А DHCP нету. И не будет.
Видимо ping'и - самое реальное решение.
-
- Сообщения: 128
- ОС: Slackware 12.0
Re: Настроить бук для работы в разных ip-подсетях.
можно сразу настроить несколько интерфейсов:
ifconfig eth0 ...
ifconfig eth0:1 ...
но шлюз по умолчанию всеже придется определять, как говорили пингом...
ifconfig eth0 ...
ifconfig eth0:1 ...
но шлюз по умолчанию всеже придется определять, как говорили пингом...
-
- Сообщения: 694
Re: Настроить бук для работы в разных ip-подсетях.
Я сначала так и собирался: поднять все адреса какие нужны, привязал все шлюзы к интерфейсам.
Но получалось, например, буду я пинговать сервак в другой подсети.
Как доставлять к нему пакеты? Кидать непосредственно в эту сеть (может я физически в ней нахожусь) или через маршрутизатор? Если маршрутизатор, то какой из 3х-4х? Короче, через какой интерфейс работать? Как это объяснить прикладным программам, начиная с ping'а?

-
- Сообщения: 37
Re: Настроить бук для работы в разных ip-подсетях.
А разве нельзя каждой сетке прописать свой шлюз??? Причём тут шлюз по умолчанию. У меня так и сделано.
eth0 192.168.0.0 на неё шлюз по умолчанию
и eth0:1 192.168.1.0 на него отделный шлюз

Вс работает изумительно.
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Настроить бук для работы в разных ip-подсетях.
Поищите по форуму. По-моему, madskull когда-то что-то такое описывал.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Сообщения: 302
- Статус: Ubuntuфил
- ОС: Ubuntu 7.10
Re: Настроить бук для работы в разных ip-подсетях.
мне Cap. J2A давал ссылку, по-моему даже на его-же ресурс
Apple Power book G4 (Mac OS X 10.4.11)
www.cCube.ru
www.cCube.ru
-
- Сообщения: 37
-
- Сообщения: 302
- Статус: Ubuntuфил
- ОС: Ubuntu 7.10
Re: Настроить бук для работы в разных ip-подсетях.
А мне и не надо уже. Я просто человеку помочь хотел-- сказал, где я находил инфу, когда у меня была такая необходимость. Ни коим образом не хотел вас обидеть.

Нашел ссылку
http://omsk.lug.ru/wacko/DebianAtLaptop?v=goz
Apple Power book G4 (Mac OS X 10.4.11)
www.cCube.ru
www.cCube.ru
-
- Сообщения: 1611
- Статус: 01100
- ОС: Gentoo,Ubuntu,MacOS X
Re: Настроить бук для работы в разных ip-подсетях.
В сети есть dhcp ? если есть ifplug в руки =)
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
-
- Сообщения: 694
Re: Настроить бук для работы в разных ip-подсетях.
DHCP нет. Есть просто заранее распределённые адреса в нескольких технологических ip-подсетях.
А бук этот - обслуживающего персонала, который включается в любом месте сети и должен предоставить нужную функциональность.
Можно, конечно, спрашивать у юзера где мы работаем, но хочется автоматически
А бук этот - обслуживающего персонала, который включается в любом месте сети и должен предоставить нужную функциональность.
Можно, конечно, спрашивать у юзера где мы работаем, но хочется автоматически

-
- Сообщения: 1611
- Статус: 01100
- ОС: Gentoo,Ubuntu,MacOS X
Re: Настроить бук для работы в разных ip-подсетях.
Zeus писал(а): ↑19.06.2006 10:54DHCP нет. Есть просто заранее распределённые адреса в нескольких технологических ip-подсетях.
А бук этот - обслуживающего персонала, который включается в любом месте сети и должен предоставить нужную функциональность.
Можно, конечно, спрашивать у юзера где мы работаем, но хочется автоматически
ну тогда я вижу такие варианты
1) поднять таки dhcp (хавтит самый захудалой тачки)
2) вывести ярлыки подключение на раб стол.
3) остальное все от лукавого.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
-
- Сообщения: 694
Re: Настроить бук для работы в разных ip-подсетях.
Не, не прокатит: много всякого оборудования настроено на конкретный ip.
Да и не станут админы с этим заморачиваться.
Ну вот это можно сделать в качестве user-friendly ручного конфигурирования.
В общем случае - да. Но тут сеть настроена жётко, всё о ней известно, так что ping-версия должна прокатить.
К сожалению не нашёл что имел ввиду t.t
Поищите по форуму. По-моему, madskull когда-то что-то такое описывал.
-
- Сообщения: 128
- ОС: Slackware 12.0
Re: Настроить бук для работы в разных ip-подсетях.
Хм... вобще наверное можно


Вот например у меня настроено 2а интерфейса с ip 10.0.0.2 и 192.168.0.2, прописано два шлюза, первый 10.0.0.1 и второй 192.168.0.1. Допустия я нахожусь в сетке 192.168... Я говорю например ping 1.2.3.4 и мой хост до посинения ищет 10.0.0.1, а 192.168.0.1 искать даже не пробует. Это я смотрю по tcpdump'у.
Может я че не доделал? Дистрибутив Слака 10.2 на ядре 2.4.31 собственной сборки.
-
- Сообщения: 694
Re: Настроить бук для работы в разных ip-подсетях.
grub писал(а): ↑19.06.2006 18:24Вот например у меня настроено 2а интерфейса с ip 10.0.0.2 и 192.168.0.2, прописано два шлюза, первый 10.0.0.1 и второй 192.168.0.1. Допустия я нахожусь в сетке 192.168... Я говорю например ping 1.2.3.4 и мой хост до посинения ищет 10.0.0.1, а 192.168.0.1 искать даже не пробует. Это я смотрю по tcpdump'у.
Может я че не доделал? Дистрибутив Слака 10.2 на ядре 2.4.31 собственной сборки.
Вот я об этом и говорю: можно сразу настроить подсети, шлюзы, а вот какая сеть реально доступна на сетевухе - ядро "не знает" и такие вот затыки получаются: лезет по интерфейсу на котором поднят адрес ТОЙ же сети к которой идёт обращение, а она недоступна. И не догадается ведь что можно шлюз юзать (опять-таки неизвестно какой - в какой мы реально сети находимся-то?).
-
- Сообщения: 37
Re: Настроить бук для работы в разных ip-подсетях.
Молодой человек вам уже ответили, делаем алиасы и для каждого прописываем шлюз! Больше делать ничего не надо! Делаектся это в течении 1 двух минут двумя командами.
А интерфейс указать????
Ну или уже сказали пинговать какой нить адрес и поднимать по скрипту интерфейс
grub писал(а): ↑19.06.2006 18:24
Хм... вобще наверное можноВо всяком случае route ничего не говорит против, прописывает и выводит два гейтвэя, но вот почему-то я не заметил, что бы он переключался с одного на другой, когда первый не работает
![]()
Вот например у меня настроено 2а интерфейса с ip 10.0.0.2 и 192.168.0.2, прописано два шлюза, первый 10.0.0.1 и второй 192.168.0.1. Допустия я нахожусь в сетке 192.168... Я говорю например ping 1.2.3.4 и мой хост до посинения ищет 10.0.0.1, а 192.168.0.1 искать даже не пробует. Это я смотрю по tcpdump'у.
Может я че не доделал? Дистрибутив Слака 10.2 на ядре 2.4.31 собственной сборки.
А интерфейс указать????
Ну или уже сказали пинговать какой нить адрес и поднимать по скрипту интерфейс
-
- Сообщения: 302
- Статус: Ubuntuфил
- ОС: Ubuntu 7.10
Re: Настроить бук для работы в разных ip-подсетях.
В debian довольно удачная схема настройки сети (man interfaces) и этой схемой поддерживаются множественные профили. Остается лишь настроить автоматический выбор этих профилей.
ifplugd
Мне оказалось достаточного apt-get install ifplugd и интерфейс автоматически стал подниматься\опускаться при втыкании\вытыкании сетевого кабеля.
guessnet
Инструмент, который будет выбирать нужный профиль в зависимости от окружения.
Работает так: заранее описываются «целевые» машины (т.е. те, на которые стоит ориентироваться при выборе окружения — напр. шлюзы) парой значений ip-mac. При подключении кабеля, посылаются arp-запросы, в зависимости от того, какой «целевой» компьютер ответил, выбирается соответствующий профиль.
Советую почитать документацию к guessnet, там есть неплохие примеры, на которые я и ориентировался, составляя свою конфигурацию. Итак:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
auto lo
iface lo inet loopback
# eth0 выбирается из профиля guessnet
mapping eth0
script /usr/sbin/guessnet-ifupdown
map default: none
map timeout: 3
map verbose: true
iface home inet static
address 172.16.0.2
netmask 255.255.255.0
network 172.16.0.0
broadcast 172.16.0.255
gateway 172.16.0.1
up roaming home
down roaming none
test-peer address 172.16.0.1 mac 00:80:AD:85:F5:7C
iface univer inet static
address 192.168.0.220
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
up roaming univer
down roaming none
test-peer address 192.168.0.1 mac 00:C0:26:AB:F8:91
iface pp inet static
address 192.168.0.220
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
test-peer address 192.168.0.215 mac 00:11:2F:A6:45:B0
iface work inet static
address 200.200.200.200
netmask 255.255.255.0
network 200.200.200.0
broadcast 200.200.200.255
up roaming none
test-peer address 200.200.200.240 mac 00:04:75:72:A8:4F
# если кабель не подключен (т.е. пытаемся поднять интерфейс, а кабель не подключен)
iface disconnected inet static
address 10.1.23.12
netmask 255.255.255.0
up roaming none
test-missing-cable please
Конструкции test-peer address <IP> mac <MAC> и test-missing-cable please как раз относятся к guessnet. К чему относятся up roaming — чуть ниже.
roaming
Итак, при поднятии\опускании интерфейса запускаем скрип roaming, который делает нужные действия:
* информирует (при помощи соответсвующего файла) об онлайн\оффлайн состоянии
* сообщает (содержимое файла) о профиле
* использует нужный resolv.conf
* синхронизирует время по ntp
* что-нибудь еще (напр. смена конфигурации samba), ограничение — только ваша фантазия.
#!/bin/sh
# -*- coding: koi8-r -*-
# roaming: делает все необходимые манипуляции при поднятии интерфейса
# Yury Yurevich, http://cqc.univer.omsk.su/j2a/
# 2005-08-01
# первый параметр -- имя конфигурации
conf="$1"
if [ -z "$conf" ]; then # если не передали параметр, ничего не делаем
exit
fi
# прописываем нужный resolv.conf
ln -fs "/etc/roaming/resolv.conf_$conf" /etc/resolv.conf
if [ "$conf" = "none" ]; then # значит оффлайн
rm -f /etc/roaming/online
touch /etc/roaming/not_online
# останавливаем синхронизацию времени
/etc/init.d/ntpdate stop
else # значит онлайн
# сообщаем, какую конфигурацию запускаем
echo "$conf" >/etc/roaming/online
# сообщаем, что перестали быть оффлайн
rm -f /etc/roaming/not_online
# синхронизируем время
/etc/init.d/ntpdate start
fi
http://omsk.lug.ru/wacko/DebianAtLaptop?v=goz
Apple Power book G4 (Mac OS X 10.4.11)
www.cCube.ru
www.cCube.ru
-
- Сообщения: 636
- ОС: Gentoo GNU/Linux
Re: Настроить бук для работы в разных ip-подсетях.
Zeus писал(а): ↑17.06.2006 00:15Задача такая:
бук при запуске, незаметно от пользователя должен определить какая из заранее известных ip-подсетей доступна на eh0 и в соответствии с этим сконфигурироваться (ip-адрес и шлюзы в другие подсети).
Все данные (возможные подсети, адреса которые нужно поднимать в той или иной сети, шлюзы существующие в разных подсетях) - всё известно.
Нужно только узнать какие подсети видны на интерфейсе.
Есть две мысли:
ping и grep в поисках "откликов"
или
tcpdump и дальше тоже grep.
Какие ещё могут быть варианты?
Спасибо.
если не надо замарачиваться с маршрутизацией, то можно на сетвевуху назначить все возвожные адреса.
все сказанное есть имхо...
-
- Сообщения: 317
- ОС: linux
Re: Настроить бук для работы в разных ip-подсетях.
Если я ничего не пропустил, то вы не учитываете одной такой вещи при прикручивании одновременно нескольких ip на один интерфейс - могут быть одинаковые адреса (подсети) в разных сетях, к которым подключается компьютер:
Например, забиваем адреса 192.168.0.8 и 192.168.192.35; в одной сети, с ip 0.8, все хорошо, а в другой, где мы используем 192.35, тоже есть подсеть 192.168.0.0/24. В таком случае не получится использовать ее.
Например, забиваем адреса 192.168.0.8 и 192.168.192.35; в одной сети, с ip 0.8, все хорошо, а в другой, где мы используем 192.35, тоже есть подсеть 192.168.0.0/24. В таком случае не получится использовать ее.
Trust №1
-
- Сообщения: 694
Re: Настроить бук для работы в разных ip-подсетях.
К сожалению маршрутизация есть.
Нужно из одной подсети тянуться к ресурсам в других подсетях через маршрутизаторы.
В зависимости от того, в какой подсети оказался - маршрутизатор будет свой.
Настроить сразу всё (и адреса и марщрутизаторы) не получается: при обращении к какому-либо адресу протокол, естественно, лезет напрямую в интерфейс на котором поднят этот адрес, а реально комп находится в другой подсети и нужно работать через шлюз.
keir писал(а): ↑28.06.2006 22:15Если я ничего не пропустил, то вы не учитываете одной такой вещи при прикручивании одновременно нескольких ip на один интерфейс - могут быть одинаковые адреса (подсети) в разных сетях, к которым подключается компьютер:
Например, забиваем адреса 192.168.0.8 и 192.168.192.35; в одной сети, с ip 0.8, все хорошо, а в другой, где мы используем 192.35, тоже есть подсеть 192.168.0.0/24. В таком случае не получится использовать ее.
Что-то мало что понял, но скажу, что все подсети - одного ранга.
Ну, т.е. маска подсети у них одинакова - никаких "нахлёстов" в адресах не будет.