Безопасность и оптимизация Linux.Редакция для Red Hat

       

Файлы связанные с функционированием сети.


В Linux, TCP/IP сеть настраивается через несколько текстовых файлов, которые вы можете редактировать, чтобы заставить вашу сеть работать. Очень важно знать все конфигурационные файлы, связанные с TCP/IP, так чтобы вы могли редактировать их в случае необходимости. Помните, что ваш сервер не имеет Xwindow интерфейса для настройки этих файлов. Даже если вы используете графический пользовательский интерфейс в своей повседневной работе, важно знать как конфигурировать сеть в текстовом режиме. Следующие секции описывают базовые конфигурационные файлы TCP/IP.
Файл "/etc/HOSTNAME".

В этом файле хранится полное доменное имя вашего компьютера, например, deep.openna.com. Ниже приведен пример содержимого этого файла:
deep.openna.com

Файл "/etc/sysconfig/network-scripts/ifcfg-ethN".

Конфигурационный файл для каждого сетевого устройства, которое существует или вы планируете добавить (в Red Hat 6.1 и 6.2) находится в каталоге "/etc/sysconfig/network- scripts/" и называется ifcfg-eth0 для первого интерфейса, ifcfg-eth1 для второго и т.д. Ниже приведен пример конфигурационного файла "/etc/sysconfig/network-scripts/ifcfg- eth0":
DEVICE=eth0


IPADDR=208.164.186.1


NETMASK=255.255.255.0


NETWORK=208.164.186.0


BROADCAST=208.164.186.255


ONBOOT=yes


BOOTPROTO=none


USERCTL=no

Если вы хотите модифицировать ваши сетевые адреса вручную или добавить новое устройство на новом интерфейсе, редактируйте этот файл (ifcfg-ethN), или создайте новый, и внесите в него соответствующие изменения.

