使用端口转发SSH到本地服务器?

时间:2015-01-16 21:57:40

标签: linux ubuntu ssh port iptables

我有2台服务器,都运行Ubuntu 14.04。他们之间有本地网络,只有第一台服务器有公共IP,但第二台服务器没有。

我的问题:我想使用SSH访问我的第二台计算机。目前,我通过SSH连接到我的第一台机器,然后从那里我做SSH到第二台机器。有没有办法将特定端口从第一台机器重定向到第二台机器?我的意思是,将特定的传入端口重定向到我的第二台服务器的本地IP。

示例:

ssh user_at_first_machine@first_machine.com -p 22     # ssh-ing to 1st machine
ssh user_at_second_machine@first_machine.com -p 2222  # ssh-ing to 2nd machine

1 个答案:

答案 0 :(得分:1)

是的,您可以在第一台服务器上进行NAT。

    iptables -t nat -I PREROUTING -d <public ip> -p tcp --dport 2222 -j DNAT --to <ip of server 2≥:22

要使用,您需要在服务器1上启用转发包:

    sysctl -w net.ipv4.ip_forward=1

要保留它,请在/etc/sysctl.conf中添加以下内容:

    net.ipv4.ip_forwarding = 1

确保服务器1的防火墙允许流量。