Назад | Перейти на главную страницу

Перенаправление на другой порт в iptables не показывает ошибки цепочки

У меня сейчас странная проблема с iptables. Просто я хочу перенаправить трафик с порта 514 на порт 5140. Для этого я использую эту команду IPTables:

iptables -t nat -A PREROUTING -p tcp --dport 514 -j REDIRECT --to-port 5140

Но я все равно получаю сообщение об отсутствии цепи

iptables: No chain/target/match by that name.

В таблице nat определенно есть цепочка PREROUTING, это iptables -t nat -nL

root@VPS-LOGGER-TMP:~# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination    

Я использую Debian Wheezy и загрузил все необходимые модули:

root@VPS-LOGGER-TMP:~# lsmod |grep nat
iptable_nat            12928  0 
nf_nat                 18242  1 iptable_nat
nf_conntrack_ipv4      14078  4 nf_nat,iptable_nat
nf_conntrack           52720  4 xt_state,nf_conntrack_ipv4,nf_nat,iptable_nat
ip_tables              22042  2 iptable_filter,iptable_nat
x_tables               19118  9 ip_tables,iptable_filter,xt_multiport,ip6_tables,ip6table_filter,xt_state,xt_tcpudp,ipt_REJECT,iptable_nat

Вы можете сказать мне, что я делаю не так? Насколько я знаю, это должно работать отлично. Большое спасибо.

Тебе нужно

CONFIG_IP_NF_TARGET_REDIRECT

установите значение y или m в конфигурации ядра, чтобы использовать -j REDIRECT.

Модуль будет называться xt_REDIRECT, и кажется, что он отсутствует на вашем компьютере.