如何配置端口映射?
问题描述
公网访问“弹性云服务器1”的弹性公网IP和某个端口,可以自动跳转到“弹性云服务器2”的弹性公网IP和某个端口。
Windows操作系统
假定需要通过“弹性云服务器1”(192.168.10.43)的8080端口连接“弹性云服务器2”(192.168.10.222)的18080端口,则需要在弹性云服务器1执行如下操作。
请确保云服务器的安全组、防火墙已放通对应的端口。
- 打开cmd窗口执行命令。本例以Windows 2012操作系统云服务器为例。
netsh interface portproxy add v4tov4 listenaddress=192.168.10.43 listenport=8080 connectaddress=192.168.10.222 connectport=18080
如果想取消上面配置的端口转发,可执行如下命令。
netsh interface portproxy delete v4tov4 listenaddress=192.168.10.43 listenport=8080
- 执行如下命令可查看服务器配置的全部端口映射。
netsh interface portproxy show v4tov4
图1 Windows操作系统云服务器端口映射
Linux操作系统
以登录为例,登录“弹性云服务器1”的1080端口自动跳转访问“弹性云服务器2”的22端口。
弹性云服务器1的私网IP:192.168.72.10;弹性公网IP:123.xxx.xxx.456。
弹性云服务器2的私网IP:192.168.72.20。
- 登录Linux弹性云服务器1。
- 在“iptables”的“nat”表中添加规则,执行如下命令,通过弹性云服务器1的1080端口映射到弹性云服务器2的22端口。
iptables -t nat -A PREROUTING -d 192.168.72.10 -p tcp --dport 1080 -j DNAT --to-destination 192.168.72.20:22
iptables -t nat -A POSTROUTING -d 192.168.72.20 -p tcp --dport 22 -j SNAT --to 192.168.72.10
- 验证配置是否生效,执行如下命令,登录弹性云服务器1的1080端口。
ssh -p 1080 123.xxx.xxx.456
图2 Linux操作系统云服务器端口映射
输入密码后登录到弹性云服务器2,弹性云服务器2的主机名为ecs-inner。
图3 登录到弹性云服务器2