LINUX.ORG.RU
решено ФорумAdmin

iptables can't initialize iptables table `nat': Table does not exist

 , ,


0

1

Приветствую!

Достался сервер, потребовалось прописать правило в цепочку PREROUTING следующего вида:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 123 -j REDIRECT --to-port 4567

Когда пытаюсь сделать все, что связано с цепочками 'nat' вываливается ошибка:

 iptables v1.4.21: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded. 

uname -a:

 Linux 123.domain.ru 2.6.32-042stab117.16 #1 SMP Fri Sep 9 21:57:19 MSK 2016 x86_64 x86_64 x86_64 GNU/Linux
 

Команда #modprobe iptable_nat ошибок не выдаёт, но модуль в lsmod не появляется

Прошу помочь решить проблему с nat'ом

Почитав соседнюю ветку iptables -t nat не добавляется правило понял, что скорее всего проблему не исправить. Есть ли какие-то альтернативные варианты по редиректу порта?



Последнее исправление: seregakhv (всего исправлений: 4)

Так все написано в выводе команды

Table does not exist (do you need to insmod?)

Ядро не поддерживает nat таблицу. Надо либо модуль добавить либо вкомпилить в ядро

samson ★★
()
Ответ на: комментарий от Black_Shadow

ошибку не выдаёт, но и lsmod ничего не показывает

seregakhv
() автор топика
Ответ на: комментарий от Deleted

Это если ядро собрано с соответствующей опцией.

Да.

Black_Shadow ★★★★★
()

Конфиг в любом случае посмотреть надо на предмет опции CONFIG_NF_NAT или как там... Надо что бы либо в ядро вкомпилино было, либо модулем. Как посмотреть - уже написали.

В ядро у вас не вкомпилено. Значит остаётся только модуль. Модули можете поспать в /lib/modules.

Если нет то ядро другое надо, либо пересобирать

samson ★★
()

Linux 123.domain.ru 2.6.32-042stab117.16

CentOS Linux release 7.3.1611

Если у вас виртуалка, какой конфиг/компиляция ядра?

Делайте через user-space, типа ssh или socat port forwarding.

mky ★★★★★
()

2.6.32-042stab117.16

У Вас Virtuozzo-контейнер. В ядре нет модуля nf_nat.

int13h ★★★★★
()
Ответ на: комментарий от mky

ssh-tunnel

Как временно-костыльное решение сделал ssh-тоннель сам на себя:

 ssh -v  -L  my_ip:80:127.0.0.1:8080 user@localhost  

Несколько часов проработало.

seregakhv
() автор топика

iptables нужно было включить в настройках хостинга. После включения всё заработало. Название хостинга писать не буду, чтобы не сочли за рекламу

seregakhv
() автор топика
Ответ на: комментарий от seregakhv

Название хостинга писать не буду, чтобы не сочли за рекламу

Why? Что бы еще 100500 таких же как вы создали темы? Имхо лучше уж решение написать полное, что бы потом другие по граблям не ходили.
ЗЫ Лично мне-то пофиг, только народ «через одну» здесь плодит подобные темы.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.