Настроить бук для работы в разных ip-подсетях.

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

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

Аватара пользователя
Zeus
Сообщения: 694

Настроить бук для работы в разных ip-подсетях.

Сообщение Zeus »

Задача такая:
бук при запуске, незаметно от пользователя должен определить какая из заранее известных ip-подсетей доступна на eh0 и в соответствии с этим сконфигурироваться (ip-адрес и шлюзы в другие подсети).
Все данные (возможные подсети, адреса которые нужно поднимать в той или иной сети, шлюзы существующие в разных подсетях) - всё известно.
Нужно только узнать какие подсети видны на интерфейсе.

Есть две мысли:
ping и grep в поисках "откликов"
или
tcpdump и дальше тоже grep.

Какие ещё могут быть варианты?
Спасибо.
Спасибо сказали:
Topper
Бывший модератор
Сообщения: 2088
Статус: Насильник бабушек-педофилок
ОС: Windows 10

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Topper »

ну например что-нить в стиле

sudo ifconfig [настройки_раз]
if ping ip.шл.ю.за |grep Unreachable <> null then
sudo ifconfig[настройки_два]
...
и так далее...
Хрю.
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Zeus »

Topper писал(а):
17.06.2006 00:19
ну например что-нить в стиле

sudo ifconfig [настройки_раз]
if ping ip.шл.ю.за |grep Unreachable <> null then
sudo ifconfig[настройки_два]
...
и так далее...

Ну да, это один из вариантов.
Ещё можно снимать сетевой дамп и смотреть что там за адреса шляются, но только это сложнее анализировать: там могут быть адреса и из других сетей (в смысле - адреса отправителей пакетов).
Спасибо сказали:
Topper
Бывший модератор
Сообщения: 2088
Статус: Насильник бабушек-педофилок
ОС: Windows 10

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Topper »

(Zeus @ Jun 17 2006, в 00:28) писал(а):Ещё можно снимать сетевой дамп

так надо либо иметь сетевушку в промискус мод и сеть на хабах, либо таки применить настройки ифконфигом, что сводит пользу ентого дела на нет
либо настроить во всех сетках DHCP ;)
Хрю.
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Zeus »

Topper писал(а):
17.06.2006 00:31
так надо либо иметь сетевушку в промискус мод и сеть на хабах, либо таки применить настройки ифконфигом, что сводит пользу ентого дела на нет
либо настроить во всех сетках DHCP ;)

Ну да, надо ж сначала eth0 поднять, прежде чем слушать...
А DHCP нету. И не будет.
Видимо ping'и - самое реальное решение.
Спасибо сказали:
grub
Сообщения: 128
ОС: Slackware 12.0

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение grub »

можно сразу настроить несколько интерфейсов:

ifconfig eth0 ...
ifconfig eth0:1 ...

но шлюз по умолчанию всеже придется определять, как говорили пингом...
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Zeus »

grub писал(а):
17.06.2006 01:16
можно сразу настроить несколько интерфейсов:

ifconfig eth0 ...
ifconfig eth0:1 ...

но шлюз по умолчанию всеже придется определять, как говорили пингом...

Я сначала так и собирался: поднять все адреса какие нужны, привязал все шлюзы к интерфейсам.
Но получалось, например, буду я пинговать сервак в другой подсети.
Как доставлять к нему пакеты? Кидать непосредственно в эту сеть (может я физически в ней нахожусь) или через маршрутизатор? Если маршрутизатор, то какой из 3х-4х? Короче, через какой интерфейс работать? Как это объяснить прикладным программам, начиная с ping'а? :)
Спасибо сказали:
Dima-1
Сообщения: 37

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Dima-1 »

grub писал(а):
17.06.2006 01:16
можно сразу настроить несколько интерфейсов:

ifconfig eth0 ...
ifconfig eth0:1 ...

но шлюз по умолчанию всеже придется определять, как говорили пингом...


