1、云服务商的安全组(防火墙):这是云平台层面的防火墙,控制着哪些外部IP可以访问你的云主机的哪些端口。这是最关键的一步,如果你只修改了主机本身的设置,但没有配置安全组,外部依然无法访问。
2、云主机自身的防火墙:Linux 的iptables/firewalld 或 Windows 的Windows Defender 防火墙,它控制着本机哪些端口可以对外开放。
下面我将以国内主流的云服务商(阿里云、腾讯云)为例,详细说明如何进行操作。
你可以把安全组理解为云平台给你虚拟机配备的“虚拟交换机防火墙”,所有流入/流出云主机的网络数据包,都必须先经过安全组的规则审查。
我们的目标就是:在安全组中创建一条“入方向”规则,允许外部流量访问你指定的端口。
整个流程可以概括为以下几步,具体操作界面会因云厂商而异:
flowchart TD
A[开始:配置端口映射] --> B{选择云平台};
B --> C[阿里云];
B --> D[腾讯云];
B --> E[其他云/HostUS等];
C --> F[登录控制台<br>找到目标云主机];
D --> F;
E --> F;
subgraph G [关键操作:配置安全组]
direction TB
H[找到并编辑<br>安全组规则] --> I[添加一条入站规则];
I --> J[协议类型: TCP/UDP];
I --> K[端口范围: 如80/80];
I --> L[授权对象: 0.0.0.0/0];
end
F --> G;
M[检查云主机<br>内部防火墙] --> N[Linux: 开放端口];
M --> O[Windows: 新建入站规则];
G --> M;
P[完成并测试] --> Q[使用公网IP:端口进行连接];
N --> P;
O --> P;下面我们来详细看看图中几个关键步骤的具体操作。
阿里云操作示例:
1、 登录阿里云控制台,进入云服务器 ECS。
2、 找到你要操作的实例,点击实例ID进入详情页。
3、 在详情页中,找到“安全组” 选项卡。
4、 点击“配置规则”。
5、 在“入方向”标签页下,点击“手动添加”。
6、 填写规则:
授权策略允许
协议类型根据你的服务选择,通常是TCP,如果是游戏或特定应用,可能是UDP,不确定就选全部(不推荐,不够安全)。
端口范围你需要映射的端口,格式为起始端口/结束端口,如果只映射一个端口,如80,就填写80/80,如果要映射一段端口,如8000-9000,就填写8000/9000。
授权对象允许访问的源IP,如果想对全网开放,填写0.0.0.0/0,如果只想让特定IP访问,例如你的办公室IP,填写你的IP/32(这样更安全)。
优先级默认1即可(数字越小,优先级越高)。
描述写个备注,如“Web服务端口”方便日后管理。
7、 点击保存。
腾讯云操作示例:
1、 登录腾讯云控制台,进入云服务器 CVM。
2、 找到你的实例,点击实例ID进入详情页。
3、 在详情页中,找到“安全组” 选项卡。
4、 点击实例所绑定的安全组ID,进入安全组管理页面。
5、 点击“入站规则” ->“添加规则”。
6、 填写规则(与阿里云类似):
类型自定义,你也可以选择预设的HTTP(80)、HTTPS(443)等。
来源0.0.0.0/0 或你的特定IP。
协议端口填写你的端口,例如TCP:80 或UDP:27015,也可以填写TCP:8000-9000 表示端口段。
策略允许
备注填写描述。
7、 点击完成。
其他云服务商(如华为云、AWS、Azure等):
操作逻辑完全一致,都是找到与云主机关联的防火墙或安全组,然后添加一条入站规则。
配置好云平台的安全组后,你还需要确保云主机操作系统自身的防火墙没有阻挡该端口。
Linux 系统(以 CentOS 7/8 为例,使用 firewalld):
1、查看防火墙状态:
systemctl status firewalld2、如果防火墙开启,需要放行端口:
# 放行TCP 80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 放行一段UDP端口
firewall-cmd --zone=public --add-port=8000-9000/udp --permanent
# 重载防火墙使配置生效
firewall-cmd --reload
# 查看已放行的端口
firewall-cmd --list-ports如果你使用的是 iptables,命令会有所不同。
Windows 系统:
1、 打开控制面板 ->系统和安全 ->Windows Defender 防火墙。
2、 点击“高级设置”。
3、 在左侧选择“入站规则”,然后在右侧点击“新建规则...”。
4、 选择“端口”,点击下一步。
5、 选择TCP 或UDP,并输入特定本地端口,如80 或27015。
6、 选择“允许连接”。
7、 根据需要应用该规则到域、专用、公用网络(通常全选即可)。
8、 为规则起一个名字,“My Web Service”,完成。
1、操作顺序:先配置云平台安全组,再配置主机内部防火墙。
2、测试方法:使用telnet 命令或在线端口扫描工具进行测试。
在本地电脑的命令提示符或终端中运行
telnet 你的云主机公网IP 端口号* 如果窗口变黑或显示连接成功,说明端口映射成功。
* 如果提示“无法打开到主机的连接”,说明失败,请重新检查以上两步。
3、安全建议:
最小权限原则在安全组的“授权对象”中,尽量不要使用0.0.0.0/0,而是只授权给你信任的IP地址段。
修改默认端口对于SSH(22端口)、RDP(3389端口)等管理端口,建议修改为不常见的端口号,并只允许你自己的IP访问,可以有效避免暴力破解。
按照以上步骤操作,你就可以成功地在云主机上实现端口映射了。
文章摘自:https://idc.huochengrm.cn/zj/20775.html
评论