Опции iptables для перенаправления портов

Опции iptables для перенаправления портов

Обеспечить перенаправление портов на компьютере под управлением Linux, поддерживающем NAT, можно различными способами. Один из них состоит в использовании iptables. Соответствующая команда имеет следующий вид:

# iptables -t nat -A PREROUTING -p tcp -i external-interface

 --destination-port port-num -j DNAT --to dest-addr:port-num

Ниже описаны компоненты данной команды.

• Опция, определяющая таблицу NAT (-t nat).

• Опция -A PREROUTING, указывающая на то, что изменения должны вноситься в состав пакета перед выполнением маршрутизации. Базовые средства NAT применяются после маршрутизации, но перенаправление портов предшествует маршрутизации.

• Опция, которая задает перенаправление TCP-портов (-p tcp).

• Правило, применяемое к пакетам, направленным через внешний интерфейс (-i внешний_интерфейс) по конкретному порту (-destination-port номер_порта).

• Опция -j DNAT, указывающая на то, что вместо NAT источника (SNAT) выполняется NAT назначения (DNAT).

• Опция --to адрес_назначения:номер_порта, сообщающая, что пакет должен быть направлен на указанный адрес с использованием указанного номера порта. В качестве адреса назначения можно указать, например, адрес 192.168.9.33, а номер порта может быть равен 80. Заметьте, что номер порта, задаваемый посредством опции --to, не обязательно должен совпадать с номером порта, представляющим значение опции --destination-port.

В случае необходимости вы можете задать команды перенаправления портов для каждого из серверов, выполняющихся во внутренней сети. Как и при определении базовой конфигурации NAT и правил брандмауэра, соответствующие команды желательно включить в состав сценария, вызываемого при загрузке системы.

На заметку

Существуют и другие инструменты, предназначенные для перенаправления портов. Такую возможность предоставляет, например, суперсервер xinetd. Поскольку xinetd выполняется как пользовательский процесс, он не позволяет добиться такой эффективности, как средства перенаправления, реализованные в составе ядра.