49. Домашняя компьютерная сеть. Азы и основы.
IP адрес.
Известный факт что устройства в сети общаются между собой в первую очередь благодаря IP адресам. IP (Internet Protocol) адрес представляет собой некий набор цифр, переведённый в удобочитаемый для человека формат. Этот тип адреса является виртуальным адресом. Т.к. устройство (например сетевая карта компьютера) может получить или использовать любой другой адрес в любой момент времени.
Айпи адреса бывают внешние и внутренние. Вот так когда-то давно договорились что определённые пулы адресов будут только внутренними. Пул - набор адресов от и до какого-то номера.
Внешние адреса - те, на которых "построен" Интернет. Каждый из них уникален и не может повторяться или существовать где-то ещё в Интернете.
Внутренние же - адреса для использования в закрытых или выделенных сетях, которые не пересекаются между собой.
октеты в IP адресе
Говоря проще, адрес 8.8.8.8 - один и уникальный, который знает весь мир, и другого такого быть не может.
А адрес 192.168.1.22 - может быть внутренним адресом в домашней сети у каждого из нескольких соседей из разных квартир, потому что у каждого в квартире своя отдельная сеть. Как правило, все адреса формата 192.168.Х.Х, 172.Х.Х.Х, 10.Х.Х.Х являются зарезервированными пулами адресов для внутреннего использования.
IP адреса так же делятся на статические и динамические.
Статические настраиваются либо на самом устройстве, либо привязываются к его физическому (МАК) адресу в настройках сервера раздающего адреса в сети (DHCP).
Динамические же выдаются устройству каждый раз по принципу лотереи, из пула свободных адресов.
При
подключении к Интернет, провайдер чаще всего выдаёт динамический
внешний IP. Как правило, за дополнительную плату можно приобрести
статический внешний адрес, который будет привязан к учётной записи у
провайдера.
MAC адрес.
Адреса устройств бывают не только виртуальные, но и физические. Последние называются МАК (на английском МАС) адресами. Это собственно то оригинальное имя устройства, по которому его опознают другие устройства в сети. А точнее, адрес сетевой карты.
Он состоит из представленной в 16ричной системе имени производителя, и идентификационного номера самого устройства. Физический мак адрес внутри одной локальной сети крайне желательно чтобы был уникальным, иначе это может вызвать конфликт служб и устройств. Например в случае с ноутбуками мак адрес есть у каждой сетевой карты, проводной и беспроводной, но не у компьютера. Так же мак адреса есть у всех сетевых карт телефонов, планшетов, принтеров и т.д.
DHCP.
Адреса внутри сети могут быть назначены вручную, а могут и назначаться специальной службой - DHCP (Dynamic Host Configuration Protocol). Эта служба замечает и запоминает MAC адрес каждого устройства, и присваивает ему определённый айпи адрес.
Айпи адреса выдаются устройству на определённое время, этот период времени называется lease time. Если устройство находится в сети в момент когда приходит пора обновить айпи, то с большой долей вероятности оно получит заново тот же адрес на новый промежуток времени. Если на момент истечения срока давности, устройство не находилось в сети, то его адрес выходит в некий блок свободных адресов, из которого этот же адрес может быть присвоен другому устройству.Так же есть возможность резервировать айпи адреса, указывать ди эйч си пи серверу что вот такому мак адресу всегда надо давать определённый айпи.
Кроме того, можно сужать пул DHCP. Например, стандартная домашняя сеть может иметь теоретически 253 устройства: адресное пространство 192.168.1.1-254 (255 уходит на широковещательный канал), и минус один адрес для самого DHCP. То в настройках сервера можно указать что пулом свободных (dhcp) адресов будут адреса с четвёртым октетом от 100 до 150.
DNS.
Служба доменных имён, Domain Name System.
Машины говорят между собой на языке цифр, но человеку привычнее запоминать имена. Именно это и стало поводом для появления этой службы. Она занимается тем, что составляет таблицу соответствий айпи адресов и имён компьютеров или сайтов в интернете или домашней сети.
Когда мы пытаемся в первый раз зайти с компьютера на какой либо сайт в сети, то компьютер ищет его айпи адрес в своей таблице адресов, и если не находит, то обращается к тому, кто назначен его ДНС сервером. Чаще всего это раутер. Если раутер так же не находит нужного соответствия в своей таблице, то он опрашивает тот днс сервер, который указан в его настройках, или получен автоматически от провайдера в момент соединения. Т.е. днс провайдера. Если и у него не оказывается нужной информации, то запрос может идти дальше по цепочке вплоть до главных днс узлов.
Что же касается домашней локальной сети, то в ней DNS сервер запоминает соответствия имён устройств и их IP адресов.
DNS name & FQDN
FQDN (Fully Qualified Doman Name) - Полное уникальное доменное имя, которое указывает на конкретное местоположение ресурса в сети. Оно включает имя хоста и его доменное имя верхнего уровня. Например, в локальной сети, FQDN обычно включает имя хоста и имя домена, который применяется внутри вашей сети. Например, "mydesktop.localnet" или "mydesktop.mycompany".
DNS Name - Имя компьютера в локальной сети: Это просто имя хоста, которое назначено устройству в локальной сети. Например, можно дать компьютеру имя "mydesktop". Это имя будет использоваться внутри текущей локальной сети для идентификации устройства. Однако такое имя не обязательно уникально в глобальном масштабе, и его может использовать множество компьютеров в разных сетях.
В случае, когда в локальной сети отсутствует доменное имя и используются только имена компьютеров, DNS-имя в этом контексте может считаться одновременно и FQDN. Т.к. имена компьютеров обычно выступают как уникальные идентификаторы для устройств в этой сети. Эти имена могут использоваться для доступа к устройствам внутри сети, но они не имеют глобальной уникальности, как FQDN в интернете и не имеют полной структуры FQDN. Однако в данном контексте их можно рассматривать как FQDN, так как нет домена верхнего уровня для отличия.
Пример: Если имя компьютера в локальной сети - "mydesktop", то в этой сети можно считать его DNS-именем и одновременно FQDN. Но за пределами этой сети оно не будет иметь такой же уникальности, как настоящий FQDN в интернете.
Теперь становится понятно почему не стоит давать одинаковые имена устройствам в одной сети.
Порты.
Каждый вид или тип подключения в сети происходит через определённую "дверь". В каждой системе количество таких "дверей" более 65000. Большая часть из них стандартизирована и каждый номер принято использовать для определённых целей.
Например сайты "слушают" входящие подключения на 80 порту. Безопасное соединение с сайтом по протоколу HTTPS использует по умолчанию порт 443.
Когда мы хотим куда-то подключиться, то надо знать не только адрес, но и порт через который будет происходить соединение.
Firewall.
Или как его иногда могут называть - брандмауэр.
Программа работающая на отдельно взятом компьютере или сетевом устройстве, через которую проходит весь сетевой трафик. И в которой настроены правила откуда и куда можно пропускать трафик, а откуда и куда нельзя.
Router. NAT.
Или же маршрутизатор, название говорит само за себя. Устройство позволяющее перенаправлять маршруты в сети.
Когда из дома мы подключаемся к интернету, то раутер получает от провайдера определённый айпи. Это внешний адрес, по которому другие устройства в глобальной сети могут с ним связываться.
На сегодняшний день все домашние раутеры содержат в себе программные DHCP и DNS серверы, и фаерволы разной степени сложности и надёжности. Благодаря этому набору функций, раутер может делать так называемую трансляцию сетевых адресов - Network Address Translation. Это когда с одной стороны у него есть домашняя сеть и адресным пространством 192.168.1.Х, а с другой - всего лишь один внешний айпи, через который выходят наружу все внутренние устройства. И этот механизм способен "помечать" пакеты с информацией, идущие, например, от ноутбука1 на сайт гугла, чтобы вернуть ответ обратно на этот ноутбук. Цена и возможности раутера прямо пропорциональны. Чем быстрее процессор и больше памяти, тем больше запросов за меньшее время он сможет обрабатывать и хранить в своих таблицах, а значит обслуживать большее количество клиентских устройств.
Открытие (пробрасывание) портов.
Как уже было сказано выше, каждый сервис работает на своём порту. Например если дома есть 2 компьютера и несколько смартфонов и планшетов, и на одном из компьютеров был поднят веб сервер, на котором работает какой-то сайт, то зайдя в браузере с любого из устройств на адрес того компа, мы попадём на страничку сайта.
Однако что делать, если хочется показать этот сайт другу, чтобы он зашёл на него со своего любимого браузера и оценил как выглядит сайт на его мониторе?
Для этого необходимо в настройках фаервола на раутере создать правило, которое будет говорить примерно следующее: все входящие внешние соединения обращённые ко мне на порт ХХХ переводить на внутренний айпи УУУ, на порт 80.
Сообщаем другу свой внешний адрес и номер внешнего порта набрав которые, он, в своём браузере сидя у себя дома хоть на другом краю глобуса, сможет увидеть ту самую страничку домашнего сайта.
Прямое открытие портов не самый лучший способ в плане безопасности, особенно если в фаерволе нет настройки откуда запрещать или разрешать соединения.
Ping.
Простейшая команда для проверки связи между двумя узлами в сети.
Одно устройство посылает "привет" другому устройству, и засекает время за которое приходит ответный "привет".
Время, за которое приходит ответ называется временем отклика. Если на целевом устройстве или на фаерволе находящемся перед ним, закрыты порты на которых работает эта команда, то устройство отправившее первичный запрос выдаст ответ что время ожидания истекло или заданный узел недоступен. Поэтому далеко не всегда отсутствие ответа от целевого устройства означает что оно отключено от сети, или находится в выключеном состоянии.
Доменные имена в Интернет.
Хоть это относится и не совсем к домашним сетям, однако для общего ознакомления решено добавить и этот раздел.
Итак, все привыкли писать в браузере какой-либо адрес и попадать на страничку набранного сайта. Как это работает и что за этим стоит?
Для начала определимся с тем, что такое сайт. Это совокупность адреса и места хранениня, на который этот адрес указывает. В месте хранения лежит сам код сайта, его картинки, скрипты и прочее. У этого места хранения как правило есть только IP адрес. Такое место называют хостингом.
А вот адрес, по которому все заходят на сайт как раз и является его доменным именем. И уже к нему на DNS сервере регистратора (место где был куплен или управляется адрес) привязано правило: при обращении к этому адресу по протоколу HTTPS или HTTP, с буквами WWW или без них - перевести соединение на такой-то IP. И тогда с хостинга в компьютер подгружется код сайта с картинками и браузер интерпретирует это в нужный вид.
Однако не всегда за названием или именем в интернете может стоять сайт.
В DNS записях доменного имени может быть и ничего не указано на случай захода на сайт браузером. Однако могут существовать так называемые МХ (эм икс) записи. Они отвечают за перенаправление на почтовый сервер.
Говоря проще, можно проверить свободно ли доменное имя chto-to-tam.com. И если да, то совсем не обязательно что будет открываться сайт по этому адресу. Вполне вероятно что этот домен используется например для электронной почты, и отправив письмо на условный адрес kto-to@chto-to-tam.com, оно дойдёт до адресата. Вероятна и обратная ситуация, когда у фирмы есть сайт, а вот адрес электронной почты по каким-то соображениям они используют другой.
Когда есть свой домен и есть возможность им управлять, то можно создавать поддомены, и направлять их на разные адреса.
Например 123.chto-to-tam.com будет открывать один сайт, находящийся на одном хостинге, 456.chto-to-tam.com будет открывать другой сайт с совсем другого места.
Как это всё вместе работает?
Допустим есть компютер, получающий от своего DHCP сервера IP адрес 192.168.1.2 .
Имя компютера - Server1.local.
Ему выдан статический IP адрес, на основе привязки его мак адреса.
На сервере запущен веб сайт с какой-либо страничкой.
Это значит что другие компьютеры, внутри этой же локальной сети, могут пинговать сервер как по имени так и по айпи.
И с любого устройства в локальной сети можно зайти в браузере на http://Server1.local или http://192.168.1.2 и увидеть ту самую страничку.
Этот компютер подключен к раутеру, внешний интерфейс которого, имеет динамический айпи выданный провайдером. Например 12.34.56.78.
На раутере включен фаервол, закрыты все порты, но пинги он пропускает.
Это значит что при проверке из интернета, адрес 12.34.56.78 будет отвечать, но это не гарантирует работу сайта. Так же как пинг на 192.168.1.2 не будет срабатывать, т.к. это адрес для внутреннего использования.
Так же, есть доменное имя myhomewebserver1.com, интернет запись которого указывает на внешний IP адрес 12.34.56.78 .
Поэтому, если пинговать из интернета доменное имя, то ответ будет получен. Но это опять не означает что сайт действительно работает.
К тому же, при попытке зайти на сайт по адресу (имени), будет получена ошибка, т.к. администратор всего этого дела забыл открыть порт на раутере.
Полезные советы.
Исходя из всего вышесказанного можно сделать несколько выводов для грамотной работы домашней сети:
- Во первых, определиться с пулом динамических внутренних адресов.
Из него будут выдаваться IP устройствам которые иногда подключаются в домашнюю сеть. Например для гостей, друзей и т.д.
- Во вторых, определиться с раздачей статических адресов всем домашним устройствам. Желательно делать это по группам.
Например: если раутер имеет адрес 192.168.1.1 и это устройство в первую очередь подключенное по кабелю, то всем остальным устройствам имеющим такой же тип подключения, дать адреса из первой десятки или двадцатки адресов ( в зависимости от количества устройств) - 192.168.1.2-192.168.1.10. Беспроводным устройствам выделить следующий пул адресов, например с 11 по 20. Для виртуальных/физических серверов тоже ввести своё раграничение. По нужному десятку легче запоминать адреса во внутренней сети, какому типу устройств он принадлежит. Так же, стоит оставлять несколько свободнях адресов в каждой такой группе, на случай увеличения количества подобных устройств
- Использовать DHCP раутера или отдельного сервера в сети, а не настраивать адреса вручную на самих устройствах.
Допустим в данный момент используется раутер, у которого по умолчанию внутренняя сеть получает адреса вида 10.0.0.Х и пользователь продолжая работать на этих адресах настроил на каждом устройстве сети статический адрес из этого диапазона. При смене этого раутера на другой, очень велика вероятность что у нового будет другой диапазон внутренних адресов. Например 192.168.1.Х. И тогда получится ситуация что не смотря на то, что все устройства физически хоть и подключены в сеть, однако не видят ни её ни друг друга. Если устройства получают адреса динамически, то при смене раутера они и сеть продолжат функционировать, надо будет только настроить правильную раздачу адресов.
- Убедиться что фаервол на раутере включен.
Далеко не во всех моделях базовый фаервол находится во включенном состоянии. Даже простой уровень защиты дешёвого раутера лучше чем вообще никакой.
- Избегать открытия портов из Интернета в домашнюю сеть.
Любой открытый порт снаружи внутрь, это лазейка для ботов или хакеров в обход всей защиты. Открывать порты стоит либо только на определённый внешний адрес, если это позволяет раутер, чтобы принимать соединения только от него. Либо использовать VPN, PROXY туннели или другие технологии, позволяющие избежать этой процедуры.
Комментарии
Отправить комментарий