IP-маскирование с помощью программы ipchains
Если в ядре разрешены функции ipchains, а сама программа скомпилирована, то режим IP-маскирования включается почтимгновенно (естественно, у компьютера должно быть два сетевых интерфейса: один — для локальной сети, а другой — для внешнего соединения). В первую очередь необходимо активизировать перенаправление IP-пакетов: # echo 1 > /proc/sys/net/ipv4/ip_forward Чтобы проверить результат, введите # cat /proc/sys/net/ipv4/ip_forward Если на экране будет отображено "1", значит, ядро сделало то, что нам нужно.
Но это еще не все. Нужно задать правило, разрешающее перенаправление пакетов в цепочке forward. Тут следует поступить от обратного. Нельзя, чтобы по умолчанию было разрешено перенаправление всех пакетов, поэтому сначала запретим его: # ipchains -Р forward DENY А теперь ослабим это ограничение, сделав исключение для интерфейса ethl, который обычно используется для внешних соединений: # ipchains -A forward -i ethl -j MASQ IP-маскирование с помощью программы iptables В ядрах серии 2.4.x включить режим IP-маскирования тоже несложно.
Но теперь за это отвечает не цепочка forward, а таблица nat (IP-маскирование является упрощенной разновидностью системы NAT). Сначала следует убедиться в том, что модуль iptable_nat загружен (напоминаем: для этого нужно быть зарегистрированным в системе под именем root). Загрузку модуля выполняет команда modprobe: # modprobe iptable_nat Следующая команда загружает все правила таблицы nat: # iptables -N nat Ядро не выдаст никаких сообщений в случае успешного завершения этих операций, поэтому нужно также вызвать команду Ismod и проверить, какие модули загружены.
Как и в случае программы ipchains, перенаправление IP-пакетов включается такой командой: # echo 1 > /proc/sys/net/ipv4/ip_forward Теперь уже можно с помощью программы iptables создать нужное нам правило: # iptables -t nat -A POSTROUTING -о ethl -j MASQUERADE Опция -t задает имя таблицы, в которую добавляется правило, а опция -о — интерфейс, через который отправляются пакеты. В системе Netfilter маскирование пакетов осуществляется иначе, чем в ядрах серии 2.2.x.
Эта операция выполняется после всех остальных (потенциальных) операций над пакетами, что вполне резонно, так как с перенаправленным пакетом уже очень трудно работать. Цепочка POSTROUTING содержит правила, которые применяются к пакетам, собирающимся покинуть брандмауэр.