Как я могу туннелировать соединения Telnet между двумя интерфейсами?

У меня есть следующая сеть:

PC1 --|¯¯¯¯¯¯¯¯¯|                            |¯¯¯¯¯¯¯¯¯|-- board2
PC2 --| gateway |-- (eth0) [server] (eth1) --| gateway |
PC3 --|_________|                            |_________|-- board1

Как вы можете видеть, сервер (под управлением Linux) имеет 2 интерфейса, поэтому ПК и встроенные платы не находятся в одной подсети.

Я хотел бы разработать простое приложение (или использовать существующее), которое туннелирует входящие соединения Telnet из eth0 (используя определенный порт) для плат через eth1,

У меня нет привилегий root на сервере, но у меня есть обычная учетная запись Unix. Я не хочу, чтобы ПК фактически "входили" на сервер; Я просто хочу, чтобы они прошли через него, чтобы подключиться к платам. На сервере установлены Python, PHP и Perl.

Я хочу поддерживать несколько соединений. Номер порта можно использовать для переадресации соединения на правую плату (скажем, у меня 10 плат, затем туннель прослушивает порты с 3000 по 3009).

Я могу представить себе простое веб-приложение для этого, но мне нужно собственное подключение Telnet, которое будет поддерживать CTRL+C и все такое, и позволит вам использовать любой эмулятор терминала на ПК (например, PuTTY или другой), который работает под управлением Windows.,

Любая помощь приветствуется.

1 ответ

Решение

Похоже, вы ищете TCP- прокси. Прокси-сервер принимает подключения к одному порту, подключается к другому ip / порту, а затем передает трафик туда и обратно.

Если у вас есть xinetd в вашей системе у вас уже есть то, что вам нужно. redirect директива для службы заставляет xinetd открывать соединение с другим хостом / портом и действовать как прокси. Смотрите этот документ для примера.

баланс - еще один очень простой прокси-инструмент, который будет делать то, что вам нужно. Это, вероятно, легче запустить как неroot пользователь, тем более что он полностью настроен в командной строке.

Так как ты не root на вашем сервере вам нужно будет запустить их на портах> 1024, но в остальном у вас все будет готово.

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