Инструменты пользователя

Инструменты сайта


network_and_configuration

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

network_and_configuration [2016/01/20 07:49] (текущий)
sander создано
Строка 1: Строка 1:
 +====== Представление о сети и ее конфигурации ======
 +===== Сетевые уровни =====
 +  * **Прикладной уровень.** Содержит «язык»,​ с помощью которого общаются приложения и серверы. Как правило,​ это какой-либо протокол верхнего уровня. Самыми распространенными протоколами прикладного уровня являются:​ HTTP (Hypertext Transfer Protocol, протокол передачи гипертекстовых файлов;​ используется во Всемирной паутине),​ SSL (Secure Socket Layer, протокол защищенных сокетов) и FTP (File Transfer Protocol, протокол передачи файлов). Протоколы прикладного уровня часто могут сочетаться. Так, например,​ протокол SSL обычно используется в соединении с протоколом HTTP.
 +  * **Транспортный уровень.** Определяет характеристики передачи данных для прикладного уровня. Этот уровень содержит проверку целостности данных,​ порты источника и назначения,​ а также спецификации по разбиению данных приложения на пакеты (если прикладной уровень еще не выполнил это). Самыми распространенными протоколами транспортного уровня являются TCP (Transmission Control Protocol, протокол управления передачей) и UDP (User Datagram Protocol, протокол дейтаграмм пользователя). Транспортный уровень иногда также называют уровнем протоколов.
 +  * **Сетевой или интернет-уровень.** Определяет,​ как перемещать пакеты от хоста-источника к хосту-назначению. Частные правила передачи пакетов через Интернет известны как протокол IP (Internet Protocol, интернет-протокол). Поскольку в этой книге речь пойдет только о сети Интернет,​ мы на самом деле будем говорить лишь об интернет-уровне. Тем не менее, так как сетевые уровни задуманы как не зависящие от аппаратных средств,​ можно одновременно настроить несколько независимых сетевых уровней (таких как IP, IPv6, IPX и AppleTalk) на одном хосте.
 +  * **Физический уровень.** Определяет,​ как необработанные данные передаются через физический посредник,​ например сеть Ethernet или модем. Иногда этот уровень называют связывающим уровнем или уровнем «хост-сеть».
  
 +===== Введение в конфигурирование сетевого интерфейса =====
 +
 +Чтобы вручную указать IP-адрес и маску сети для сетевого интерфейса ядра, нужно было выполнить следующее:​
 +<code bash>
 +ifconfig interface address netmask mask
 +</​code>​
 +Указанию шлюза по умолчанию,​ например,​ так:
 +<code bash>
 +route add default gw gw-address
 +</​code>​
 +
 +Добавление и удаление маршрутов вручную.
 +<code bash>
 +route del -net default
 +route add -net 192.168.45.0/​24 gw 10.23.2.44
 +route del -net 192.168.45.0/​24
 +</​code>​
 +===== Менеджеры сетевой конфигурации =====
 +==== Работа менеджера NetworkManager ====
 +
 +<WRAP center round info 80%>
 +**Менеджер NetworkManager** — это демон, который запускается во время загрузки системы. Его задача состоит в прослушивании системных и пользовательских событий с последующим изменением конфигурации сети на основе набора правил.
 +</​WRAP>​
 +==== Разрешение имени хоста ====
 +=== Файл /etc/hosts ===
 +В большинстве систем можно переопределить параметры поиска имен хоста с помощью файла /etc/hosts. Обычно это выглядит так:
 +<code bash>
 +127.0.0.1 localhost
 +10.23.2.3 atlantic.aem7.net atlantic
 +10.23.2.4 pacific.aem7.net pacific
 +</​code>​
 +=== Файл resolv.conf ===
 +Традиционным файлом конфигурации для серверов DNS является файл /​etc/​resolv.conf. Когда все было проще, типичный пример мог выглядеть так (здесь 10.32.45.23 и 10.3.2.3 — это адреса серверов имен у поставщика интернет-услуг):​
 +<code bash>
 +search mydomain.example.com example.com
 +nameserver 10.32.45.23
 +nameserver 10.3.2.3
 +</​code>​
 +=== Файл /​etc/​nsswitch.conf ===
 +Файл /​etc/​nsswitch.conf контролирует параметры старшинства,​ связанные с именами,​ такие как информация о пользователе и пароле. Однако мы будем говорить в данной главе лишь о параметрах DNS. В этом файле должна быть строка,​ подобная следующей:​
 +<code bash>
 +hosts: files dns
 +</​code>​
 +
 +==== Транспортный уровень:​ протоколы TCP, UDP и службы ====
 +=== Порты TCP и соединения ===
 +Показать TCP соединения ​
 +<code bash>
 +$ netstat -nt
 +Active Internet connections (w/o servers)
 +Proto Recv-Q Send-Q Local Address Foreign Address State
 +tcp 0 0 10.23.2.4:​47626 10.194.79.125:​5222 ESTABLISHED
 +tcp 0 0 10.23.2.4:​41475 172.19.52.144:​6667 ESTABLISHED
 +tcp 0 0 10.23.2.4:​57132 192.168.231.135:​22 ESTABLISHED
 +</​code>​
 +=== Номера портов и файл /​etc/​services ===
 +Как узнать,​ является ли порт хорошо известным?​ Однозначно сказать нельзя,​ но начать стоит с просмотра файла /​etc/​services,​ который переводит значения хорошо известных портов в имена. Это простой текстовый файл. Вы можете увидеть в нем записи вроде:
 +<code bash>
 +ssh 22/tcp # SSH Remote Login Protocol
 +smtp 25/tcp
 +domain 53/udp
 +</​code>​
 +
 +==== Настройка Linux в качестве маршрутизатора ====
 +По умолчанию ядро Linux не перемещает автоматически пакеты из одной подсети в другую. Чтобы задействовать эту основную функцию маршрутизации,​ необходимо включить IP-перенаправление в ядре маршрутизатора с помощью такой команды:​
 +<code bash>
 +sysctl -w net.ipv4.ip_forward
 +</​code>​
 +//​*Чтобы это изменение сохранилось после перезагрузки,​ можно добавить его в файл /​etc/​sysctl.conf. В зависимости от версии ОС может быть также вариант размещения в файле /​etc/​sysctl.d,​ чтобы ваши изменения не были перезаписаны при обновлениях системы.//​
network_and_configuration.txt · Последние изменения: 2016/01/20 07:49 — sander