使用端口转发 SSH 连接到本地服务器?
SSH-ing to local server using with port forwarding?
我有 2 台服务器,都是 运行 Ubuntu 14.04。他们之间有本地网络,只有第一台服务器有 Public 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
是的,您可以在第一台服务器上进行 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 的防火墙允许流量。
我有 2 台服务器,都是 运行 Ubuntu 14.04。他们之间有本地网络,只有第一台服务器有 Public 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
是的,您可以在第一台服务器上进行 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 的防火墙允许流量。