新手上云优惠集合站

网络

端口不通时,先分清安全组和系统防火墙

服务在机器上已经启动,浏览器或 SSH 仍然连不上,多数是包在进系统之前就被丢掉了。云平台的安全组和操作系统里的防火墙是两层,要分别放行。

两层各自拦在哪里

ECS 的安全组作用在网卡外侧,规则不匹配的入方向流量到不了客户机。轻量应用服务器的对应页面通常叫防火墙,思路相同,入口不在 ECS 的安全组列表里。进了系统之后,firewalld、ufw 或云镜像自带的防火墙还可以再拦一次。

安全组一般是有状态的。入方向允许了某端口,这次连接的回包会自动放行,不必为了回包再写一条出方向规则。你自己在系统里用 iptables 写成无状态规则时,才需要同时考虑回去的流量。

公网只开需要的端口

远程登录开你实际使用的 SSH 端口,网站开 80 和 443。来源尽量写成你的固定 IP,而不是 0.0.0.0/0。数据库端口,例如 3306 或 5432,只对同 VPC 的内网地址开放。对全网开放数据库,扫描器会在几分钟内开始尝试登录。

进程要监听 0.0.0.0 或这台机器的内网地址,只监听 127.0.0.1 时,安全组放行也只能本机访问。可以用 ss 看监听地址,再从云控制台的规则里对一下端口和协议是 TCP 还是 UDP。

仍然不通时按这个顺序查

  1. 安全组或轻量防火墙的入方向有没有这条端口,来源是不是把你挡在外面。
  2. 系统防火墙是不是还有一条拒绝规则。
  3. 进程是否在跑,监听的是公网口还是仅本机。
  4. 服务器如果在中国大陆地域,网站的 80 和 443 可能还要等域名备案完成后才对外放行。