15042895833
首页 >> 新闻案例

如何开通阿里云服务器Linux或Windows上实现端口映射

作者:云服务器网 | 2025-12-17 00:00:11

阿里云服务器实例

一、什么端口映射?

端口映射:端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务。当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。

我们在内网中有一台Web服务器,但是外网中的用户是没有办法直接访问该服务器的。于是我们可以在路由器上设置一个端口映射,只要外网用户访问路由器ip的80端口,那么路由器会把自动把流量转到内网Web服务器的80端口上。并且,在路由器上还存在一个Session,当内网服务器返回数据给路由器时,路由器能准确地将消息发送给外网请求用户的主机。在这过程中,路由器充当了一个反向代理的作用,它保护了内网中主机的安全。

二、Windows 下实现端口映射

1. 查询端口映射情况

netshinterfaceportproxyshowv4tov4

2. 查询某一个 IP 的所有端口映射情况

netsh interface portproxyshowv4tov4 | find"[IP]"例: netshinterfaceportproxyshowv4tov4 | find"192.168.1.1"

3. 增加一个端口映射

云服务器开通不了

netshinterfaceportproxyaddv4tov4listenaddress=[外网IP] listenport=[外网端口] connectaddress=[内网IP] connectport=[内网端口] 例: netshinterfaceportproxyaddv4tov4listenaddress=2.2.2.2listenport=8080connectaddress=192.168.1.50connectport=80

4. 删除一个端口映射

netshinterfaceportproxydeletev4tov4listenaddress=[外网IP] listenport=[外网端口] 例: netshinterfaceportproxydeletev4tov4listenaddress=2.2.2.2listenport=8080

三、Linux 下端口映射

1. 允许数据包转发

echo1 >/proc/sys/net/ipv4/ip_forwardiptables-t nat -A POSTROUTING -j MASQUERADEiptables-A FORWARD -i [内网网卡名称] -j ACCEPTiptables-t nat -A POSTROUTING -s [内网网段] -o [外网网卡名称] -j MASQUERADE例:echo1 >/proc/sys/net/ipv4/ip_forwardiptables-t nat -A POSTROUTING -j MASQUERADEiptables-A FORWARD -i ens33 -j ACCEPTiptables-t nat -A POSTROUTING -s 192.168.50.0/24 -o ens37 -j MASQUERADE

2. 设置端口映射

iptables-tnat-APREROUTING-ptcp-mtcp--dport[外网端口]-jDNAT--to-destination[内网地址]:[内网端口]例:iptables-tnat-APREROUTING-ptcp-mtcp--dport6080-jDNAT--to-destination10.0.0.100:6090

实验:将部署在内网的服务映射到外网

实验环境

VMWare Workstation Pro5 台最小化安装的 centos 7 虚拟机

实验拓扑

内网外网是相对Server4来说的。Server1Server2为内网环境的两台服务器;Server3为外网环境下的一台服务器;Server4为一台双网卡主机,分别连接192.168.50.0/24172.16.2.0/24两个网络。

配置实验环境

1. Server1,2,3 上搭建 HTTP 服务

用 Python 在Server1上搭建一个简单的 HTTP 服务

cd~echo"server1"> index.html python -m SimpleHTTPServer 8080

Server2、Server3同理

对照实验

client上访问Server1的资源

curl http://192.168.50.11:8080/index.html

client上访问Server2的资源

curl http://192.168.50.12:8080/index.htm

client上访问Server3的资源

curl http://172.16.2.11:8080/index.html

可以看到,外网的client是无法访问内网Server1,Server2的资源的。

在Server4上配置端口映射

临时配置

允许数据包转发echo1>/proc/sys/net/ipv4/ip_forwardiptables-tnat-APOSTROUTING-jMASQUERADEiptables-AFORWARD-iens33-jACCEPTiptables-tnat-APOSTROUTING-s192.168.50.0/24-oens37-jMASQUERADE设置端口映射iptables-tnat-APREROUTING-ptcp-mtcp--dport8081-jDNAT--to-destination192.168.50.11:8080iptables-tnat-APREROUTING-ptcp-mtcp--dport8082-jDNAT--to-destination192.168.50.12:8080

永久配置

如果需要永久配置,则将以上命令追加到/etc/rc.local文件。

云服务器 关机吗

检查效果

client上访问 Server1 的资源

curl http://172.16.2.100:8081/index.html

client上访问Server2的资源

curl http://172.16.2.100:8082/index.html

client上访问Server3的资源

curl http://172.16.2.11:8080/index.html

如果Server4为 Windows,替换一下相应的命令即可

Windows 的 IP 信息如下

网卡

IP 地址

子网掩码

默认网关

备注

Ethernet0

192.168.50.105

255.255.255.0

-

内网网卡

Ethernet1

172.16.2.105

255.255.255.0

-

外网网卡

配置并查看端口映射情况

netshinterfaceportproxyaddv4tov4listenaddress=172.16.2.105listenport=8081connectaddress=192.168.50.11connectport=8080netshinterfaceportproxyaddv4tov4listenaddress=172.16.2.105listenport=8082connectaddress=192.168.50.12connectport=8080netshinterfaceportproxyshowv4tov4

检查效果

client节点上

curl http://172.16.2.105:8081/index.htmlcurl http://172.16.2.105:8082/index.htmlcurl http://172.16.2.11:8080/index.html

链接:https://www.cnblogs.com/connect/p/server-port-proxy.html

(版权归原作者所有,侵删)

泰拉瑞亚云服务器

上一篇:迅雷云服务器正忙SQL2005数据库安装图解
下一篇:云服务器复制同样都用于内网与外网之间的通信,端口转发和端口映射有啥区别?
联系我们