Ответ
Публичный (глобальный) IP-адрес:
- Уникален в глобальной сети Интернет.
- Маршрутизируем — роутеры в Интернете знают, как доставить пакет на этот адрес.
- Выделяется провайдером (ISP) или облачным хостингом (AWS, GCP, Azure).
- Прямой доступ из Интернета (требует настройки безопасности: Firewall, Security Groups).
Приватный (внутренний) IP-адрес:
- Используется внутри частных сетей (домашняя сеть, офис, облачная VPC).
- Не маршрутизируется в публичном Интернете. Пакеты с таким адресом отбрасываются магистральными роутерами.
- Определены стандартами RFC 1918:
10.0.0.0–10.255.255.255(10.0.0.0/8)172.16.0.0–172.31.255.255(172.16.0.0/12)192.168.0.0–192.168.255.255(192.168.0.0/16)
- Может повторяться в разных частных сетях.
Связующее звено: NAT (Network Address Translation) Для выхода в Интернет устройства с приватными адресами используют NAT, обычно на граничном шлюзе (роутер, облачный NAT Gateway). NAT преобразует приватный адрес в публичный.
DevOps-практика:
-
Облачные среды: В AWS/Azure/GCP вы создаете VPC/VNet с приватными подсетями. Сервисы типа БД, бэкенд-сервисов размещаются там. Доступ наружу или извне организуется через:
- NAT Gateway (для исходящего трафика из приватных подсетей).
- Load Balancer (публичный или внутренний) для входящего трафика к сервисам.
- Bastion Host / Jump Server с публичным IP для безопасного доступа по SSH к приватным инстансам.
-
Безопасность: Группы безопасности (Security Groups) и сетевые ACL настраиваются отдельно для публичных и приватных подсетей, минимизируя поверхность атаки.
-
Пример настройки iptables для SNAT (исходящий трафик):
# Разрешаем форвардинг пакетов sysctl -w net.ipv4.ip_forward=1 # Маскарадинг всего трафика с интерфейса eth1 (внутренняя сеть) на eth0 (внешняя) iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE