NAT (Network Address Translation) — технология, применяемая в сетевых устройствах для преобразования локальных (частных) IP-адресов в глобальные (публичные) и наоборот.
Это решение позволяет множеству устройств в частной сети совместно использовать один публичный IP-адрес для выхода в интернет, что особенно актуально при ограниченном количестве доступных глобальных IP-адресов.
Основные функции NAT:
- Преобразование адресов. NAT преобразует частные IP-адреса устройств в локальной сети в один или несколько публичных IP-адресов при их отправке в интернет, и обратно — публичные IP-адреса пакетов, приходящих из интернета, в частные IP-адреса.
- Экономия IP-адресов. NAT позволяет сократить потребность в публичных IP-адресах, так как несколько устройств в локальной сети могут использовать один и тот же публичный IP-адрес.
- Повышение безопасности. NAT скрывает внутреннюю структуру сети от внешних пользователей, что затрудняет несанкционированный доступ извне.
Для создания правил пересылки пакетов используем следующую команду:
iptables -t nat -D PREROUTING –s *ваша сеть/маска* –o eth1 -j MASQUERADE
Пример написания команды:
iptables -t nat -D PREROUTING –s *ваша сеть/маска* –o eth1 -j MASQUERADE
Команда iptables используется для настройки правил фильтрации пакетов в Linux. Давайте разберем команду по частям:
- iptables: Это команда для управления таблицами фильтрации пакетов в Linux.
- -t nat: Указывает, что мы работаем с таблицей NAT (Network Address Translation). Таблица NAT отвечает за преобразование адресов пакетов, чтобы они могли быть отправлены или получены.
- -D POSTROUTING: Команда -D добавляет (append) правило в цепочку. В данном случае, правило добавляется в цепочку FORWARD, которая применяется к пакетам после того, как они были обработаны и перед отправкой на выход (внешний интерфейс).
- -s 172.16.4.0/28: Указывает источник (source) для пакетов, к которым будет применяться правило. В данном случае это сеть 172.16.4.0 с маской 28 бит. Это означает, что будут включены IP-адреса от 172.16.4.1 до 172.16.4.14.
- -o eth1: Указывает, что правило применяется к пакетам, выходящим через интерфейс eth1. То есть, правило действует только для трафика, который покидает хост через этот сетевой интерфейс.
- -j MASQUERADE: Указывает действие (jump) для пакетов, которые соответствуют правилам. В данном случае, MASQUERADE используется для маскарадинга – это процесс изменения IP-адреса пакетов, чтобы они выглядели так, как будто исходят с IP-адреса интерфейса, через который они выходят. Это полезно, например, для маршрутизации трафика из локальной сети в интернет.
После выполнения команды выше, необходимо сохранить наше правило, используем команду:
Для просмотра правил iptables прописываем следующую команду:
iptables –t nat -D
Готово!
Спасибо за прочтение!