最近注册了一个 Oracle Cloud 账户,在创建实例的时候发现端口无法在外部访问。原本以为是电脑的问题,使用 nmap 扫描端口发现只开放了 22 (ssh) 端口和 32767 端口,判定为安全组未开放端口导致。下面是解决方法
更改入站规则
打开实例详细信息 > 实例信息,找到 实例详细信息,定位到 虚拟云网络,通常是 vcn-yyyymmdd-HHmm
,点击打开。
找到 子网,点击当前的子网,通常是 subnet-yyyymmdd-HHmm
。然后定位到 安全组,格式为 Default Security List for vcn-yyyymmdd-HHmm
。你会看到三个入站规则
编辑第一条规则,将 源端口范围 和 目的地端口范围 的值去掉,允许全部端口入站。第二、三条规则用于控制 ICMP 流量,可选编辑,方式和第一条规则一样。
允许实例开放全部端口
登录到 SSH,在终端内执行以下指令 (适用于 Ubuntu、Debian):
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
sudo apt-get purge netfilter-persistent
完成后,前往实例详细信息重新引导实例。