Привет всем!
Вобщем задачка такая - есть несколько одомашненных компов, соединенных
в сеть ( жилой дом ). У каждого владельца компа есть телефон, модем.
Интернет у них общий, т.е. один логин у провайдера на всех. Нужно
сконфигурить сетку так, чтобы при дозвоне к провайдеру одного из
владельцев, у всех остальных инет также работал.
Предполагаемое решение - раздать всем "серые" адреса, напр.:
192.168.0.2, 192.168.0.3 и т.д. Адрес 192.168.0.1 оставить напр. под
default gateway. При дозвоне к провайдеру выполнять скрипт, напр.,
ip-up, в котором присваивать еще один ip (192.168.0.1) ethernet
адаптеру. На всех узлах 192.168.0.1 прописывать или как def-gateway
или как адрес прокси. Ну и затем либо запускать прокси, либо прописывать NAT на том узле, который дозвонился и он становится
инетовым шлюзом.
Вопрос1 - какое может быть еще решение
Вопрос2 - сколько может стоить такая работа
Вопрос3 - можно ли такую феню сбацать под форточками
( мой опыт работы до Win2000, c XаPЭ не возился :) Почитав доки на
WinGate 4/x и используя вышеприведенное решение понял, что
перезагрузок ;) не избежать.
Извиняюсь- не до конца вопрос осмыслил. Чтобы работал Инет
и были разные точки входа - это по-моему протоколом BGR решается,
хотя я с ним не сталкивался
Млин, ну и что? А где решение то? Меня не интересует - кто что продает, а интересует как это можно сделать на имеющемся оборудовании - компьютеры, объединенные по Ethernet + у каждого по модему, для дозвонки к провайдеру. Решение под Linux я уже привел. Под виндозой оно не прокатывает - возникает необходиость перезагрузок.
WindowsNT поддерживает насколько мне известно RPC -
дык пускай машина, которая пошла на дозвон, при этом
пошлет какой-либо сигнал через rpc/ssh (найти такой
клиент, который будет авторизоваться через ключи а
не по паролю (ssh-keygen)) - вызвав на Linux какой-то
скрипт. Это скрипт определит IP (хотя бы через
tail -f /var/log/sshd.log) - кто к нему обратился и
обычными echo сгенерит isc-dhcpd.conf и рестартанет
DHCPD, внеся этот IP в default route.
На других же машинах, виндузных, либо в шедулер
утрамбовать на каждо-минутное исполнение BAT-файла,
либо запускать этот BATCH-файл когда клиент рвется
в Инет, содержимое BAT-файла: ipconfig /renew
или для Windows98: ipconfig /renew 0 (i-face)
Но это глупое и наколенночное решение ;) По мне
дак проще написать сокетные сигналы ;) а не
ssh/rpc etc... А написал я сюда потому - что
интересная задачка - может кто еще напишет что-то.
Не катит - потому как 1) это то же решение, только еще и с rpc 2) предполагается что у всех могут быть одинаковые операционки, и в худшем случае - это 95-й ( потому как у того даже alias-ip нельзя сделать ) 3) в виндозе все системные изменения пишутся в реестр, а система инициализируется при старте.
Я вижу здесь еще вариант - запустить линух на эмуляторе типа vmware( тяжеловат), bochs ( не понял - как он работает с реальным железом компа - с сетевухой и посл. портом) и работать с сеткой, как описано выше.
В одном виндусячем форуме пообщался %( тамошний пипл рекомендует поставить ту виндозу, к-рая умеет альтернативный gateway понимать ( типа как в NT4/Win2000/XP ), хотя у виндозы частенько крыша съезжает с альтернативными гейтами ( сам видел :)
Альтернативные гейты - это OSPF ты имеешь в Виду? Вообще с тамошними администраторами Виндовсов общаться очень сложно - они в основном знают в каком месте какая галочка и чего делает.
По крайней мере я такого понятия что-то не разу не встречал.
OSPF бы помог но 95-я их не тянет. Правда по RFC у него обновка каждые 30 минут - многовато. Но зачем переводить всех под одну ОС, если
это домашняя сетка - несложно же написть к inetd сокето-слушалку ;)
Та тачка что звонит - просто делает коннект на Линуксную машину по
tcp и сразу закрывает - а та уже DHCPD перебивает.
И кстати для ipconfig /renew Виндовозе не надо правки в реестре или
где-то делать. А если с твоим способом делать - ты же не уследишь,
у какой машины какой IP-адрес! А так все машины фиксированы, но меняется лишь дефолт-роут.
1)Дык ipconfig сам реестр то правит! Поэтому - либо сами форточки предложат перегрузиться, либо самому придется. В доке на WinGate так и написано, правда с одним чудным словом "может".
2)В моей схеме при дозвонке добавляется на лан-интерфес ip-alias, который выступает в роли def-gateway или адреса прокси. При рассоединении адрес убирается. Под линухом так можно сделать, но млин в домах то виндусятина стоит ;(
1) Под "альтернативными гейтами" я подразумевал список ip адресов в списке "Default Gateways" свойств TCP/IP сетевого окружения, например в "Advanced TCP/IP settings" для Win2000. Уж по какому протоколу или каким способом виндоза работает с этим списком, одному БГ известно.
2) А изменять настройки DHCPD => нужно перегружать енво клиентов, либо ipconfig /renew, все равно что перезагрузка.
Ладно, пардон за беспокойство. Думал, что кто-нить знает еще какой подход к решению такой фигни. Видимо, виндоза всетаки "идеологически плохо подкована" :)