А разве нельзя каждой сетке прописать свой шлюз??? Причём тут шлюз по умолчанию. У меня так и сделано.
eth0 192.168.0.0 на неё шлюз по умолчанию
и eth0:1 192.168.1.0 на него отделный шлюз :)))

Вс работает изумительно.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение t.t »

Поищите по форуму. По-моему, madskull когда-то что-то такое описывал.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
N-gusakov
Сообщения: 302
Статус: Ubuntuфил
ОС: Ubuntu 7.10

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение N-gusakov »

мне Cap. J2A давал ссылку, по-моему даже на его-же ресурс
Apple Power book G4 (Mac OS X 10.4.11)
www.cCube.ru
Спасибо сказали:
Dima-1
Сообщения: 37

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Dima-1 »

N-gusakov писал(а):
18.06.2006 13:14
мне Cap. J2A давал ссылку, по-моему даже на его-же ресурс


А чем тебя мой вариант не устроил?
Спасибо сказали:
Аватара пользователя
N-gusakov
Сообщения: 302
Статус: Ubuntuфил
ОС: Ubuntu 7.10

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение N-gusakov »

Dima-1 писал(а):
18.06.2006 18:35
N-gusakov писал(а):
18.06.2006 13:14

мне Cap. J2A давал ссылку, по-моему даже на его-же ресурс


А чем тебя мой вариант не устроил?


А мне и не надо уже. Я просто человеку помочь хотел-- сказал, где я находил инфу, когда у меня была такая необходимость. Ни коим образом не хотел вас обидеть. :) Кроме того, насколько я помню тот вариант который я предлагаю был несколько обширнее, например там было автоподнятие интерфейса при нахождении сети.
Нашел ссылку
http://omsk.lug.ru/wacko/DebianAtLaptop?v=goz
Apple Power book G4 (Mac OS X 10.4.11)
www.cCube.ru
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение TuLiss »

Zeus писал(а):
17.06.2006 00:15
Задача такая:
бук при запуске, незаметно от пользователя должен определить какая из заранее известных ip-подсетей доступна на eh0 и в соответствии с этим сконфигурироваться (ip-адрес и шлюзы в другие подсети).


В сети есть dhcp ? если есть ifplug в руки =)
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Zeus »

DHCP нет. Есть просто заранее распределённые адреса в нескольких технологических ip-подсетях.
А бук этот - обслуживающего персонала, который включается в любом месте сети и должен предоставить нужную функциональность.
Можно, конечно, спрашивать у юзера где мы работаем, но хочется автоматически :)
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение TuLiss »

Zeus писал(а):
19.06.2006 10:54
DHCP нет. Есть просто заранее распределённые адреса в нескольких технологических ip-подсетях.
А бук этот - обслуживающего персонала, который включается в любом месте сети и должен предоставить нужную функциональность.
Можно, конечно, спрашивать у юзера где мы работаем, но хочется автоматически :)


ну тогда я вижу такие варианты

1) поднять таки dhcp (хавтит самый захудалой тачки)
2) вывести ярлыки подключение на раб стол.
3) остальное все от лукавого.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Zeus »

TuLiss писал(а):
19.06.2006 11:07
1) поднять таки dhcp (хавтит самый захудалой тачки)

Не, не прокатит: много всякого оборудования настроено на конкретный ip.
Да и не станут админы с этим заморачиваться.

TuLiss писал(а):
19.06.2006 11:07
2) вывести ярлыки подключение на раб стол.

Ну вот это можно сделать в качестве user-friendly ручного конфигурирования.

TuLiss писал(а):
19.06.2006 11:07
3) остальное все от лукавого.

В общем случае - да. Но тут сеть настроена жётко, всё о ней известно, так что ping-версия должна прокатить.

К сожалению не нашёл что имел ввиду t.t
Поищите по форуму. По-моему, madskull когда-то что-то такое описывал.
Спасибо сказали:
grub
Сообщения: 128
ОС: Slackware 12.0

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение grub »