DEVICE=devicename, где devicename имя физического сетевого устройства. IPADDR=ipaddr, где ipaddr IP адрес.
NETMASK=netmask, где netmask сетевая IP маска.
NETWORK=network, где network IP адрес сети.
BROADCAST=broadcast, где broadcast широковещательный IP адрес.
ONBOOT=answer, где answer это yes или no (Будет ли интерфейс активным во время загрузки или нет).
BOOTPROTO=proto, где proto одно из:

    none – не использовать протоколов времени загрузки.



    bootp – использовать протокол bootp (сейчас pump).


    dhcp - использовать dhcp протокол.

    USERCTL=answer, где answer одно из:


      yes ( Не только пользователь root может контролировать это устройство).

      no (Только пользователь root может контролировать это устройство).

      Файл "/etc/resolv.conf".

      Этот еще одни текстовый файл, используемый определителем (resolver) – библиотекой, которая определяет IP адрес по имени.

      Пример этого файла:
      search openna.com

      nameserver 208.164.186.1

      nameserver 208.164.186.2

      Замечание. Запросы посылаются на сервера имен в порядке перечисления в файле "/etc/resolv.conf" (primary, secondary и т.д).

      Файл "/etc/host.conf".

      Этот файл устанавливает как определяются имена. Linux использует библиотеку определителей для получения IP адреса по имени.

      Пример этого файла:
      # Поиск имени сперва через DNS а затем, в случае ошибки, в файле /etc/hosts.

      order bind,hosts

      # У нас есть машины с несколькими адресами.

      multi on

      # Проверять подмену IP адресов (IP spoofing).

      nospoof on

      Опция order используется для определения порядка использования сервисов. В примере установлено, что вначале библиотека определителя обращается к DNS серверу, а затем к файлу "/etc/hosts".
      Опция multi говорит, что компьютеры, описанные в файле /etc/hosts, могут иметь несколько IP адресов (несколько интерфейсов ethN). Например, шлюз всегда имеет несколько адресов и у них эта опция должна быть всегда определена в ON.
      Опция nospoof не разрешать подмену адресов. IP-Spoofing – это способ атаки при котором удаленный компьютер представляется кем-то, кем он не является на самом деле.

      Файл "/etc/sysconfig/network".

      Файл "/etc/sysconfig/network" описывает желательную сетевую конфигурацию сервера.

      Пример этого файла:
      NETWORKING=yes

      FORWARD_IPV4=yes

      HOSTNAME=deep. openna.com

      GATEWAY=0.0.0.0

      GATEWAYDEV=

      NETWORKING=answer, где answer это yes или no (Настраивать сеть или нет).
      FORWARD_IPV4=answer, где answer это yes или no (Выполнять IP маршрутизацию или нет).
      HOSTNAME=hostname, где hostname это имя вашего сервера.
      GATEWAY=gwip, где gwip это IP адрес удаленного маршрутизатора (если доступен).
      GATEWAYDEV=gwdev, где gwdev имя устройства (eth#) через которое вы имеете доступ к удаленному маршрутизатору.

      Замечание. Для совместимости со старым программным файл /etc/HOSTNAME должен содержать тоже имя, что и HOSTNAME= hostname. В новой версии Red Hat Linux 6.2 параметр "FORWARD_IPV4=" определяется в файле "/etc/sysctl.conf" вместо "/etc/sysconfig/network".

      Файл "/etc/sysctl.conf".



      В Red Hat Linux 6. 2 многие опции ядра связанные с сетевой безопасностью такие как сбрасывать ли пакеты, которые приходят для другого интерфейса, или игнорировать ping/широковещательные запросы и т.д., могут быть определены в новом файле "/etc/sysctl.conf" вместо"/etc/rc.d/rc.local". Одним из самых важных параметров, задаваемых в этом файле это IPv4 forwarding, который сейчас включается программой sysctl. sysctl настройки хранятся в файле "/etc/sysctl.conf", который обрабатывается при каждой загрузке системы перед скриптом "/etc/rc.d/rc.local". Мы уже говорили обо всех сетевых настройках связанных с безопасностью в главе 3 , поэтому сейчас сконцентрируемся только на опции ядра IPv4 forwarding. Для включения маршрутизации в Red Hat 6.2 используйте следующую команду.

      Редактируйте файл "/etc/sysctl.conf" и добавьте следующие строки:
      # Enable packet forwarding

      net.ipv4.ip_forward = 1

      Вы должны перезагрузить ваши сетевые настройки, чтобы изменения вступили в силу: [root@deep /]# /etc/rc.d/init.d/network restart Setting network parameters [ OK ] Bringing up interface lo                [ OK ] Bringing up interface eth0              [ OK ] Bringing up interface eth1              [ OK ]

      ЗАМЕЧАНИЕ. Включение маршрутизации через файл "sysctl.conf" работает только для Red Hat 6.2. Пользователям Red Hat 6.1 нужно устанавливать этот параметр через "/etc/sysconfig/network", как это было описано выше.

      Файл "/etc/hosts".

      Когда вы включаете компьютер, необходимо знать карту соответствия IP адресов и имен некоторых машин, пока DNS сервер не отвечает. Эта карта хранится в файле "/etc/hosts". При отсутствии сервера имен все программы будут узнавать у этого файла какой IP адрес отвечает на определенное имя.

      Ниже приводится пример файла "/etc/hosts": IP Address              Hostname                        Alias 127.0.0.1               localhost                       deep.openna.com 208.164.186.1           deep.openna.com                 deep 208.164.186.2           mail.openna.com                 mail 208.164.186.3           web.openna.com                  web



      В левой колонке записываются IP адреса, в средней соответствующий им имена машин, а в последней псевдонимы этих компьютеров. Например, адресу 208.164.186.1 соответствует машина deep.openna.com, называемая также deep.

      После окончания настройки этих файлов не забудьте перезагрузить сетевые настройки вашего сервера, чтобы изменения вступили в силу: [root@deep /]# /etc/rc.d/init.d/network restart Setting network parameters      [ OK ] Bringing up interface lo        [ OK ] Bringing up interface eth0      [ OK ] Bringing up interface eth1      [ OK ]

      ВАЖНОЕ ЗАМЕЧАНИЕ. Проблемы таймаута, возникающие при telnet и ftp соединениях, часто связаны с тем, что сервер не может определить IP адрес по DNS имени. Это бывает в двух случаях или не правильно сконфигурирован DNS сервер, или клиентская машина не знает о DNS. Если вы планируете запускать telnet или ftp сервисы на машине, не имеющей DNS сервера, не забудьте добавить имя клиентской машины и ее IP адрес в ваш файл "/etc/hosts", иначе, вы можете ждать несколько минут, пока lookup запрос не завершится по таймауту, до появления запроса "login:"


      Содержание раздела