Управление статическими маршрутами
Для управления таблицей статических маршрутов удобно использовать команду route. Если команда отсутствует в системе, нужно установить пакет net-tools. В простейшем случае (без опций и аргументов)
route
выдает список статических маршрутов:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
local * 255.255.255.0 U 0 0 0 eth1
internal * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
link-local * 255.255.0.0 U 1003 0 0 eth1
default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
где:
Destination - сеть назначения;
Gateway - шлюз;
Genmask - маска сети;
Flags - флаги маршрутизации:
U – активен;
H – маршрут для IP адреса (если флаг отсутствует – маршрут для сети);
G – маршрут для шлюза сети;
D - установлена ICMP переадресация (Redirect);
M - изменена ICMP переадресация (Redirect);
! - сеть заблокирована,
C - кеш.
Metric - метрика;
Ref – количество зависимых маршрутов;
Use – количество использований (кеш сокетов не учитывается);
Iface – интерфейс назначения.
Для того, чтобы отключить распознавание имен (полезно при настройке сервера, когда система NS еще не до конца настроена) используется опция -n:
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
Примечание
Статические маршруты созданные командой route не сохраняются при перезагрузке.
Для добавления маршрута используется команда:
route add [-net|-host] [адрес-сети|default] параметры
для удаления маршрута команда:
route del [-net|-host] [ адрес-сети|default] параметры
Параметры разделяются пробелами и могут принимать значения:
- netmask- маска сети
- gw- адрес шлюза (можно указывать IP-адрес локального интерфейса; шлюз к этому моменту д.б. доступен)
- metric- метрика (используется при определение кратчайшего маршрута)
- dev- имя-интерфейса (вручную привязать маршрут к интерфейсу; обычно определяется автоматически по списку всех активных интерфейсов)
Пример:
route add default gw 192.168.0.1
Эта команда определяет в качестве маршрута по умолчанию компьютер с IP адресом 192.168.0.1.
Скрипты управления сетевыми интерфейсами
В каталоге /sbin есть два скрипта для управления сетевыми интерфейсами и статическими маршрутами ifup и ifdown
Команда (скрипт):
ifup <ИНТЕРФЕЙС>
предназначена для активации (поднятия) сетевого интерфейса <ИНТЕРФЕЙС>
Команда (скрипт):
ifdown <ИНТЕРФЕЙС>
предназначена для деактивации (опускания) сетевого интерфейса <ИНТЕРФЕЙС>
Для управления сетевыми интерфейсами, перечисленные команды используют скрипты и файлы с параметрами из каталога:
/etc/network/network-scripts
Примечание
Здесь, под активацией и деактивацией понимается не только присвоение параметров сетевым интерфейсам но и соответствующее изменение статических маршрутов.
Пример.
Определяем параметры интерфейса eth1:
ifconfig eth1
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.29 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::a00:27ff:fe48:14a prefixlen 64 scopeid 0x20<link>
ether 08:00:27:48:01:4a txqueuelen 1000 (Ethernet)
RX packets 293 bytes 32802 (32.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 314 bytes 26464 (25.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
и соответствующие ему статические маршруты:
route|grep eth1
192.168.2.0 0.0.0.0 255.255.255.0 U 100 0 0 eth1
Интерфейс eth1 - активен, деактивируем:
ifdown eth1
Device 'eth1' successfully disconnected.
Определяем параметры интерфейса eth1:
ifconfig eth1
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 08:00:27:48:01:4a txqueuelen 1000 (Ethernet)
RX packets 302 bytes 33822 (33.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 322 bytes 27113 (26.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Смотрим таблицу статических маршрутов:
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.0.2.2 0.0.0.0 UG 100 0 0 eth0
10.0.2.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
Вывод: Команда ifdown eth1 очистила параметры интерфейса и удалила соответствующий ему статический маршрут.
Файлы настроек системы распознавания имен (NS)
Файл /etc/host.conf
Файл задает порядок и правила поиска имен компьютеров в сети. Пример файла:
order bind,hosts
multi on
nospoof on
Опция order используется для определения порядка использования сервисов. В примере установлено, что первым делается запрос к DNS серверу, а затем имя ищется в файле /etc/hosts.
Опция multi разрешает использование нескольких IP адресов для одного имени компьютера в файле /etc/hosts.
Опция nospoof запрещает подмену адресов.
Файл /etc/resolv.conf
Файл определяет параметры обращения к DNS серверам сети. Пример файла:
search example.com
nameserver 172.16.27.2
nameserver 192.168.7.100
Опция search задает перечень доменов в которых осуществляется поиск коротких имен компьютеров сети. Домены перечисляются через пробел.
Примечание
Работает это так: Если клиент пытается найти компьютер с именем name, то сначала (в соответствии с приведенным выше примером) ищется компьютер с полным именем name.example.com и только затем с именем name. Если клиент пытается найти name.example.com, то сначала ищется name.example.com.name.example.com (да это глупо, но вот так это работает) и только затем name.example.com.
Предупреждение
Чем больше перечислено доменов в опции search, тем медленее работант система распознавания имен.
Пример предполагает, что вы находитесь в домене subdomain.your-domain.edu, и ваша машина вероятно называется your-machine.subdomain.your-domain.edu. Строка поиска не должна содержать ваш TLD (Top Level Domain (Домен Верхнего Уровня), edu в нашем случае).
Опция nameserver задает IP адрес DNS сервера. Запросы посылаются на сервера имен в порядке их перечисления в файле /etc/resolv.conf.
Файл /etc/hosts
Файл обеспечивает распознавание имен компьютеров при неработающей службе DNS (например во время загрузки компьютера). При отсутствии в сети сервера DNS все программы распознают компьютеры сети с помощью этого файла. Ниже приводится пример файла /etc/hosts:
127.0.0.1 localhost.localdomain localhost
172.16.27.2 lsrv.example.com lsrv
172.16.27.4 wxp.example.com wxp
172.16.27.1 hsrv.example.com hsrv
В левой колонке записывается IP адрес, в средней соответствующее ему полное имя компьютера (FQDN), а в последней короткое имя (alias) компьютера. Например, адресу 172.16.27.1 соответствует имя hsrv.example.com и hsrv.
Примечание
Медленная работа, а иногда и невозможность запуска некоторых программ (особенно в графической среде), часто связана с тем, что компьютер не может определить собственный IP адрес по имени. Для решения этой проблемы рекомендуется добавить как минимум имя и IP адрес самого компьютера в файл /etc/hosts.
Настройка сетевого моста
Технология сетевых мостов позволяет объединять несколько сетевых устройств в одно. Для использования сетевого моста необходимо установить пакет:
yum install bridge-utils
Для создания сетевого моста в каталоге /etc/sysconfig/network-scripts создается файл настроек ifcfg-br0 с общими сетевыми параметрами всех устройств подключаемых к мосту:
DEVICE="br0"
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=none
IPADDR=<IP адрес устройств объединенных в мост>
GATEWAY=<IP адрес шлюза>
и файл настроек для каждого из подключаемых интерфейсов ifcfg-ethX:
DEVICE="ethX"
TYPE=Ethernet
BRIDGE=br0
ONBOOT=yes
BOOTPROTO=none
Изменения вступят в силу после перезапуска сетевой службы:
/etc/init.d/network restart