Технология
Протокол IP
Настройка протокола IP в Linux может выполняться как с помощью встроенных средств, таких как netconf от RedHat, так и вручную.
Для отображения параметров протокола IP используется команда /sbin/ifconfig. С помощью этой же команды можно настроить устройство или добавить второй ip для карты
Однако в RedHat-системах принято настраивать протокол IP с помощью системы стартовых скриптов на основе файлов настроек:
/etc/sysconfig/network – основной конфигурационный файл сети. В нем описан сам факт использования сети, имя хоста, маршрут по умолчанию и адреса DNS:
bash-2.05b# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=WebMediaGATEWAY=192.168.2.2DNS1=192.168.2.2DNS2=192.168.2.4/etc/sysconfig/network-scripts/ifcfg-<псевдоним устройства> - описывает параметры сетевого устройства:
bash-2.05b# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesIPADDR=192.168.2.31NETMASK=255.255.255.0NETWORK=192.168.2.0BROADCAST=192.168.2.255или, при использовании протокола динамической конфигурации:bash-2.05b# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=dhcpМаршрутизация в интернет построена на данных о IP -подсетях, а также о группах подсетей, принадлежащих крупным магистральным провайдерам. Такие группы адресов называются автономными областями. Маршрутизация может быть статической, на основе заранее созданных человеком маршрутов и динамической, когда маршруты создаются протоколами маршрутизации, такими как RIP (Routing Information Protocol – протокол информации и маршрутизации), OSPF (Open Short Path First – использовать короткий путь сначала), BGP (Border Gateway Protocol – протокол граничного шлюза) и др. Их рассматривать мы не будем. У маршрутизатора есть набор правил, определяющих сетевой интерфейс, на который может быть отправлен пакет в зависимости от адреса получателя, а также маршрут по умолчанию, куда отправляются пакеты, не соответствующие общим правилам, например:
· для сети 192.168.2.0/255.255.255.0 отправить в eth0
· для сети 214.54.0.0/255.255.0.0 отправить в eth1
· маршрут по умолчанию wan0
Таким образом, когда маршрутизатор получит пакет с адресом получателя 192.168.2.31, то он отправит его в интерфейс eth0, а если он получит пакет для 80.92.30.1, то отправит его в интерфейс wan0. Может быть также, что вместо маршрута-устройства задан адрес сетевого шлюза. В этом случае маршрутизация пакетов будет осуществляться с помощью шлюза, а хост, у которого указан шлюз сможет напрямую адресовать только хосты собственной подсети. Совсем другой тип маршрутизации применяется в автономных областях. В этом случае на магистральных развязках пакеты для всех подсетей области отправляются на граничный маршрутизатор области, а он уже выполняет внутриобластную маршрутизацию.
Для настройки статической маршрутизации в Linux используется команда /sbin/route.
[gserg@WebMedia gserg]$ /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default ns.edu.vologda. 0.0.0.0 UG 0 0 0 eth0
Введенная без параметров она показывает таблицу маршрутизации, используемую на ПК/сервере. Использование команды описано подробно в man-странице. Я же приведу несколько примеров:
1) Просмотр установленных маршрутов
bash-2.05b# /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default ns.edu.vologda. 0.0.0.0 UG 0 0 0 eth0
2) Добавление маршрутов
bash-2.05b# /sbin/route add 192.168.1.0 gw 192.168.2.1
bash-2.05b# /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 192.168.2.1 255.255.255.255 UGH 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default ns.edu.vologda. 0.0.0.0 UG 0 0 0 eth0
3)Удаление маршрутов
bash-2.05b# /sbin/route del 192.168.1.0
bash-2.05b# /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default ns.edu.vologda. 0.0.0.0 UG 0 0 0 eth0
bash-2.05b#_
Для создания маршрутов, которые впоследствии будут использоваться при загрузке Вы можете использовать в RedHat-based системах файл /etc/sysconfig/static-routes:
eth0 net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.4
eth0 net 192.168.1.0 netmask 255.255.255.0 gw 192.168.2.1
Формат файла следующий:
интерфейс пробел параметры_команды _/sbin/route
DNS (Domain Name Service – служба доменных имен) – протокол уровня приложений, позволяющий преобразовывать символьные имена интернет-хостов в IP-адреса.
За настройку DNS отвечают в системе несколько файлов.
/etc/hosts – файл, в котором прописываюся статические имена хостов. Эти имена не передаются по сети и действуют только в пределах данного хоста.
/etc/resolv.conf – файл конфигурации клиентов DNS. Именно в этом файле прописываются адреса серверов DNS, с которыми работают сетевые клиенты.
/etc/named.conf – файл конфигурации сервера BIND. В нем описываются основные параметры сервера, такие как каталоги хранения файлов зон, каталоги журналирования, а также определяются сами зоны DNS и узлы, имеющие право на получение и изменение зон.
Протокол FTP (File Transfer Protocol) – один из старейших в интернет. Это протокол седьмого уровня (уровня приложений) модели OSI, основанный на надежной передаче данных (протоколе TCP, порты 21, 20).
За настройку сервера отвечают несколько файлов:
/etc/vsftpd.busy_banner – файл, в котором записывается сообщение, выдаваемое клиенту, когда сервер не может ответить на запрос.
/etc/vsftpd.ftpusers – содержит список пользователей, которым запрещен доступ по ftp. Как правило этот файл содержит список критически важных для системы пользователей, таких как root, bin, lpd и другие.
/etc/vsftpd.user_list – список пользователей, значение которого меняется в зависимости от того, как установлен параметр userlist_deny в основном файле конфигурации. Если Этот параметр установлен в NO, то на FTP смогут попасть только пользователи, указанные в этом файле, если в YES, то все, кроме этих пользователей. Нужно иметь в виду, что если пользователь запрещен в файле /etc/vsftpd.ftpusers, то он не сможет иметь доступ, даже будучи разрешенным в этом файле.
/etc/vsftpd/vsftpd.conf -основной файл конфигурации сервера. Рассмотрим его поподробнее:
anonymous_enable=YES – параметр -переключатель, разрешающий или запрещающий доступ к анонимному FTP-каталогу (/var/ftp/pub)
local_enable=YES – если этот параметр стоит в NO, то пользователи той же системы, где запущен сервер, не могут получить к нему доступ.
write_enable=YES – Если этот параметр установлен в NO, то ни один из пользователей не имеет права закачать файлы на FTP-ресурс.
local_umask=022 – Определяет права доступа к файлам для всех пользователей, кроме anonymous.
anon_upload_enable=YES – Если параметр установлен в YES, то анонимные пользователи могут изменять существующие в каталоге /var/ftp/pub файлы.
anon_mkdir_write_enable=YES – Позволяет анонимным пользователям закачивать файлы на FTP-ресурс и создавать каталоги.
dirmessage_enable=YES – Если параметр включен, то FTP-сервер будет выдавать сообщение из файла при переходе в каталог. Это сообщение может содержаться в файле с именем .message внутри каталога, однако имя файла может быть дополнительно указано с помощью опции message_file.
xferlog_enable=YES – разрешает серверу записывать журнал с именами переданных файлов. По умолчанию, журнал пишется в /var/log/vsftpd.log, однако имя файла может быть дополнительно указано опцией xferlog_file. Формат файла может быть указан стандарной (YES) или нестандартной опцией xferlog_std_format.
connect_from_port_20=YES – позволяет использовать для передачи данных 20-й порт.
chown_uploads=YES – изменяет владельца файла, закачанного анонимным пользователем на того, который указан в параметреchown_username.
idle_session_timeout – указывает время в секундах, через которое будет разорвано соединение с клиентом, не выполняющим никаких действий.
data_connection_timeout – указывает время в секундах, через которое будет разорвано соединение в случае перерыва в передаче данных.
Дополнительную информацию по конфигурации этого сервера можно получить в руководстве man (страницы vsftpd, vsftpd.conf).
Протокол HTTP – на сегодняшний день самый распространенный протокол интернет, базирующийся на TCP (порт 80).
Основным файлом конфигурации является httpd.conf, который в RedHat-совместимых системах (в том числе в ASPLinux) расположен в /etc/httpd/conf.
ServerTokens OS – этот параметр позволяет скрыть информацию об используемых модулях.
ServerRoot "/etc/httpd" – указывает на каталог, где расположены конфигурационные файлы, файлы журналов и другая необходимая информация для работы сервера.
Timeout 300 – указывает время в секундах, через которое будет разорвано соединение с клиентом, не проявляющим активности.
KeepAlive Off – разрешает или запрещает поддерживать соединение с клиентом пакетами типа PING-PONG.
Listen 80 – указывает порт (или ip-адрес и порт в формате 192.168.2.2:80) на котором будет функционировать вэб- сервер.
LoadModule – позволяет загрузить и использовать модуль расширения для поддержки дополнительных возможностей у сервера.
User apache, Group apache – параметры указывают пользователя и группу, от имени которого должен будет работать сервер.
ServerAdmin root@localhost – указывает адрес электронной почты администратора сервера, который будет указан на страницах с сообщениями об ошибках.
ServerName hosters.volnet.ru – указывает доменное имя, с которым работает сервер. Если для компьютера доменное имя не определено, в эту позицию вписывается IP-адрес.
DocumentRoot "/var/www/html" – указывает каталог, в котором располагаются документы HTML.
Раздел Directory описывает каталог, в котором расположены документы.
<Directory "/var/www/html"> -начало описания
Options – опции каталога с документами, указываемые через пробел. В качестве опций могут использоваться: Includes – включаемые файлы, FollowSymLinks – переход по символьным ссылкам, SymLinksifOwnerMatch – переход по символьным ссылкам, если владелец совпадает, ExecCGI – выполнять файлы CGI и передавать вывод файлов клиенту и другие.
AllowOverride - позволяет изменять параметры вложенных директорий с помощью файлов .htaccess полностью (All), не изменять (None) или отдельные параметры.
Order – определяет допустимые значения при конфигурации безопасности. Может включать параметры Deny, Allow или то и другое через запятую.
Deny/Allow from all/192.168.3.11 – определяет доступ к каталогу.
</Directory> - закрывает описание каталога.