конспект сиса
Настройка сети и системы
Пошаговое руководство по базовой настройке инфраструктуры: хост, адресация IPv4, пользователи, коммутация OVS, SSH, GRE-туннели, OSPF, NAT, DHCP и синхронизация времени. Команды для Linux (ALT/RHEL-семейство) и роутеров EcoRouter.
1Настройка хоста
Linux
bashКопироватьHostnamectl set-hostname "имя хоста"; exec bash
Имя хоста заполняется в формате имя_хоста.домен (например isp.ledi-gaga.com).
Проверить:
bashКопироватьhostname -f
EcoRouter
EcoRouter CLIКопироватьhostname "имя хоста" ip domain-name "домен"
2Настройка IPv4
На всех устройствах необходимо сконфигурировать IPv4:
- Локальная сеть в сторону VLAN 100 — необходимо выделить сеть размером не более 32 адресов из адресного пространства 10.10.100.0/27.
- Локальная сеть в сторону VLAN 200 — необходимо выделить сеть размером не более 16 адресов из адресного пространства 10.10.200.0/28.
- Локальная сеть для управления VLAN 999 — необходимо выделить сеть размером не более 8 адресов из адресного пространства 10.10.30.0/29.
- В локальной сети в сторону сервера — необходимо выделить сеть размером не более 16 адресов из адресного пространства 10.20.20.0/28.
- В локальной сети в сторону компьютера — необходимо выделить сеть размером не более 8 адресов из адресного пространства 10.20.30.0/29.
Linux
Проверить адреса интерфейсов:
ip -br a
Основные директории для редактирования конфигурации интерфейса:
/etc/net/ifaces/ensX/optionsПример содержимого файла options
- Type — тип подключения.
- Config wireless — конфигурировать ли беспроводную сеть.
- Bootproto — использование статического адреса или dhcp.
- Config_ipv4 — конфигурировать ли ipv4.
- Disabled — отключен интерфейс или нет.
В /etc/net/ifaces/ensX/ipv4address содержится адрес интерфейса в формате:
172.16.1.1/28 # ip address / маска подсети
etc/net/ifaces/ens3/ipv4address10.1.100.2/27Бр-срв
Vim /etc/net/ifaces/ens3/ipv4address10.20.20.2/28
После внесения изменений в конфигурацию сети, чтобы изменения вступили в силу, необходимо перезапустить службу network:
systemctl restart network
3Настройка пользователя
Linux
Перед тем как редактировать или добавлять пользователя, необходимо проверить, существует ли он:
cat /etc/psswd | grep hahauser
Для того чтобы добавить пользователя, необходимо ввести следующую команду:
useradd -u 2026 hahauser useradd -u идентификатор_пользователя имя_пользователя
Для того чтобы поменять или назначить пароль пользователю:
passwd hahauser passwd имя_пользователя
Для того чтобы проверить идентификатор пользователя:
id sshuser -u id имя_пользователя -u
Чтобы добавить пользователя в группу суперпользователей:
usermod -aG wheel hahauser usermod -aG wheel имя_пользователя
Для того чтобы проверить, может ли пользователь пользоваться sudo без ввода пароля, следует сначала проверить файл по следующей директории:
cat /etc/sudoers | grep hahauser
Если его там нет, проверить следующую директорию:
ls /etc/sudoers.d/ ls /etc/sudoers.d/ | grep hahauser
И проверить содержимое файла, если он там есть:
cat /etc/sudoers.d/hahauser
Пример вывода:
hahauser ALL=(ALL) NOPSSWD: ALL
EcoRouter
Чтобы проверить список созданных пользователей:
EcoRouter CLIКопироватьshow users localdb
Если пользователя нет, можно создать следующими командами.
Создание пользователя:
EcoRouter
Router_a(config)#username haha_root
Назначение пароля пользователю:
Router_a(config-user)#password Pa$w0rd
4Настройка коммутатора через утилиту OVS
Чтобы посмотреть, что настроено на коммутаторе, нужно ввести команду:
ovs-vsctl show
- Port — физический порт.
- Tag — какому VLAN принадлежит порт.
- Interface — логический интерфейс.
- Type — тип интерфейса, указывается, если он логический.
Чтобы добавить мост, необходимо вписать команду:
ovs-vsctl add-br "название моста"
Для того чтобы добавить порт к мосту:
ovs-vsctl add-port "название_моста" "название_порта" ovs-vsctl add-port "название_моста" "название_порта" tag="влан_тег"
По аналогии вы также добавляете всё остальное.
Также необходимо проверить интерфейс менеджмента (MGMT) по пути /etc/net/ifaces/MGMT/options, адрес /etc/net/ifaces/MGMT/ipv4address и маршрут по умолчанию /etc/net/ifaces/MGMT/ipv4route.
MGMT / optionsMGMT / ipv4addressMGMT / ipv4route
5Настройка SSH
Для настройки конфига необходимо перейти в директорию:
Копировать/etc/openssh/sshd_config
Чтобы ограничить количество попыток, необходимо найти следующий параметр и указать кол-во попыток:
MaxAuthTries 2
Чтобы настроить баннер, необходимо найти или ввести в документ следующую строку, указав путь до баннера:
КопироватьBanner /etc/openssh/banner
Путь может быть любым, но должен быть абсолютным. Затем создаём файл с необходимой надписью внутри него:
bashКопироватьvim /etc/openssh/banner
После чего перезапускаем службу:
bashКопироватьsystemctl restart sshd
6Настройка GRE туннеля
Router-a (с комментариями):
EcoRouter CLI — Router-aКопироватьrouter-a(config)#interface tunnel.0 # создаём интерфейс router-a(config-if-tunnel)#description "GRE" # даём название интерфейсу router-a(config-if-tunnel)#ip address 10.10.10.1/30 # назначаем адрес интерфейсу router-a(config-if-tunnel)#ip tunnel 172.16.1.2 172.16.2.2 mode gre # адреса роутера, из которого идёт трафик, и в который мы будем посылать трафик
Аналогично делаем на другом роутере:
EcoRouter CLI — Router-b
router-b(config)#interface tunnel.0
router-b(config-if-tunnel)#description "GRE"
router-b(config-if-tunnel)#ip address 10.10.10.2/30
router-b(config-if-tunnel)#ip tunnel 172.16.2.2 172.16.1.2 mode gre
router-b(config-if-tunnel)#exit
router-b(config)#write memory
Также не забудьте поставить маршрут по умолчанию:
EcoRouter CLI
7Настройка OSPF
Firewall
В левом столбце выбираем Маршрутизация → OSPF:
Меню: Маршрутизация → OSPF
В основных задаём параметры аутентификации соседей:
Параметры аутентификации соседей
Добавляем локальный интерфейс:
Добавление локального интерфейса
Перейдя в дополнительные настройки, смотрим, чтобы всё было проставлено как на скриншоте.
Router-a
EcoRouter CLI — Router-a
Router-a(config-router)#passive-interface default
Router-a(config-router)#no passive-interface tunnel.0
Router-a(config-router)#network 10.10.100.0/27 area 0
Router-a(config-router)#network 10.10.200.0/28 area 0
Router-a(config-router)#network 10.10.30.0/29 area 0
Router-a(config-router)#network 10.10.10.0/30 area 0
Router-a(config-router)#exit
Router-a(config-router)#interface tunnel.0 Router-a(config-if-tunnel)#ip ospf authentication message-digest Router-a(config-if-tunnel)#ip ospf message-digest-key 1 md5 P@ssw0rd
Router-b
EcoRouter CLI — Router-b
Router-b(config)#router ospf 1
Router-b(config-router)#ospf router-id 10.10.10.2
Router-b(config-router)#passive-interface default
Router-b(config-router)#no passive-interface tunnel.0
Router-b(config-router)#no passive-interface fw
Router-b(config-router)#network 10.10.10.0/30 area 0
Router-b(config-router)#network 10.20.10.1/30 area 0
Router-b(config-router)#exit
Router-b(config)#interface tunnel.0
Router-b(config-if-tunnel)#ip ospf authentication message-digest
Router-b(config-if-tunnel)#ip ospf message-digest-key 1 md5 P@ssw0rd
Router-b(config)#exit
Router-b(config)#interface fw
Router-b(config-if)#ip ospf authentication message-digest
Router-b(config-if)#ip ospf message-digest-key 1 md5 P@ssw0rd
8Настройка NAT
ISP
Проверяем переадресацию:
[root@isp ~]# sysctl -a | grep ip_forward net.ipv4.ip_forward = 1 net.ipv4.ip_forward_update_priority = 1 net.ipv4.ip_forward_use_pmtu = 0
Настраиваем NAT с помощью iptables:
[root@isp ~]#
iptables -t nat -A POSTROUTING -s 172.16.1.0/28 -o ens3 -j MASQUERADE [root@isp ~]# iptables -t nat -A POSTROUTING -s 172.16.2.0/28 -o ens3 -j MASQUERADE
mcedit /etc/net/sysctl.conf
- Измените строку net.ipv4.ip_forward:-#net.ipv4.ip_forward = 0 +net.ipv4.ip_forward = 1
Сохраняем конфигурацию:
[root@isp ~]# iptables-save >> /etc/sysconfig/iptables
Активируем службу:
[root@isp ~]# systemctl enable --now iptables
Перезапускаем службу:
[root@isp ~]# systemctl restart network
Router-a
EcoRouter CLI — Router-a
Router-a(config)#interface isp Router-a(config-if)#ip nat outside
Router-a(config-if)#ex
Router-a(config)#interface vl100 Router-a(config-if)#ip nat inside
Router-a(config-if)#ex
Router-a(config)#interface vl200
Router-a(config-if)#ip nat inside
Router-a(config-if)#ex
Router-a(config)#interface vl999
Router-a(config-if)#ip nat inside
Router-a(config)#ip nat pool INTERNET 10.10.100.1-10.10.100.32,10.10.200.1-10.10.200.16,10.10.30.1-10.10.30.8
Router-a(config)#ip nat source dynamic inside-to-outside pool INTERNET overload interface isp
Router-b
EcoRouter CLI — Router-b
Router-b(config)#interface isp
Router-b(config-if)#ip nat outside
Router-b(config)#interface fw
Router-b(config-if)#ip nat inside
Router-b(config)#ip nat pool INTERNET 10.20.10.1-10.20.10.2,10.20.20.1-10.20.20.14,10.20.30.1-10.20.30.6
Router-b(config)#ip nat source dynamic inside-to-outside pool INTERNET overload interface isp
9Настройка DHCP с помощью nmcli
Смотрим наши подключения:
bashКопироватьnmcli connection show
Удаляем подключение:
[root@cli ~]# nmcli connection delete uuid b311a571-ca77-37d3-8f68-50e9e4b2a577
И добавляем новое:
[root@cli ~]# nmcli connection add ifname ens3 type ethernet autoconnect yes con-name dhcp ipv4.method auto
10Настройка часового пояса
EcoRouter
EcoRouter CLIКопировать
Linux
timedatectl [root@srv ~]# timedatectl set-timezone Europe/Moscow
222222222222222222222222222222222222222222222222
Комплексное руководство по настройке корпоративной ИТ-инфраструктуры
Аннотация
В данной статье рассматриваются пошаговые инструкции по настройке ключевых сервисов корпоративной сети: управление пользователями Samba через скрипты, развёртывание сетевого хранилища NFS, синхронизация времени через Chrony/NTP, автоматизация управления сетевым оборудованием с помощью Ansible, а также развёртывание и защита веб-приложения.
1Автоматизация настройки пользователей Samba
Для массового создания пользователей, установки им паролей, отключения срока действия пароля и добавления в группу удобно использовать bash-скрипт.
Скрипт настройки:
bash · скрипт настройкиКопировать# Создание группы 'ab' samba-tool group add ab # Цикл для создания 5 пользователей (abuser1 ... abuser5) for i in {1..5}; do # Создание пользователя с паролем P@ssw0rd samba-tool user add "abuser$i" "P@ssw0rd" # Отключение срока действия пароля samba-tool user setexpiry "abuser$i" --noexpiry # Добавление пользователя в группу 'ab' samba-tool group addmembers "ab" "abuser$i" done
2Настройка файловой системы NFS
Настройка выполняется в два этапа: на стороне сервера и на стороне клиента.
2.1. Настройка сервера
bashКопировать# Создание директории для экспорта mkdir -p /raid/nfs # Установка полных прав доступа (для тестовых сред) chmod 777 /raid/nfs # Применение изменений в конфигурации экспорта exportfs -arv # Включение и запуск службы NFS-сервера systemctl enable --now nfs-server
2.2. Настройка клиента
bashКопировать# Создание точки монтирования и установка прав mkdir -p /mnt/nfs chmod 777 /mnt/nfs # Добавление записи в /etc/fstab для автоматического монтирования # Пример строки: :/raid/nfs /mnt/nfs nfs defaults,_netdev 0 0 vim /etc/fstab # Монтирование всех файловых систем из fstab с выводом информации mount -a -v
3Настройка синхронизации времени (Chrony / NTP)
Корректное время критически важно для работы служб аутентификации и логирования. Настроим сервер времени на Linux и клиентов на базе Linux и Ecorouter.
3.1. Настройка сервера времени (Linux)
bashКопировать# Редактирование конфигурационного файла (раскомментировать или добавить allow и server) vim /etc/chrony.conf # Перезапуск службы systemctl restart chronyd # Проверка синхронизации chronyc tracking
3.2. Настройка клиента на маршрутизаторе Ecorouter
EcoRouter CLIКопироватьEcorouter(config)# ntp server 172.16.1.1 # Проверка статуса NTP ecorouter# show ntp status
3.3. Настройка клиента на Linux
bashКопировать# Указание сервера времени в конфигурации vim /etc/chrony.conf # Добавить строку: server 172.16.1.1 iburst # Перезапуск службы systemctl restart chronyd # Проверка источников времени chronyc sources
4Настройка системы автоматизации Ansible
Ansible позволяет централизованно управлять конфигурациями как Linux-серверов, так и сетевого оборудования (Ecorouter).
4.1. Подготовка управляющей ноды (Linux)
bashКопировать# Обновление репозиториев и установка базовых пакетов apt-get update && apt-get install -y ansible sshpass # Установка необходимых зависимостей Python apt-get install -y python3-pip pip3 install ansible-pylibssh # Установка коллекций для работы с сетевым оборудованием ansible-galaxy collection install ansible.netcommon ansible-galaxy collection install cisco.ios # Настройка инвентаризационного файла vim /etc/ansible/hosts/etc/ansible/hostsКопироватьserver ansible_host=10.10.100.2 ansible_user=sshusser ansible_password=P@ssw0rd ansible_port=2026 cli ansible_host=10.10.200.2 ansible_user=root ansible_password=toor router ansible_host=172.16.1.2 ansible_user=admin ansible_password=admin ansible_connection=network_cli ansible_network_os=ios
4.2. Подготовка сетевого оборудования (Ecorouter)
Для работы Ansible по SSH без интерактивного подтверждения необходимо отключить строгие проверки безопасности (в тестовых целях):
EcoRouter CLIКопироватьEcorouter(config)# security none
4.3. Проверка подключения
bashКопировать# Проверка доступности всех узлов из инвентаря ansible -m ping all
5Развёртывание веб-приложения на сервере
Процесс включает монтирование установочного образа, копирование файлов, настройку базы данных и запуск веб-сервера.
bash · монтирование и копированиеКопировать# 1. Монтирование ISO-образа (только для чтения) mount -o -ro -t iso9660 /home/user/additional.iso /mnt/ # 2. Копирование файлов веб-приложения cp /mnt/web/index.php /var/www/html/ cp /mnt/web/logo.png /var/www/html/bash · MariaDBКопировать# 3. Настройка СУБД MariaDB systemctl enable --now mariadb # Вход в консоль MariaDB под пользователем root mariadb -u rootMariaDB консольКопировать# Внутри консоли MariaDB выполнить: MariaDB [(none)]> SHOW DATABASES; MariaDB [(none)]> USE webdb; MariaDB [webdb]> SELECT user FROM mysql.user; MariaDB [webdb]> ALTER USER 'web'@'localhost' IDENTIFIED BY 'P@ssw0rd'; MariaDB [webdb]> EXIT;bash · правка конфигурацииКопировать# 4. Правка конфигурации веб-приложения (при необходимости) vim /var/www/html/index.phpПараметры подключения к БД в index.phpbash · перезапуск веб-сервераКопировать# 5. Перезапуск веб-сервера (httpd или apache2 в зависимости от дистрибутива) systemctl restart httpd # или systemctl restart apache2bash · импорт дампа БДКопировать# 6. Импорт дампа базы данных mariadb -u web -p'P@ssw0rd' -D webdb < /mnt/cdrom/web/dump.sql
6Настройка базовой веб-аутентификации (HTTP Basic Auth)
Для ограничения доступа к веб-ресурсам можно использовать механизм .htpasswd в связке с Nginx.
bashКопировать# Установка утилиты для работы с паролями (пакет apache2-utils) apt-get install -y apache2-htpasswd # Создание файла паролей и добавление пользователя WEB # Флаг -c создает новый файл (использовать только при первом запуске) htpasswd -c /etc/nginx/.htpasswd WEBbashКопировать# Проверка конфигурационного файла Nginx на синтаксические ошибки nginx -t # Перезапуск веб-сервера Nginx для применения изменений systemctl restart nginx
СПРАВКА