
- •Сетевой уровень
- •Пример 2.5. Просмотр параметров сетевых интерфейсов (ifconfig)
- •Маршрутизация
- •Пример 2.6. Вывод таблицы маршрутизации (route)
- •Служебный протокол icmp
- •Пример 2.7. Пример выполнения команды traceroute
- •Информация о соединениях
- •Пример 2.8. Пример выполнения команды netstat
- •Удалённый терминал
- •Концепции iptables
Удалённый терминал
Презентация 6-10: удалённый терминал
Концепция терминала, описанная в главе «Терминал», может быть расширена с учетом подключения к локальной и глобальной сети. Действительно, было бы удобно получить доступ к удалённой машине и работать с ней как за обычными монитором и клавиатурой. Отпадает необходимость иметь аппаратный терминал к каждому компьютеру, можно получить терминал на одном компьютере, затем получить доступ к удаленному терминалу по сети на любой другой компьютер. В современных условиях повсеместного распространения сети Internet удалённые терминалы становятся основным рабочим инструментом администратора системы.
В сетях TCP/IP существует несколько приложений, предоставляющих доступ к системе посредством удаленного терминала. Рассмотрим два из них: telnet и ssh. Оба построены по единому клиент-серверному принципу.
Telnet — стандартное приложение, которое присутствует практически в каждой реализации TCP/IP. Оно может быть использовано для связи между узлами, работающими под управлением различных операционных систем. Telnet использует согласование настроек клиента и сервера, чтобы определить характеристики системы с той и с другой стороны.
Клиент telnet взаимодействует и с пользователем, находящимся за терминалом, и с протоколами TCP/IP. Обычно все, что пользователь вводит с клавиатуры, отправляется по TCP-соединению, а все, что приходит по соединению, выводится на терминал.
Сервер telnet обычно взаимодействует с так называемыми псевдотерминальными устройствами в UNIX системах. Это делает его похожим на командный интерпритатор (shell), который запускается на сервере, или на любую программу, которая запускается из командной оболочки, так как они аналогичным образом взаимодействуют с терминальными устройствами.
Клиент telnet имеет еще одно полезное применение. С его помощью можно тестировать стандартные сетевые протоколы — если в качестве порта назначения указать порт соответствующего приложения. Telnet пересылает текстовые строки, разделённые знаками переноса строки, что делает его совместимым со многими протоколами Internel (SMTP, HTTP и т. п.).
Программа telnet обладает значительным недостатком — вся передаваемая информация (в том числе аутентификация пользователей) пересылается открытым текстом. В современных условиях глобальной сети это уже небезопасно. Эту проблемы решает программа ssh, которая предоставляет функциональность, аналогичную telnet, но при этом устанавливает защищённое соединение, в котором все передаваемые данные зашифрованы.
В настоящее время для удалённого администрирования серверов в Internet повсеместно применяется ssh.
Прокси-серверы
Прокси-сервер — специальная служба, расположенная между локальной сетью и Internet, которая обеспечивает доступ в Internet по протоколам прикладного уровня (HTTP, FTP и т. п.) для всех узлов локальной сети. Такой сервер может поддерживать аутентификацию пользователей, учёт и фильтрацию трафика.
Недостатком такой схемы является то, что клиент в локальной сети должен явным образом устанавливать соединение с прокси-сервером для запроса к удаленному узлу в Internet.
Межсетевой экран
Презентация 6-11: межсетевой экран iptables
В UNIX существует мощный механизм анализа сетевых и транспортных пакетов, позволяющий избавляться от нежелательной сетевой активности, манипулировать потоками данных и даже преобразовывать служебную информацию в них. Обычно такие средства носят название firewall («fire wall» — противопожарная стена, брандмауэр), общепринятый русский термин — межсетевой экран.
В различных версиях UNIX функциональность и управление межсетевым экраном может значительно различаться. В семействе операционных систем BSD используются программы ipfw и pf. В данном курсе будет рассматриваться приложение iptables, которое используется для организации межсетевого экрана в Linux.