<Предыдущая | Содержание: | Следующая>
3.3.2. iptables Маскарадинг
iptables также можно использовать для включения маскарадинга.
• Как и в случае с ufw, первым шагом является включение пересылки пакетов IPv4 путем редактирования /etc/sysctl.conf и раскомментируйте следующую строку:
net.ipv4.ip_forward = 1
Если вы хотите включить пересылку IPv6, также раскомментируйте:
net.ipv6.conf.default.forwarding = 1
• Затем выполните команду sysctl, чтобы активировать новые настройки в файле конфигурации:
sudo sysctl -p
• IP Masquerading теперь можно выполнить с помощью одного правила iptables, которое может немного отличаться в зависимости от конфигурации вашей сети:
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j МАСКАРАД
Приведенная выше команда предполагает, что ваше частное адресное пространство - 192.168.0.0/16, а ваше устройство с выходом в Интернет - ppp0. Синтаксис разбит следующим образом:
• -t nat - правило - зайти в таблицу nat
• -A POSTROUTING - правило должно быть добавлено (-A) к цепочке POSTROUTING
• -s 192.168.0.0/16 - правило применяется к трафику, исходящему из указанного адресного пространства.
• -o ppp0 - правило применяется к трафику, запланированному для маршрутизации через указанное сетевое устройство.
• -j MASQUERADE - трафик, соответствующий этому правилу, должен «прыгать» (-j) к цели MASQUERADE, чтобы управлять ею, как описано выше.
• Кроме того, каждая цепочка в таблице фильтров (таблица по умолчанию, где происходит фильтрация большинства или всех пакетов) имеет значение по умолчанию. политика ACCEPT, но если вы создаете брандмауэр в дополнение к шлюзу, вы, возможно, установили политики на DROP или REJECT, и в этом случае ваш замаскированный трафик должен быть разрешен через цепочку FORWARD для работы вышеуказанного правила:
sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ПРИНЯТЬ sudo iptables -A FORWARD -d 192.168.0.0/16 -m состояние \
--state УСТАНОВЛЕНО, СВЯЗАННО -i ppp0 -j ПРИНЯТЬ
Вышеупомянутые команды позволят всем подключениям из вашей локальной сети к Интернету и всему трафику, связанному с этими подключениями, вернуться на машину, которая их инициировала.
• Если вы хотите, чтобы маскировка была включена при перезагрузке, что вы, вероятно, сделаете, отредактируйте /etc/rc.local и добавьте любые команды, использованные выше. Например, добавьте первую команду без фильтрации:
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j МАСКАРАД