Управление сетью
Материал из Mandriva Russian Community Wiki
Если вы хотите внести свой вклад, просто нажмите на вкладку править . Посмотрите другие страницы для улучшения и поддержки.
Управление сетью в Mandriva GNU\Linux производится при помощи как графических приложений, так и консольных. Но в любом случае все операции с сетью происходят через административные скрипты, расположенные в директории /etc/sysconfig/network-scripts.
Содержание |
Структура и процесс управления сетью.
При включении какого-либо соединения, происходит запуск административного скрипта ifup с параметрами включаемого интерфейса, например:
ifup — осуществляет запуск выбранного соединения. Параметры запуска: ifup <интерфейс>
ifdown — осуществляет остановку выбранного соединения. Параметры запуска: ifdown <интерфейс>
Что же на самом деле происходит при запуске или остановке сетевых интерфейсов? На самом деле при запуске или остановке сетевых интерфейсов в ход вступают административные скрипты, отвечающие за последующие шаги. Чтобы понять все шаги, необходимо посмотреть на директорию, где расположены те самые административные скрипты, отвечающие за порядок действий при включении или отключении соединения.
В директории /etc/sysconfig/network-scripts мы сможем увидеть множество разных скриптов:
ifup-* — отвечают за включение соответствующего интерфейса
ifdown-* — отвечают за отключение соответствующего интерфейса
ifcfg-* — отвечают за настройки соответствующего интерфейса
Теперь же рассмотрим подробнее в какой последовательности происходит включение и отключение сетевых интерфейсов.
Включение сетевых интерфейсов.
При включении сетевого интерфейса, как уже было сказано ранее, запускается административный скрипт ifup. Входе работы данного скрипта происходит:
- проверка переданных ему параметров. В случае если он запустился без параметров, либо ему был передан не верный параметр, он выводит соответствующее сообщение об ошибке.
- Проверяет от чьего имени был запущен скрипт. В случае запуска скрипта не от имени root, скрипт проверяет возможность управления данным интерфейсом от имени обычного пользователем. Если пользователь не имеет права управлять этим интерфейсом, то программа прекращает выполнение с выводом соответствующего сообщения об ошибке.
- Проверяются другие параметры поднимаемого интерфейса, при обнаружении каких-либо ошибок, либо при невозможности выполнить какие-либо требуемые действия для настройки используемого интерфейса, программа прекращает свое выполнение с выводом соответствующего сообщения об ошибке.
- Проверяется наличие файла /sbin/ifup-pre-local и в случае его обнаружения, происходит его запуск с передачей ему параметров сетевого интерфейса.
- Ищется стартовый скрипт используемого интерфейса /etc/sysconfig/network-scripts/ifup-<тип интерфейса>, в случае его отсутствия инициируется запуск основного скрипта /etc/sysconfig/network-scripts/ifup-eth
Типы сетевых интерфейсов и соответствующий ему скрипт включения, в каком пакете размещен:
| Тип интерфейса | Скрипт | Пакет |
| Ethernet | /etc/sysconfig/network-scripts/ifup-eth | initscripts |
| CIPE | /etc/sysconfig/network-scripts/ifup-cipcb | |
| IPSEC | /etc/sysconfig/network-scripts/ifup-ipsec | |
| Modem | /etc/sysconfig/network-scripts/ifup-ppp | initscripts |
| xDSL | /etc/sysconfig/network-scripts/ifup-ppp | initscripts |
| ISDN | /etc/sysconfig/network-scripts/ifup-ippp | isdn4net, isdn-light |
| Wireless | /etc/sysconfig/network-scripts/ifup-eth | initscripts |
| Token Ring | /etc/sysconfig/network-scripts/ifup-eth | initscripts |
| CTC | /etc/sysconfig/network-scripts/ifup-ctc | |
| IUCV | /etc/sysconfig/network-scripts/ifup-iucv | |
| GRE,IPIP | /etc/sysconfig/network-scripts/ifup-tunnel | initscripts |
| SIT | /etc/sysconfig/network-scripts/ifup-sit | initscripts |
Включение Ethernet, Wireless, Token Ring, DVB соединения
При включении Ethernet, Wireless, Token Ring, DVB соединения программа ifup стартует скрипт /etc/sysconfig/network-scripts/ifup-eth с передачей ему необходимых параметров: имя файла с описанием конфигурации интерфейса, дополнительные параметры, переданные программе ifup.
Рассмотрим действия скрипта /etc/sysconfig/network-scripts/ifup-eth:
- Загружаются настройки сетевого интерфейса
- Загружаются модули сетевого устройства, если еще не загружены
- Если в конфигурации указан MAC-адрес, то применяются его настройки
- Если тип был установлен как «Мост» (Bridge), применяются параметры
- Проверяется доступность интерфейса
- Если интерфейс является беспроводной сетью, применяются настройки беспроводной сети:
- При нахождении настроек беспроводной сети в каталоге wireless.d/ загружается файл конфигурации (имя конфигурационного файла соответствует SID)
- Запускается скрипт настройки беспроводной сети ifup-wireless
- Если интерфейс является DVB-карта, применяются его настройки
- Если в конфигурации установлены параметры поддержки протокола ATMARP, применяются его параметры (параметр ATM_ADDR должен содержать в себе VCI.VPI)
- Если интерфейс получает динамический адрес, производится настройка и получение адреса
- Если Zeroconf не отключен, устанавливается маршрут для него
- Если используется IPv6, запускается скрипт настройки ifup-ipv6
- Проверяются и устанавливаются настройки сети IPv6
- Если имеется файл статических маршрутов для сети IPv6 (/etc/sysconfig/static-routes-ipv6) для данного интерфейса, то применяются настройки маршрутов.
- В соответствии с новым стилем применения настроек статических маршрутов, применяются статические маршруты из файла /etc/sysconfig/network-scripts/route6-<интерфейс>, где прописываются правила маршрутизации по правилам программы ip
- Если сеть имеется параметр IPX, то запускается скрипт ifup-ipx
- Запускается скрипт ifup-post
- Если интерфейс не является «псевдонимом» (alias), то выполняется скрипт управления псевдонимами сетевого интерфейса ifup-aliases
- Запускается скрипт маршрутизации пакетов ifup-routes
- Загружаются файлы настройки маршрутизации пакетов: /etc/sysconfig/network-scripts/route-<реальное имя устройства> и /etc/sysconfig/network-scripts/route-<имя устройства>
- Загружаются файлы настройки маршрутизации пакетов в фаормате Red Hat /etc/sysconfig/network-scripts/<устройство>-route
- Загружаются файлы настройки правил маршрутизации пакетов /etc/sysconfig/network-scripts/rule-<реальное имя устройства> и /etc/sysconfig/network-scripts/rule-<имя устройства>
- Установка параметров DNS, заполняется файл /etc/resolv.conf
- Запускаются поочередно все скрипты из директории /etc/sysconfig/network-scripts/ifup.d с передачей параметра им «сетевое устройство»
Включение PPP соединения
При включении PPP соединения программа ifup стартует скрипт /etc/sysconfig/network-scripts/ifup-ppp с передачей ему необходимых параметров: имя файла с описанием конфигурации интерфейса, дополнительные параметры, переданные программе ifup.
Рассмотрим действия скрипта /etc/sysconfig/network-scripts/ifup-ppp:
- Загружаются параметры конфигурации.
- Проверяется режим запуска скрипта (во время старта системы или нет). В случае запуска скрипта во время старта системы, а в конфигурационном файле указано не включать соединение при старте, то скрипт прекращает свое выполнение.
- Проверяется существование программ /sbin/pppd или /usr/sbin/pppd. При отсутствии обeих - программа прекращает свое выполнение с выводом соответствующего сообщения.
- Если тип соединения - xDSL, то проверяется существование программы /sbin/adsl-start или /usr/sbin/adsl-start. В случае их существования - найденная программа запускается, а скрипт прекращает свое выполнение с выводом ошибки выполнения программа adsl-start, в противном случае скрипт прекращает свое выполнение с выводом соответствующего сообщения об ошибке.
- Проверяется существование файла /etc/ppp/peers/<имя устройства>. Если файла нет:
- Проверяется параметры выбора программы "набора" (wvdial):в случае выбора wvdial - проверяется существование файла /etc/sysconfig/network-scripts/chat-<имя устройства>. В случае его отсутствия, скрипт прекращает свою работу.
- Выводится сообщение о создании нового файла /etc/ppp/peers/<имя устройства>.
- При существовании файла /etc/ppp/peers/<устройство>, этот файл копируется на место файла /etc/ppp/peers/<имя устройства> либо создается пустой файл /etc/ppp/peers/<имя устройства>.
- Файл /etc/ppp/peers/<имя устройства> заполняется соответствующим содержимым в зависимости от программы "набора"
- Подготавливаются дополнительные параметр включения PPP соединения в зависимости от парамметров конфигурационного файла
- При установке параметра DEFROUTE в состояние yes - производится сохранение маршрута по-умолчанию в файл /etc/default-routes, а затем удаление его из таблицы маршрутизации.
- При установке параметра PEERDNS в состояние yes - производится копирование текущего файла /etc/resolv.conf в файл /etc/resolv.conf.save
- Если соединение включается в режиме "демона" - запускается скрипт маршрутизации пакетов /etc/sysconfig/network-scripts/ifup-routes

