LINUX.ORG.RU
решено ФорумAdmin

(alt linux)Добавление в сеть Demilitarizet zone, BGP, Zabbix, NAgios и другое

 ,


0

1

Сейчас я занимаюсь построением схемы и общей архитектуры для локальной сети и базовой инфраструктуры. В первую очередь, проект ориентирован на обучение, но с прицелом на реальные практические кейсы — чтобы не просто “для галочки”, а с возможностью разворачивать и обслуживать это вживую. Базовые элементы вроде настройки маршрутизатора, NAT, DHCP, DNS уже учтены, но мне бы очень хотелось дополнить всю эту структуру более интересными и полезными компонентами, которые часто встречаются в реальных инфраструктурах.

В частности, я хотел бы включить в схему:

• Мониторинг с помощью Zabbix (или аналогов вроде Prometheus + Grafana)

• Систему логирования (rsyslog, Graylog, ELK)

• Централизованную авторизацию (LDAP, FreeIPA, Kerberos, AD)

• Прокси-серверы (Squid, nginx в роли обратного прокси)

• Файловые хранилища (Samba, NFS, FTP)

• Почтовый сервер (Postfix, Dovecot, или просто как релей)

• Базовые сервисы безопасности: Fail2ban, firewall’ы, IDS/IPS

• Контроль трафика (например, с использованием tc, NetFlow, ntopng)

• Плановое резервное копирование (Borg, rsync, Bacula и пр.)

• Контейнеризация (Docker, Podman) или виртуализация (KVM, Proxmox)

• Возможно, веб-интерфейсы администрирования (Cockpit, Webmin)

• Вспомогательные панели (для самих юзеров или администратора)

Но здесь у меня пока что много “хочу”, но не до конца понятно, как всё это грамотно увязать, расставить приоритеты, на что обратить внимание при настройке, а что, наоборот, лучше отложить или заменить. Особенно интересует опыт и практические советы: кто что внедрял, как это потом жилось, какие компоненты лучше работают вместе, какие наоборот — доставляют боль.

Очень надеюсь на помощь если вы можете посоветовать, что ещё полезного и интересного можно включить в схему — буду признателен. А если у кого-то найдётся время и желание помочь с настройкой каких-либо из этих компонентов или просто подсказать рабочие конфигурации — будет вообще супер.

Буду очень благодарен за любые отклики, советы, схемы, конфиги, опыт внедрения — всё, что может помочь сделать этот проект полезнее и живее.

Ниже я представил мою настройку которая уже есть (могут быть ошибки)

Router main

Включение forward (чтобы проходили пакеты и работала сеть)

/etc/net/sysctl.conf
Net.ipv4.ip_forward = 1

Настройка имени

Hostnamectl set-hostname router; exec bash

Настройка времени

Timedatectl set-timezone Europe/Samara (назначение времени)
Timedatectl (проверка времени)

Настройка ipv4 Адресации

Ens 36

Mkdir /etc/net/ifaces/ens36/ (создание директории)
Cp /etc/net/ifaces/ens33/options   /etc/net/ifaces/ens36/ (копируем с одного интерфейса на другой, Там я поменял с dhcp на статику)
/etc/net/ifaces/ens36/ipv4address
172.16.4.1/28 (ip-адрес в сторону Router1)

Ens37

Mkdir /etc/net/ifaces/ens37/ (создание директории)
Cp /etc/net/ifaces/ens33/options   /etc/net/ifaces/ens37/ (копируем с одного интерфейса на другой)
/etc/net/ifaces/ens37/ipv4address
172.16.5.1/28 (ip-адрес в сторону Router2)
Systemctl restart network

АВТОПЕРЕЗАПУСК ip адресов (чтобы не слетали при перезапуске)

export EDITOR=mcedit
Crontab -e
@reboot /bin/systemctl restart network
ПУСТАЯ СТРОКА В КОНЦЕ (ОБЯЗАТЕЛЬНО!)

Настройка IPTABLES

iptables -t nat -A POSTROUTING -o ens33 -s 172.16.4.0/28 -j MASQUERADE (правило iptables)
iptables -t nat -A POSTROUTING -o ens33 -s 172.16.5.0/28 -j MASQUERADE
iptables -t nat -L -v -n (проверка правил)
iptables-save > /root/rules (сохранение)
export EDITOR=mcedit
crontab -e 
@reboot /sbin/iptables-restore < /root/rules
ПУСТАЯ СТРОКА ОБЯЗАТЕЛЬНО.
Nano /etc/resolv.conf (добавление nameserver, для iptables)
Nameserver 8.8.8.8
Reboot

Router1

Включение forward (чтобы проходили пакеты и работала сеть)

