Переадресация портов на Linux без iptables?

У меня есть сервер Linux VPS (virtuozzo), и мне нужно настроить переадресацию портов, но мой хостинг-провайдер не разрешает модули ядра iptables-nat, поэтому iptables -t nat - не работает.

Я ищу другие способы, как это сделать. Я знаю, что могу перенаправить порт, используя openssh, но мне нужно переадресовать более 20 разных портов, tcp и udp, так что это не вариант.

Есть ли какое-нибудь программное обеспечение для Linux, которое может выполнять переадресацию портов?

8 ответов

Решение

Я обнаружил небольшую утилиту с именем portfwd http://portfwd.sourceforge.net/ которая делает именно то, что мне нужно (пересылка TCP и UDP), на домашней странице написано, что она последний раз обновлялась в 2002 году, но последний выпуск - 2007, и он работает на ядре 2.6.,

Используйте инструмент под названием "socat", это отличный инструмент для таких вещей, и он уже упакован во многие дистрибутивы Linux. Читайте об этом здесь: http://www.dest-unreach.org/socat/doc/README

Пример переадресации портов с помощью socat:

socat TCP4-LISTEN:80,fork TCP4:www.yourdomain.org:8080

Это перенаправляет все TCP-соединения через порт 80 на www.yourdomain.org порт 8080 TCP.

Есть крошечная, легкая программа ресурсов redir который довольно настраивается.

apt-get install redir в дистрибутивах на основе Debian.

Как насчет rinetd?
Это демон, который перенаправляет TCP-соединения. Загляните на страницу справочника, чтобы узнать, соответствует ли она вашим потребностям: http://www.boutell.com/rinetd/

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

С помощью xinetd или другая программа, которая использует tcpwrappers библиотека позволит вам применять ограничения доступа, если и когда это станет необходимым.

xinet/ Inetd. Например:

переадресовывать

Позволяет перенаправить службу tcp на другой хост. Когда xinetd получает tcp-соединение через этот порт, он порождает процесс, который устанавливает соединение с указанным хостом и номером порта, и пересылает все данные между двумя хостами.

http://linux.die.net/man/5/xinetd.conf

SSH Переадресация портов, если вы можете туннелировать соединение SSL.

Хорошо, вот простой ответ, который должен сработать, это не ракетостроение, но большинство людей усложняют ответ и путают все новое с пользователями Linux.

UFW позволяют 2xxx

2xxx = любой номер вашего порта просто введите эту команду в ваш серверный терминал, и ваш нужный порт будет открыт.

Другие вопросы по тегам