Реализация маскарада с помощью Iptables
Чтобы реализовать маскировку с помощью iptables, нам нужно добавить правило в одну из цепочек маршрутизации таблицы NAT. Цепочка постмаршрутизации используется для модификации пакетов, покидающих систему после того, как они были маршрутизированы.
Шаг 1. Добавление правила маскирования в цепочку POSTROUTING
Выполните следующую команду в терминале Linux:
Эта команда добавляет в цепочку POSTROUTING таблицы NAT правило, которое сопоставляет все исходящие пакеты, проходящие через интерфейс eth0, и заменяет их исходный IP-адрес на IP-адрес интерфейса eth0.
Параметр -t используется для указания таблицы, с которой мы хотим работать, в данном случае это таблица NAT.
Опция -A используется для добавления нового правила в цепочку.
Опция -o используется для указания исходящего интерфейса, через который проходят пакеты.
Параметр -j используется для указания цели правила, которым в данном случае является MASQUERADE, что означает, что исходный IP-адрес пакета должен быть замаскирован.
После добавления этого правила исходный IP-адрес любого исходящего пакета, проходящего через интерфейс eth0, маскируется IP-адресом интерфейса eth0.
Шаг 2. Указание IP-адреса для маскировки
По умолчанию правило маскировки применяется ко всем исходящим пакетам на всех интерфейсах. Однако можно указать конкретный интерфейс для маскировки с помощью параметра -s, за которым следует IP-адрес интерфейса.
Выполните следующую команду:
Примечание. Правило маскировки применяется только к пакетам, отправляемым через интерфейс eth1.
Шаг 3. Указание исходного IP-адреса для маскировки
Правило маскировки заменяет исходный IP-адрес всех исходящих пакетов на IP-адрес исходящего интерфейса по умолчанию.
Выполните следующую команду, чтобы указать другой исходный IP-адрес, используя параметр –to-source, за которым следует IP-адрес:
Примечание. Эта команда маскирует все исходящие пакеты с IP-адресом 203.0.113.1.