Файлы связанные с функционированием сети.
В 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:"