Мне вообще, много писем пришло насчет статьи в прошлом номере о конфликте (т.с.),
но я подумал, что все их здесь разместить будет сложно. Да и свое отношение я
уже выразил.
Я лучше расскажу байку. |
уточнение: dsi.ru и irk.ru - домены
одного
провайдера и висят на одном адресе |
Сисадминские байки.
Итак, что происходит, когда адрес какого-либо ресурса, необходимого Вам, меняется,
скажем так, скоропостижно, или как там модно выражаться ... "аксидентально"
(во! Кайф :))
Нда, ну так вот, для конкретизации, скажем, вы ходили на адрес cooler-online.com,
у которого был реальный IP адрес 195.206.40.162 (скажем, журнал сидел
на таком адресе, но не имел его - я бы разграничил эти понятия), а коварный
сисадмин (чисто из желания насолить вам) взял и поменял его на 195.206.40.164.
Детально: он взял, и из списка адресов на сервере, удалил строчку типа: cooler-online.com
= 195.206.40.162, и поставил заместо нее - cooler-online.com = 195.206.40.164.
И когда Вы (вы - далеко) набрали строчку в браузере http://cooler-online.com, нажали
Enter, что получили:
1. Браузер, видя, что ему в строке URL написали не циферку, посылает
запрос на сервер вашего провайдера с просьбой дать ему нормальный IP адрес,
чтобы было куда ломиться (как я уже раньше писал - эти запросы вы можете наблюдать
в строке состояния NN как "Looking up host:такой-то").
2. Серверу провайдера пришел запрос от вашей тачки на прямое преобразование
имени. У уважающего себя провайдера есть DNS кэш, который является неотъемлимой
частью DNS сервера. Про DNS сервер и работу провайдера с DNS я уже байки рассказывал.
Ну и, DNS сервер, не будь дурак, смотрит сначала в свой кэш, естественно, находит
там запись cooler-online.com, и его соответствие (старое) - 195.206.40.162
и отсылает вашему браузеру.
3. Браузер, получив циферку (смена строчки состояния на "Contacting to
host такой-то"), посылает пакет на машину с номером в сети 195.206.40.162
(т.е. на dsi.ru) с запросом типа "дай ресурс". Вместе с пакетом внутри
уходит и обычный адрес (cooler-online.com) - это делается всегда, кстати. Сервер
dsi.ru не забывает конечно отправить подтверждение на приемку TCP пакета "все
понял, бжи, счас я тут разберусь" - и у вашего браузера строчка меняется
на "Contacted, waiting for reply".
4. Все было бы просто. Если бы не...
Так как адрес 195.206.40.162 у моего провайдера является адресом множества виртуальных
серверов (а их у dsi.ru крутится на юниксе около 50-ти, простыми словами говоря,
адрес 195.206.40.162 имеют несколько доменов 3-го уровня, принадлежащих dsi.ru),
то необходимо как-то просекать, что же именно хотят "снаружи", когда
запрашивают что-либо именно с адреса 195.206.40.162. Для этого, на сервере (и
на любой нормальной web-системе), существует специальный конфигурационный файл,
где прописано, ресурс какой именно директории на диске отдавать
"наружу". В этом как раз и помогает имя ресурса, которое идет вместе
с пакетиком на сервер, т.е. например, cooler-online.com.
А вот если вы запросите то, чего не существует по адресу 195.206.40.162, что
делать? Конечно, просто так "запросить" то, "чего не существует",
не удастся, так как набрав типа lkjhfg.dsi.ru, вы получите grand-облом
в виде несуществующего адреса. А если мы представим, что в пакете, который уйдет
на dsi.ru, мы подправим имя ресурса на неправильное? Т.е. IP будет верным,
а имя будет, ну, совершенно левым.
Но и такая ситуация обрабатывается сервером. У него есть список всех ресурсов,
висящих на одном и том же IP адресе, т.е. на 195.206.40.162. Он проверит их
все на совпадение и если нужного не окажется, он перебросит вас (ну не вас конечно,
это я для простоты :)) на ресурс по умолчанию. На любой, какой пропишет сисадмин
(ну, который коварный :)). Он прописал www.dsi.ru. И (еще раз повторю) убрал
мою строчку cooler-online.com = 195.206.40.162 как раз из этого списка. Поэтому,
cooler-online.com и считался неправильным на то время.
Но прописал другую cooler-online.com = 195.206.40.164.
И если раньше до моего журнала нельзя было добраться написав в браузере прямой
IP адрес (195.206.40.162), то теперь можно, так как cooler оккупирует единолично
адрес 195.206.40.164.
Вот, поэтому-то, пока DNS не обновился, все (кстати, вот в штатах обновился
почему-то быстрее, чем на некоторых серверах в России, видимо, из-за различий
в настройках DNS серверов провайдеров) те, кто видел сервер dsi.ru вместо cooler-online.com,
как раз имели необновленный кэш DNS сервера своего провайдера.
Спустя некоторое время (максимум 24 часа) DNS-изменения разошлись по всем серверам.
Постлюдия (не, ну есть же слово "прелюдия" :).
Зачем это было сделано? На самом деле, сисадмин вовсе и не собирался вас злить,
он, если к нему вовремя подкатить с бутылкой (колы, например), оказывается добрейшей
души человеком :))
Нужен был собственный ftp сервис для журнала. Удобно чтоб софт и mp3
качать было. Конечно, можно было обойтись и обычным ftp на ftp.irk.ru, но провайдеру
необходимо как-то ограничить число одновременных ftp-соединений. Как разграничить
именно ftp клиентов желающих ftp.irk.ru и клиентов, желающих ftp://cooler-online.com?
Ftp сервер-то - один и тот же. И к тому же, anonymous соединениям нужно давать
какую-то initial директорию. Во!
Поэтому, удобно дать ftp://cooler-online.com отдельный адрес, по этому адресу завести
своего ftpd (pro ftpd), и у него уже поставить и ограничение на 10 пользователей
(т.е. в одно и то же время, с сервером 195.206.40.164 по протоколу ftp могут
соединиться не более 10 пользователей), и раздавать различные директории на
разные имена. Например в файле конфигурации proftpd прописано, что пользователь,
ломящийся на 195.206.40.164 по порту 21 (порт команд ftp) с именем mp3 и паролем
mp3 должен получать IP пакетики из директории /MP3/ и chdir вверх сделать не
сможет, ну и так далее, по запросам.
Вот, примерно такая кухня. За что поем мы песню сисадмину, отдаем
салюты, несем тару и т.п.
Кстати, то что я описал, применимо к абсолютному большинству провайдеров на
Руси, так что у Вас кухня примерно та же, можете не сомневаться.
При создании статьи был упоен напрочь сисадмин
www.dsi.ru Макс.
Так что, если есть сугубо технические вопросы по существу - то это к нему.
|