/etc/net/sysctl.conf
Net.ipv4.ip_forward = 1

Настройка имени

Hostnamectl set-hostname router1; exec bash 

Настройка времени

Timedatectl set-timezone Europe/Samara (назначение времени)
Timedatectl (проверка времени)

Настройка пользователей

Useradd net_admin (создание пользователя)
passwd net_admin (задать пароль пользователю)
P@$$w0rd
Usermod -aG wheel net_admin (добавление пользователя в группу wheel, чтобы мог писать sudo без пароля)
/etc/sudoers
Раскомментировать WHEEL_USERS ALL=(ALL:ALL) NOPASSWD: ALL (чтобы мог писать sudo без 
пароля)

Настройка ipv4 Адресации

Ens33

/etc/net/ifaces/ens33/ipv4address
172.16.4.2/28 (ipv4address)
/etc/net/ifaces/ens33/ipv4route (шлюз в сторону router main)
Default via 172.16.4.1 (ipv4route)
options (меняем с dhcp на static)

Ens36

Mkdir /etc/net/ifaces/ens36/ (создание директории)
Cp /etc/net/ifaces/ens33/options   /etc/net/ifaces/ens36/  (копируем с одного интерфейса на другой)
/etc/net/ifaces/ens36/options (меняю на static)

Ens36.100 (в сторону Server1)

Mkdir /etc/net/ifaces/ens36.100/ (создание директории)
Cp /etc/net/ifaces/ens33/options   /etc/net/ifaces/ens36.100/ (копируем с одного интерфейса на другой)
/etc/net/ifaces/ens36.100/options (задаём настройки vlan)
	TYPE=vlan
	BOOTPROTO= static (или dhcp)
	VID=100 (id VLAN такое же как и директория)
	HOST=ens36 (это интерфейс который хостит VLAN)
	DISABLE=no (чтобы не выключалось после перезагрузки)
/etc/net/ifaces/ens36.100/ipv4address
192.168.1.1/26 (ipv4address)

Ens36.200 (в сторону client1)

Mkdir /etc/net/ifaces/ens36.200/ (создание директории)
Cp /etc/net/ifaces/ens33/options   /etc/net/ifaces/ens36.200/ (копируем с одного интерфейса на другой)
/etc/net/ifaces/ens36.200/options (задаём настройки vlan)
	TYPE=vlan
	BOOTPROTO= static
	VID=200
	HOST=ens36
	DISABLE=no
/etc/net/ifaces/ens36.200/ipv4address
192.168.2.1/28 (ipv4address)

Ens36.999 (запасной VLAN)

Mkdir /etc/net/ifaces/ens36.999/ (создание директории)
Cp /etc/net/ifaces/ens33/options   /etc/net/ifaces/ens36.999/ (копируем с одного интерфейса на другой)
/etc/net/ifaces/ens36.999/options (задаём настройки vlan)
	TYPE=vlan
	BOOTPROTO= static
	VID=999
	HOST=ens36
	DISABLE=no
/etc/net/ifaces/ens36.999/ipv4address
192.168.9.1/29 (ipv4address)
Systemctl restart network

АВТОПЕРЕЗАПУСК ip адресов (чтобы не слетали при перезапуске)

export EDITOR=mcedit
Crontab -e
@reboot /bin/systemctl restart network
ПУСТАЯ СТРОКА В КОНЦЕ (ОБЯЗАТЕЛЬНО!)

IPTABLES

iptables -t nat -A POSTROUTING -o ens33 -s 192.168.1.0/26 -j MASQUERADE (правило iptables)
iptables -t nat -A POSTROUTING -o ens33 -s 172.168.2.0/28 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ens33 -s 192.168.9.0/29 -j MASQUERADE
iptables -t nat -L -v -n (проверка правил)
iptables-save > /root/rules (сохранение)
export EDITOR=mcedit
crontab -e 
@reboot /sbin/iptables-restore < /root/rules
ПУСТАЯ СТРОКА ОБЯЗАТЕЛЬНО.

GRE 1

Mkdir /etc/net/ifaces/gre1/ (создание)
Cp /etc/net/ifaces/ens33/options   /etc/net/ifaces/gre1/ (делаем копию файла options)
/etc/net/ifaces/gre1/options (настройка gre конфигурации)
TYPE=iptun (создание туннельного интерфейса)
TUNTYPE=gre (тип туннеля)
TUNLOCAL=172.16.4.2 (откуда начинается)
TUNREMOTE=172.16.5.2 (где заканчивается)
/etc/net/ifaces/gre1/ipv4address
10.0.0.1/30

Apt-get install frr -y

