LINUX.ORG.RU
ФорумAdmin

Помогите настроить редирект портов на VPS OpenVZ

 , , ,


0

2

Я всегда делал редирект портов через iptables:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8080

Тут на днях хостер поменял провайдера и видимо что-то в ядре Линукса. Теперь на эту команду выдается ошибка:

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

Общение с техподдержкой выявило только то, что вместо eth0 надо писать venet0. На остальные вопросы отвечают однотипно в духе:

Your VPS is able to be connected to via SSH in putty.

If you need further assistance you'll need to purchase full management for $39.95/month.

Kind Regards,

Jon Nguyen - Operations Director

или в лучшем случае так:

IPTables are enabled so port forwarding should work. Are you sure the command you are using is right?

Kind Regards,

Kaushal Subedi - Senior Systems Administrator

Я пробовал еще делать так:

iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 80 -j DNAT --to 127.0.0.1:8080

Ошибки не выдает, но никакого эффекта не достигается.


Ответ на: комментарий от shell-script

Не работает

Точно такая же ошибка:

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

Методом тыка выяснил, что не нравится слово REDIRECT.

kzv ()

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 8080

iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 80 -j REDIRECT --to-port 8080


Если продожает ругаться на REDIRECT то или ядро собрано без CONFIG_NETFILTER_XT_TARGET_REDIRECT или модуль не подгружается, хотя он вроде как автоматически должен подгружаться.

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

Да, похоже что что-то с ядром.

А можно как-то самому без участия хостера исправить этот косяк?

Вообще-то мне нужно чтоб сервер не из под рута мог слушать 80 порт. Может есть другие варианты кроме форвардинга?

kzv ()
Ответ на: Да, похоже что что-то с ядром. от kzv

Re: Да, похоже что что-то с ядром.

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

modprobe xt_REDIRECT
Если не поможет, выполни:
ls /lib/modules/версия_ядра/kernel/net/netfilter/ | grep -i redirect
и пробуй подгржать по порядку модули из полученного списка.

unclear ()
Ответ на: Re: Да, похоже что что-то с ядром. от unclear

Re: Да, похоже что что-то с ядром.

на моей памяти iptables сам загружал нужные модули.

Некоторые действительно подгружает, но не все.

unclear ()
Ответ на: Re: Да, похоже что что-то с ядром. от unclear

Автоматом модуль не подгружается

[root@3s3s ~]# modprobe xt_REDIRECT
FATAL: Module xt_REDIRECT not found.

Поиск в интернете сказал, что в OpenVZ невозможно загрузить модули ядра. Не знаю на сколько это правда.

kzv ()
Ответ на: Автоматом модуль не подгружается от kzv

Re: Автоматом модуль не подгружается

Вот собственно разгадка, модули можно добавлять только на хосте, если доступа к хосту нет то сделать это может только провайдер. Можешь попробывать узнать у техподдержки предоставляют ли они модуль ipt_REDIRECT.

unclear ()
Ответ на: комментарий от tazhate

Мне надоело общение с суппортом

Я решил проблемму через hinetd:

service my_redirector
{
    type = UNLISTED
    disable = no
    socket_type = stream
    protocol = tcp
    user = root
    wait = no
    port = 80
    redirect = 127.0.0.1 8080
    log_type = FILE /tmp/somefile.log
}
service my_redirector
{
    type = UNLISTED
    disable = no
    socket_type = stream
    protocol = tcp
    user = root
    wait = no
    port = 443
    redirect = 127.0.0.1 1111
    log_type = FILE /tmp/somefile.log
}

На сколько кривое это решение для переброса портов?

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