Как туннелировать трафик с одной машины на другую?

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

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

Могу ли я сделать так, чтобы трафик, поступающий на один порт сервера, передавался на другой порт моей локальной машины?

4
задан 21 September 2011 в 23:23

2 ответа

Вы можете просто использовать openssh для этого: https://help.ubuntu.com/community/SSH/OpenSSH/PortForwarding

Команды для поиска: -L или -R.

Допустим, вы хотите перенаправить порт 4444 на сервере на порт 5555 на локальной машине. На сервере используйте

ssh -L 4444:local_machine_name:5555 user@local_machine_name 

или на локальной машине

ssh -R 4444:localhost:5555 user@server_machine_name 

(в первом примере вы можете подключиться к любой другой машине, нет необходимости подключаться к local_machine_name, вы можете просто используйте localhost для подключения к самому серверу).

Еще один более сложный способ - использовать сервер в качестве маршрутизатора. См. https://help.ubuntu.com/community/Router и особенно https://help.ubuntu.com/community/Router#Enable_IP_forwarding_and_Masquerading . Это то, что делают большинство небольших кабельных или домашних маршрутизаторов DSL.

0
ответ дан 21 September 2011 в 23:23

Это возможно при использовании iptables. На linuxhomenetworking.com есть хорошая инструкция, а дополнительную информацию о iptables можно найти в вики ubuntu . Обратите внимание, что в iptables есть также графический интерфейс, называемый Firestarter .

0
ответ дан 21 September 2011 в 23:23

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

Похожие вопросы: