Введение
Эта статья, фокусируется на расчете IP-адресов и подсетей, а также на дополнительных аспектах, не рассмотренных в предыдущих статьях. Она охватывает планирование IP-адресации, принципы работы NAT, взаимодействие DHCP и DNS, а также важность документирования настроек. Каждое действие сопровождается пояснением, чтобы вы могли понять его назначение и устранить ошибки.
Цель: Рассчитать IP-адреса и подсети для сетевой инфраструктуры, а также объяснить дополнительные концепции, такие как NAT, взаимодействие DHCP и DNS, и документирование, чтобы обеспечить глубокое понимание сети.
Устройства и IP-адреса:
- isp-router.network.local:enp0s3: DHCP (внешний Интернет)
enp0s8: 172.16.10.1/24 (к main-router)
enp0s9: 172.16.20.1/24 (к branch-router) - main-router.network.local:enp0s3: 172.16.10.2/24 (к isp-router)
VLAN 10: 192.168.10.1/24 (серверы)
VLAN 20: 192.168.20.1/24 (клиенты)
VLAN 99: 192.168.99.1/24 (управление)
GRE-туннель: 10.10.10.1/30 - branch-router.network.local:enp0s3: 172.16.20.2/24 (к isp-router)
enp0s8: 192.168.30.1/24 (локальная сеть филиала)
GRE-туннель: 10.10.10.2/30 - main-server.network.local:enp0s3: 192.168.10.2/24 (VLAN 10)
- branch-server.network.local:enp0s3: 192.168.30.2/24
- client-pc.network.local:enp0s3: DHCP (из диапазона 192.168.20.2–192.168.20.14)
1. Расчет IP-адресов и подсетей
1.1. Зачем нужен расчет
Расчет IP-адресов и подсетей позволяет эффективно использовать адресное пространство, избегая перерасхода или нехватки адресов. вы работаете с приватными IP-адресами, определенными в RFC1918, которые не маршрутизируются в Интернете. Правильное разделение на подсети обеспечивает:
- Изоляцию трафика между VLAN (например, серверы, клиенты, управление).
- Достаточное количество адресов для каждого сегмента сети.
- Предотвращение конфликтов IP-адресов.
1.2. Приватные IP-диапазоны
Согласно RFC1918, приватные IP-адреса включают:
- 10.0.0.0/8: 16,777,216 адресов.
- 172.16.0.0/12: 1,048,576 адресов.
- 192.168.0.0/16: 65,536 адресов.
В Модуле 1 используются диапазоны:
- 172.16.10.0/24 и 172.16.20.0/24 для связи с isp-router.
- 192.168.10.0/24, 192.168.20.0/24, 192.168.99.0/24 для VLAN в основном офисе.
- 192.168.30.0/24 для сети филиала.
- 10.10.10.0/30 для GRE-туннеля.
1.3. Расчет подсетей
Подсеть — это часть сети с определенным диапазоном IP-адресов, определяемая маской подсети. Маска указывает, сколько бит в IP-адресе используется для сети, а сколько — для хостов. Например:
- /24 (255.255.255.0): 256 адресов (254 для хостов, 2 зарезервированы для сети и широковещания).
- /26 (255.255.255.192): 64 адреса (62 для хостов).
- /28 (255.255.255.240): 16 адресов (14 для хостов).
- /29 (255.255.255.248): 8 адресов (6 для хостов).
- /30 (255.255.255.252): 4 адреса (2 для хостов).
Расчет для VLAN
- VLAN 10 (серверы): Требуется до 64 адресов.Маска: /24 (256 адресов, 254 для хостов).
Подсеть: 192.168.10.0/24Сетевой адрес: 192.168.10.0
Диапазон хостов: 192.168.10.1–192.168.10.254
Широковещательный адрес: 192.168.10.255
Используемые адреса:main-router: 192.168.10.1
main-server: 192.168.10.2
Почему /24? Это больше, чем требуется (64 адреса), но упрощает настройку и оставляет запас для роста сети. - VLAN 20 (клиенты): Требуется до 16 адресов.Маска: /24 (256 адресов, 254 для хостов).
Подсеть: 192.168.20.0/24Сетевой адрес: 192.168.20.0
Диапазон хостов: 192.168.20.1–192.168.20.254
Широковещательный адрес: 192.168.20.255
Используемые адреса:main-router: 192.168.20.1
client-pc: DHCP (192.168.20.2–192.168.20.14)
Почему /24? Упрощает управление и предоставляет больше адресов для клиентов. - VLAN 99 (управление): Требуется до 8 адресов.Маска: /24 (256 адресов, 254 для хостов).
Подсеть: 192.168.99.0/24Сетевой адрес: 192.168.99.0
Диапазон хостов: 192.168.99.1–192.168.99.254
Широковещательный адрес: 192.168.99.255
Используемые адреса:main-router: 192.168.99.1
Почему /24? Обеспечивает гибкость для управления.
Расчет для связи с ISP
- К main-router:
Подсеть: 172.16.10.0/24Сетевой адрес: 172.16.10.0
Диапазон хостов: 172.16.10.1–172.16.10.254
Широковещательный адрес: 172.16.10.255
Используемые адреса:isp-router: 172.16.10.1
main-router: 172.16.10.2 - К branch-router:
Подсеть: 172.16.20.0/24Сетевой адрес: 172.16.20.0
Диапазон хостов: 172.16.20.1–172.16.20.254
Широковещательный адрес: 172.16.20.255
Используемые адреса:isp-router: 172.16.20.1
branch-router: 172.16.20.2
Расчет для GRE-туннеля
- Подсеть: 10.10.10.0/30Маска: /30 (4 адреса, 2 для хостов).
Сетевой адрес: 10.10.10.0
Диапазон хостов: 10.10.10.1–10.10.10.2
Широковещательный адрес: 10.10.10.3
Используемые адреса:main-router: 10.10.10.1
branch-router: 10.10.10.2 - Почему /30? Это минимальная подсеть для соединения двух устройств, идеально подходящая для туннеля.
Расчет для филиала
- Подсеть: 192.168.30.0/24Сетевой адрес: 192.168.30.0
Диапазон хостов: 192.168.30.1–192.168.30.254
Широковещательный адрес: 192.168.30.255
Используемые адреса:branch-router: 192.168.30.1
branch-server: 192.168.30.2
2. Дополнительные аспекты сетевой инфраструктуры
2.1. Глубокое понимание NAT
NAT (Network Address Translation) преобразует частные IP-адреса в публичные, позволяя устройствам в локальной сети выходить в Интернет. NAT настроен на isp-router, main-router и branch-router:
- На isp-router: Преобразует адреса сетей 172.16.10.0/24 и 172.16.20.0/24 в публичный IP интерфейса enp0s3.
- На main-router: Преобразует адреса VLAN 10, 20 и 99 в публичный IP интерфейса enp0s3.
- На branch-router: Преобразует адреса сети филиала (192.168.30.0/24).
Почему это важно? NAT позволяет множеству устройств использовать один публичный IP, экономя адресное пространство и скрывая внутреннюю структуру сети от внешнего мира.
Как это работает?
- Когда устройство (например, client-pc) отправляет запрос в Интернет, NAT заменяет его частный IP (например, 192.168.20.2) на публичный IP маршрутизатора.
- Ответ от Интернета возвращается на публичный IP, а NAT перенаправляет его обратно на частный IP устройства.
Проверка NAT:
- Выполните iptables -t nat -L на маршрутизаторе, чтобы увидеть правила MASQUERADE.
- С client-pc пропингуйте внешний адрес: ping 8.8.8.8. Если пинг проходит, NAT работает.
Ошибки:
- Если Интернет недоступен, проверьте правила NAT (iptables -t nat -L) или IP-форвардинг (sysctl net.ipv4.ip_forward).
- Убедитесь, что интерфейс enp0s3 активен (ip a).
2.2. Взаимодействие DHCP и DNS
DHCP и DNS тесно связаны в нашей сети:
- DHCP на main-router выдает клиентам (например, client-pc) IP-адрес, шлюз (192.168.20.1) и DNS-сервер (192.168.10.2).
- DNS на main-server разрешает имена устройств (например, main-router.network.local → 192.168.10.1) и перенаправляет внешние запросы на 8.8.8.8.
Как они работают вместе?
- Когда client-pc получает IP по DHCP, он также получает адрес DNS-сервера (192.168.10.2).
- При запросе имени (например, main-server.network.local), client-pc обращается к main-server, который возвращает IP 192.168.10.2.
- Для внешних имен (например, google.com), main-server перенаправляет запрос на 8.8.8.8.
Проверка взаимодействия:
- На client-pc: ip a (проверьте IP и шлюз), cat /etc/resolv.conf (должен быть nameserver 192.168.10.2).
- Пропингуйте: ping main-server.network.local и ping google.com.
- На main-server: journalctl -u dnsmasq для логов DNS-запросов.
Ошибки:
- Если имена не разрешаются, проверьте конфигурацию dnsmasq на main-server (cat /etc/dnsmasq.conf).
- Если DHCP не выдает настройки, проверьте dnsmasq на main-router (journalctl -u dnsmasq).
2.3. Важность документирования настроек
Документирование IP-адресации и конфигураций критично для:
- Аудита: Проверка соответствия настроек требованиям.
- Устранения ошибок: Быстрая диагностика проблем.
- Передачи знаний: Облегчение работы другим администраторам.
Что документировать?
- Таблицу IP-адресов (как выше).
- Конфигурации интерфейсов (/etc/net/ifaces/).
- Правила NAT (iptables -t nat -L).
- Настройки DHCP и DNS (/etc/dnsmasq.conf).
- Конфигурацию OSPF (vtysh -c "show running-config").
Пример команды для сохранения документации:
ip a > /root/network_interfaces.txt
iptables -t nat -L >> /root/network_interfaces.txt
cat /etc/dnsmasq.conf >> /root/network_interfaces.txt
- Пояснение: Сохраняет конфигурацию в файл для отчета.
- Проверка: Убедитесь, что файл создан: cat /root/network_interfaces.txt.
2.4. Роль GRE-туннеля в безопасности
GRE-туннель не только соединяет офисы, но и поддерживает OSPF с парольной защитой (MD5). Это обеспечивает:
- Конфиденциальность маршрутов: Пароль предотвращает подключение несанкционированных устройств.
- Целостность данных: MD5-аутентификация защищает от подделки маршрутов.
Проверка безопасности GRE:
- Выполните vtysh -c "show ip ospf neighbor", чтобы убедиться, что только ожидаемые соседи (например, branch-router) подключены.
- Проверьте конфигурацию: vtysh -c "show running-config" | grep message-digest.
Ошибки:
- Если сосед не виден, проверьте совпадение паролей (NetworkPass789) и сетей в OSPF.
Проверки для подтверждения работы:
- Проверьте IP-адреса: ip a на каждом устройстве.
- Убедитесь, что DHCP выдает IP: ip a на client-pc (192.168.20.2–192.168.20.14).
- Проверьте DNS: ping main-router.network.local и ping google.com с client-pc.
- Проверьте NAT: ping 8.8.8.8 с client-pc.
- Проверьте GRE и OSPF: ping 10.10.10.2 с main-router, vtysh -c "show ip ospf neighbor".
Что делать при ошибках:
- Проверьте конфигурационные файлы (cat <файл>).
- Просмотрите логи служб (journalctl -u <служба>).
- Перезапустите службы (systemctl restart <служба>) или сеть (systemctl restart network).
- Убедитесь, что интерфейсы активны (ip a).