Dima-1 писал(а):
18.06.2006 03:10
А разве нельзя каждой сетке прописать свой шлюз??? Причём тут шлюз по умолчанию. У меня так и сделано.
eth0 192.168.0.0 на неё шлюз по умолчанию
и eth0:1 192.168.1.0 на него отделный шлюз :)))

Вс работает изумительно.


Хм... вобще наверное можно :unsure: Во всяком случае 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 собственной сборки.
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Zeus »

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 собственной сборки.

Вот я об этом и говорю: можно сразу настроить подсети, шлюзы, а вот какая сеть реально доступна на сетевухе - ядро "не знает" и такие вот затыки получаются: лезет по интерфейсу на котором поднят адрес ТОЙ же сети к которой идёт обращение, а она недоступна. И не догадается ведь что можно шлюз юзать (опять-таки неизвестно какой - в какой мы реально сети находимся-то?).
Спасибо сказали:
Dima-1
Сообщения: 37

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Dima-1 »

Молодой человек вам уже ответили, делаем алиасы и для каждого прописываем шлюз! Больше делать ничего не надо! Делаектся это в течении 1 двух минут двумя командами.

grub писал(а):
19.06.2006 18:24
Dima-1 писал(а):
18.06.2006 03:10



А разве нельзя каждой сетке прописать свой шлюз??? Причём тут шлюз по умолчанию. У меня так и сделано.
eth0 192.168.0.0 на неё шлюз по умолчанию
и eth0:1 192.168.1.0 на него отделный шлюз :)))

Вс работает изумительно.


Хм... вобще наверное можно :unsure: Во всяком случае 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 собственной сборки.

А интерфейс указать????

Ну или уже сказали пинговать какой нить адрес и поднимать по скрипту интерфейс
Спасибо сказали:
Аватара пользователя
N-gusakov
Сообщения: 302
Статус: Ubuntuфил
ОС: Ubuntu 7.10

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение N-gusakov »

В 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
Спасибо сказали:
d_n_k
Сообщения: 636
ОС: Gentoo GNU/Linux

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение d_n_k »

Zeus писал(а):
17.06.2006 00:15
Задача такая:
бук при запуске, незаметно от пользователя должен определить какая из заранее известных ip-подсетей доступна на eh0 и в соответствии с этим сконфигурироваться (ip-адрес и шлюзы в другие подсети).
Все данные (возможные подсети, адреса которые нужно поднимать в той или иной сети, шлюзы существующие в разных подсетях) - всё известно.
Нужно только узнать какие подсети видны на интерфейсе.

Есть две мысли:
ping и grep в поисках "откликов"
или
tcpdump и дальше тоже grep.

Какие ещё могут быть варианты?
Спасибо.


если не надо замарачиваться с маршрутизацией, то можно на сетвевуху назначить все возвожные адреса.
все сказанное есть имхо...
Спасибо сказали:
Аватара пользователя
keir
Сообщения: 317
ОС: linux

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение keir »

Если я ничего не пропустил, то вы не учитываете одной такой вещи при прикручивании одновременно нескольких ip на один интерфейс - могут быть одинаковые адреса (подсети) в разных сетях, к которым подключается компьютер:
Например, забиваем адреса 192.168.0.8 и 192.168.192.35; в одной сети, с ip 0.8, все хорошо, а в другой, где мы используем 192.35, тоже есть подсеть 192.168.0.0/24. В таком случае не получится использовать ее.
Trust №1
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Настроить бук для работы в разных ip-подсетях.

Сообщение Zeus »

d_n_k писал(а):
28.06.2006 13:43
если не надо замарачиваться с маршрутизацией, то можно на сетвевуху назначить все возвожные адреса.

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



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. В таком случае не получится использовать ее.

Что-то мало что понял, но скажу, что все подсети - одного ранга.
Ну, т.е. маска подсети у них одинакова - никаких "нахлёстов" в адресах не будет.
Спасибо сказали: