Конфигурация_сетевой_инфраструктуры. Конфигурация сетевой инфраструктуры
Скачать 37.12 Kb.
|
Конфигурация сетевой инфраструктурыКонфигурация сетевых интерфейсовВ современных дистрибутивах для манипуляции сетевыми устройствами присутствует пакет iproute, в состав которого входят такие утилиты как: ip, ss, tc, и т.д. Минимально необходимые команды, которые нужно знать: Посмотреть список физических интерфейсов # ip link ( или ip l) Посмотреть список интерфейсов с IP-адресами # ip address show (или ip a s) Добавить IP адрес на интерфейс # ip address add {ip-address/mask} dev {interface} Удалить IP адрес с интерфейса # ip address del {ip-address/mask} dev {interface} Посмотреть список маршрутов # ip route show (или ip r s) Добавить маршрут # ip route add {network/mask} via {gateway ip} Удалить маршрут # ip route del {network/mask} via {gateway ip} Добавить маршрут по умолчанию # ip route add default via {gateway ip} Удалить маршрут по умолчанию # ip route del default Данные команды применяются на лету, но не переживают ребут системы. Чтобы изменения переживали ребут, существует несколько способов. Способ номер #1 - Network Scripts и файлы конфигурации. В предыдущих релизах RedHat, основным способом конфигурации сети было использование shell скриптов. Под шел скриптами подразумевается в основном “/etc/init.d/network” и всё что он в дальнейшем вызывает. Пользователь предоставлял файлы, рассматриваемые как конфигурационные, но которые могли быть интерпретируемые как дополнения, содержащие переменные для скриптов. В настоящее время, данный способ является дополнительным, в то время как в Debian, этот способ всё ещё является способом по умолчанию. В RedHat-подобных дистрибутивах, конфигурационные файлы интерфейсов хранятся в директории “/etc/sysconfig/network-scripts/” с именами “ifcfg-*”, где “*” – имя интерфейса. Создать файл конфигурации можно обычным текстовым редактором
Узнать, что нужно написать в этом файле можно в файле документации “sysconfig.txt”:
Посмотреть примеры файлов конфигурации сети можно в директории
Не нужно запоминать эти пути! Нужно помнить, что их всегда можно найти. Логика следующая: Нужно узнать какому пакету принадлежит “/etc/sysconfig/network-scripts/” # rpm -qf /etc/sysconfig/network-scripts/ Вывести список всех файлов, установленных данным пакетом # rpm -ql initscripts или rpm -ql $(rpm -qf /etc/sysconfig/network-scripts/) Отфильтровать вывод можно с помощью команды grep # rpm -ql initscripts | grep doc Пример конфигурации статики: DEVICE=enp0s3 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.0.1 NETMASK=255.255.255.0 GATEWAY=192.168.0.254 DNS1=192.168.0.254 USERCTL=no Чтобы задать статический маршрут/маршруты, нужно создать файл “/etc/sysconfig/network-scripts/route-*”, где “*” – имя исходящего интерфейса. В данном файле, нужно перечислить необходимые маршруты. Пример: “172.16.2.0/24 via 192.168.0.254”. После выполнения вышеперечисленных действий нужно сделать: systemctl restart networking. В Debian-подобных файл конфигурации сетевых интерфейсов находится тут “/etc/network/interfaces”. Информацию о том, как заполнять этот файл можно найти в мануле
auto enp0s3 allow-hotplug enp0s3 iface enp0s3 inet static address 192.168.0.6 netmask 255.255.254.0 gateway 192.168.1.237 Как добавить статические маршруты? iface поддерживает следующие опции (что конечно же описано в man interfaces): pre-up, up, post-up, pre-down, down. Данные опции позволяют выполнить любую команду, перед тем как интерфейс поднимется или выключится. Поэтому… auto enp0s3 allow-hotplug enp0s3 iface enp0s3 inet static address 192.168.0.6 netmask 255.255.254.0 gateway 192.168.1.237 post-up ip route add 172.16.2.0/24 via 192.168.0.254 pre-down ip route del 172.16.2.0/24 via 192.168.0.254 DNS-сервера для статически настроенных машин должны быть перечислены в файле “/etc/resolv.conf” в формате “nameserver X.X.X.X”. Данный файл может быть перезаписан, например - dhcp-client’ом, если есть интерфейсы, получающие IP-адрес динамически, поэтому как-то нужно убедиться, что данные настройки будут перманентными. В Debian настроить через interfaces просто так не получится. Для этого нужно установить пакет “resolvconf”.
После этого в “man resolvconf” можно подсмотреть, что необходимые опции можно добавить так: “dns-nameservers 192.168.0.254 8.8.8.8”. auto enp0s3 allow-hotplug enp0s3 iface enp0s3 inet static address 192.168.0.6 netmask 255.255.254.0 gateway 192.168.1.237 dns-nameservers 192.168.0.254 8.8.8.8 dns-search mycorp.un Способ номер #2 - NetworkManager (Уневерсальный!!!) Более современным путём настройки сети будет являться NetworkManager. NetworkManager – дефолтный (в RHEL) сетевой демон, который позволяет настраивать IP-адреса, создавать алиасы интерфейсов, добавлять статические маршруты, информацию о DNS, создавать VPN подключения. NetworkManager запускается как демон и предоставляет API через шину D-Bus, который предоставляет способ запрашивать и контролировать состояние устройств. В стандартную поставку для NM входят следующие утилиты:
Хоть в RHEL NetworkManager и является сетевым сервисом по умолчанию, разработчики сделали всё возможное чтобы shell-скрипты (network scripts) могли взаимодействовать с NM и работать параллельно. NM запускается первым, а /etc/init.d/network согласуется с NM что бы избежать вмешательства в его конфигурацию. Что касается Debian, то там NetworkManager требует отдельной установки. Внимание! На машинах с GUI network-manager уже должен быть установлен. Так как апплеты конфигурации сети его и используют.
Конфигурация в “/etc/network/interfaces” не должна конфликтовать с NM, поэтому там должны остаться только настройки loopback интерфейса. source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback Дальше необходимо выполнить перезагрузку Debian-машин:
После чего можно будет воспользоваться утилитой nmtui для настройки: ip адресов DNS hostnames статических маршрутов gre-туннелей
Можно редактировать соединения, активировать/деактивировать и задать хостнейм. Выполните схожие действия для всех остальных машин! NetworkManager - имба! Используйте его!!!! Форвардинг пакетовНекоторые участники сети будут выступать в качестве маршрутизаторов, поэтому нужно включить возможность форвардинга. Просматривать и настраивать системные переменные, можно с помощью утилиты sysctl. Найти опцию, которая отвечает за форвардинг ipv4 пакетов
Включить форвардинг на работающей системе
Для того чтобы изменения сохранялись при перезапуске системы, “net.ipv4.ip_forward=1” нужно добавить в файл “/etc/sysctl.conf”. На L-FW и R-FW
NTPДля нормальной работы многих сервисов (ОСОБЕННО с TLS), необходимо чтобы часы были синхронизированы. Установка NTP сервера на L-SRV
Подключение клиентов.
DHCP Server- DHCP server на Linux: http://www.k-max.name/linux/dhcp-server-na-linux/ Устанавливаем DHCP сервер и делаем backup конфига.
Хорошим тоном будет убедится, что isc-dhcp-server был добавлен в автозагрузку.
Нужно указать на каких интерфейсах должен работать isc-dhcp-server.
INTERFACESv4="enp0s8" После чего можно приступить к конфигурации. В dhcpd.conf уже все что необходимо есть, нужно просто отсечь всё ненужное.
# Суффикс доменного имени по умолчанию option domain-name "skill39.wsr"; # Адрес/адреса DNS сервера/серверов option domain-name-servers 172.16.20.10; # Время аренды адреса по умолчанию default-lease-time 600; # Ограничение по максимальному времени аренды max-lease-time 7200; # Данный сервер является авторитетным для этой сети authoritative; # Отключить DDNS. (Опция понадобиться в будущем) ddns-update-style none; subnet 172.16.100.0 netmask 255.255.255.0 { range 172.16.100.60 172.16.100.75; # Диапазон адресов option routers 172.16.100.1; # Шлюз по умолчанию } Проверить конфигурацию DHCP сервера
Если с конфигурацией всё ОК, то dhcp-сервер нужно перезапустить: [root@L-FW]# systemctl restart isc-dhcp-server |