/etc/frr/daemons 
Ospfd=yes (включение демона)
Systemctl restart frr
Vtysh
Conf t
Router ospf
Network 10.10.10.0/30 area 0 (gre tunnel)
Network  192.168.1.0/26 area 0
Network 192.168.2.0/28 area 0
Network 192.168.9.0/29 area 0
Ex
ex
Do wr mem (сохранение)
Systemctl restart frr
Systemctl restart network

Apt-get install dnsmasq -y (настройка dhcp)

Systemctl enable --now dnsmasq (чтобы после ребута не выключилась)
/etc/dnsmasq.conf
No-resolv
Dhcp-range=192.168.2.2,192.168.2.14,9999h (с какого по какой ip адрес будет раздавать)
Dhcp-option=3,192.168.2.1 (шлюз)
Dhcp-option=6,192.168.1.2 (DNS)
Interface=ens36.200 (интерфейс)
Systemctl restart dnsmasq
Systemctl status dnsmasq 
Systemctl restart network

router2

Включение Forward (чтобы проходили пакеты и работала сеть)

/etc/net/sysctl.conf
Net.ipv4.ip_forward = 1

Настройка имени

Hostnamectl set-hostname router2; exec bash 

Настройка времени

Timedatectl set-timezone Europe/Samara (назначение времени)
Timedatectl (проверка времени)

Настройка пользователей

Useradd net_admin (создание пользователя)
passwd net_admin (задать пароль пользователю)
P@$$w0rd
Usermod -aG wheel net_admin (добавление пользователя в группу wheel, чтобы мог писать sudo без пароля)
/etc/sudoers
Раскомментировать WHEEL_USERS ALL=(ALL:ALL) NOPASSWD: ALL

Настройка ipv4 адресации

Ens33

/etc/net/ifaces/ens33/ipv4address
172.16.5.2/28 (ipv4address)
/etc/net/ifaces/ens33/ipv4route (шлюз в сторону router main)
Default via 172.16.5.1 (ipv4route)

Ens36

Mkdir /etc/net/ifaces/ens36/ (создание директории)
Cp /etc/net/ifaces/ens33/options   /etc/net/ifaces/ens36/ (делаем копию файла options)
/etc/net/ifaces/ens33/ipv4address
192.168.4.1/27 (ipv4address в сторону server2)

АВТОПЕРЕЗАПУСК ip адресов (чтобы не слетали при перезапуске)

export EDITOR=mcedit
Crontab -e
@reboot /bin/systemctl restart network
ПУСТАЯ СТРОКА В КОНЦЕ (ОБЯЗАТЕЛЬНО!)
Systemctl restart network
iptables -t nat -A POSTROUTING -o ens33 -s 192.168.4.0/27 -j MASQUERADE (правило в сторону Server2)
iptables -t nat -L -v -n (проверка правил)
iptables-save > /root/rules (сохранение)
export EDITOR=mcedit
crontab -e 
@reboot /sbin/iptables-restore < /root/rules
ПУСТАЯ СТРОКА ОБЯЗАТЕЛЬНО.

GRE 1

Mkdir /etc/net/ifaces/gre1/ (создание директории)
Cp /etc/net/ifaces/ens33/options   /etc/net/ifaces/gre1/ (делаем копию файла options)
/etc/net/ifaces/gre1/options (настройка gre)
TYPE=iptun (создание туннельного интерфейса)
TUNTYPE=gre (тип туннеля)
TUNLOCAL=172.16.5.2 (откуда начинается)
TUNREMOTE=172.16.4.2 (где заканчивается)
/etc/net/ifaces/gre1/ipv4address
10.0.0.1/30

Apt-get install frr -y

/etc/frr/deamons 
Ospfd=yes (включение демона)
Systemctl restart frr
Vtysh
Conf t
Router ospf
Network 10.10.10.0/30 area 0 (gre tunnel)
Network  192.168.4.0/27 area 0
Ex
ex
Do wr mem (сохранение)
Systemctl restart frr
Systemctl restart network

Server2

Включение forward (чтобы проходили пакеты и работала сеть)

/etc/net/sysctl.conf
Net.ipv4.ip_forward = 1

Настройка имени

Hostnamectl set-hostname server; exec bash 

Настройка времени

Timedatectl set-timezone Europe/Samara (назначение времени)
Timedatectl (проверка времени)

Настройка пользователей

useradd sshuser -u 1010 (создание пользователя и смена идентификатора )
passwd sshuser
P@ssw0rd (пароль без $$)
/etc/sudoers
Раскомментировать WHEEL_USERS ALL=(ALL:ALL) NOPASSWD: ALL
Usermod -aG wheel sshuser

Настройка ipv4 адресации

Ens36

