‘壹’ SSH高级功能 - 远程端口转发
在本地端口的场景中,可以从Server-B建立到Server-A的SSH连接,但是如果Server-B到Server-A之间无法连接,只有Server-A到Server-B的连接呢? (比如开发机可以访问服务器,但是服务器一般是不可以访问本地开发机的)
假设Server-A的IP为 192.168.58.101 ,Server-B的IP是 192.168.58.103
在Server-A上执行如下命令:
上面的命令,就建立了远程端口转发,把远程服务器Server-B的9906端口的所有数据都会被转发到Server-A 192.168.58.101 的3306端口
在Server-B上执行命令
就可以连接到Server-A上的MySQL Server了
本地端口转发 与 远程端口转发 结合起来使用,可以进行链式转发。假设A主机在公司,B主机在家,C主机为远程云主机。A主机上运行了前文的Node.js服务,需要在B主机上访问该服务。由于A和B不在同一个网络,且A主机没有独立公共IP地址,所以无法直接访问服务。
通过本地端口转发,将发送到B主机4000端口的请求,转发到远程云主机C的3000端口。
通过远程端口转发,将发送到远程云主机C端口3000的请求,转发到A主机的2000端口。
这样,在主机B可以通过访问 http://localhost:4000 来访问主机A上的服务。
‘贰’ 通过iptables实现共享上网及端口代理转发
虚拟机器1:
1、NAT网:192.168.183.131 (可上外网)
2、LAN网:10.0.0.1
虚拟机器2:
LAN网:10.0.0.100
虚拟机器3:
LAN网:10.0.0.200
目标:虚拟机器2和3 通过 虚拟机器1 共享上网
操作步骤:
以上完成,即可上网(共享上网,不需要开启防火墙)。
目标:通过访问虚拟机器1的80端口,代理访问虚拟机2的nginx80端口
操作步骤:
此时,在浏览器上,输入192.168.183.131 即可访问到nginx页面。
由此可见,iptables作端口转发,也是非常简单的(转发,不需要开启防火墙)。
PS:以上两种情况,相关配置情况:
相关命令集合:
Centos7极简单模式:
同样开启路由转发sysctl -w net.ipv4.ip_forward=1.
常见操作
实际案例
云服务器
一般云服务器只有内网网卡,外网IP是映射IP;
因此只要转发内网IP,然后开启路由转发即可。
开启路由转发: sysctl -w net.ipv4.ip_forward=1
‘叁’ 阿里云云服务器怎么内网穿透
阿里云云服务器内网穿透的方法主要有以下几种:
利用公网IP:
SSH隧道:
使用FRP或nat123等工具:
注意事项:
综上所述,阿里云云服务器的内网穿透方法主要包括利用公网IP、SSH隧道以及使用FRP或nat123等工具。具体选择哪种方法取决于实际需求和环境条件。