Книга: Сетевые средства Linux
Опции 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
выполняется как пользовательский процесс, он не позволяет добиться такой эффективности, как средства перенаправления, реализованные в составе ядра.
- Перенаправление портов
- Chapter 10. Iptables matches
- Chapter 11. Iptables targets and jumps
- Chapter 15. Graphical User Interfaces for Iptables
- Chapter 16. Commercial products based on Linux, iptables and netfilter
- Where to get iptables
- iptables-save
- iptables-restore
- Basics of the iptables command
- Iptables debugging
- rc.test-iptables.txt
- rc.flush-iptables.txt