/etc/net/ifaces/ens33/ipv4address
192.168.4.2/27 (ipv4address)
Default via 192.168.4.1 (ipv4route)

АВТОПЕРЕЗАПУСК ip адресов (чтобы не слетали при перезапуске)

export EDITOR=mcedit
Crontab -e
@reboot /bin/systemctl restart network
ПУСТАЯ СТРОКА В КОНЦЕ (ОБЯЗАТЕЛЬНО!)
Systemctl restart network

apt-get install openssh-common -y (установка ssh)

/etc/openssh/sshd_config
Port 2024 (название порта)
MaxAuthTries 2 (Макс. кол-во попыток входа)
AllowUsers sshuser (разрешение на вход только sshuser)
PermitRootLogin no (запрещает root вход по ssh)
Systemctl enable --now sshd (включение после перезагрузки)
Systemctl restart sshd
Подключаемся с клиента через команду (ssh sshuser@ipсервера -p 2024)
Server1

Включение forward (чтобы проходили пакеты и работала сеть)

/etc/net/sysctl.conf
Net.ipv4.ip_forward = 1

Настройка имени

Hostnamectl set-hostname server; exec bash 

Настройка времени

Timedatectl set-timezone Europe/Samara (назначение времени)
Timedatectl (проверка времени)

Настройка пользователей

useradd sshuser -u 1010 (создание пользователя и смена идентификатора )
passwd sshuser
P@ssw0rd (пароль без $$)
/etc/sudoers
Раскомментировать WHEEL_USERS ALL=(ALL:ALL) NOPASSWD: ALL
Usermod -aG wheel sshuser

Настройка ipv4 адресации

Ens 33

/etc/net/ifaces/ens33/options (меняем на статику)
Ens33.100
Mkdir /etc/net/ifaces/ens33.100/ (создание директории)
Cp /etc/net/ifaces/ens33/options   /etc/net/ifaces/ens33.100/ (делаем копию файла options)
/etc/net/ifaces/ens33.100/options (настройка vlan)
	TYPE=vlan
	BOOTPROTO= static
	VID=100
	HOST=ens33
	DISABLE=no
192.168.1.2/26 (ipv4address)
Default via 192.168.1.1 (ipv4route) (шлюз в сторону Router1)

АВТОПЕРЕЗАПУСК ip адресов (чтобы не слетали при перезапуске)

export EDITOR=mcedit
Crontab -e
@reboot /bin/systemctl restart network
ПУСТАЯ СТРОКА В КОНЦЕ (ОБЯЗАТЕЛЬНО!)
Systemctl restart network

apt-get install openssh-common -y (установка ssh)

/etc/openssh/sshd_config
Port 2024 (название порта)
MaxAuthTries 2 (Макс. кол-во попыток входа)
AllowUsers sshuser (разрешение на вход только sshuser)
PermitRootLogin no (запрещает root вход по ssh)
Systemctl enable --now sshd (включение после перезагрузки)
Systemctl restart sshd
Подключаемся с клиента через команду (ssh sshuser@ipсервера -p 2024)
Client1

Включение forward (чтобы проходили пакеты и работала сеть)

/etc/net/sysctl.conf
Net.ipv4.ip_forward = 1

Настройка имени

Hostnamectl set-hostname client; exec bash 

Настройка времени

Timedatectl set-timezone Europe/Samara (назначение времени)
Timedatectl (проверка времени)

Настройка ipv4 адресации Ens 33

Nano /etc/net/ifaces/ens33/options (поменять конфиг на static)

Ens33.200

/etc/net/ifaces/ens36.999/options
	TYPE=vlan
	BOOTPROTO= dhcp
	VID=200
	HOST=ens33
	DISABLED=no

АВТОПЕРЕЗАПУСК ip адресов (чтобы не слетали при перезапуске)

export EDITOR=mcedit
Crontab -e
@reboot /bin/systemctl restart network
ПУСТАЯ СТРОКА В КОНЦЕ (ОБЯЗАТЕЛЬНО!)
Systemctl restart network


Последнее исправление: skuff (всего исправлений: 11)
Ответ на: комментарий от skuff

Разобрался, молодец.

Тогда еще вопрос:

АВТОПЕРЕЗАПУСК ip адресов (чтобы не слетали при перезапуске)

@reboot /bin/systemctl restart network

А это что за гибкие решения резиновые костыли??

ALiEN175
()

Настройка ipv4 адресации Ens 33
Nano /etc/net/ifaces/ens33/options (поменять конфиг на static)

...

АВТОПЕРЕЗАПУСК ip адресов (чтобы не слетали при перезапуске)
export EDITOR=mcedit

Огонь просто!

anc ★★★★★
()