甲骨文 vps 的防火墙设置

测试签发的银行卡,顺道撸了个甲骨文云的永久免费的 VPS,在上面搭建了一个饭饭服务。搭建后发现无法访问需要用到的 80/443 这两个端口。

在终端下执行命令 telnet 域名或IP 端口,因为在 macOS 下默认是没有 telnet 的可以直接安装或者使用 nc,即

nc -v domain.com port

得到的结果是 nc: connectx to domain.com port 443 (tcp) failed: Connection refused,说明端口未通。

解决办法

  • 先添加 ingress

    点击 vps,选择 Primary VNIC 下面的 Subnet,然后在 Security Lists 下选择 Default Security List for ...,在 Ingress Rules 下增加一条 Rule。

    SOURCE TYPE - CIDR

    SOURCE CIDR - 0.0.0.0/0

    IP PROTOCOL - All Protocols(也可以根据自己的情况选择)

  • 在 vps 中增加防火墙信息,开放所有的端口

    sudo iptables -P INPUT ACCEPT
    sudo iptables -P FORWARD ACCEPT
    sudo iptables -P OUTPUT ACCEPT
    sudo iptables -F
    sudo iptables-save
    

当然如果想开放指定的端口,比如开放 8080 端口,格式为 sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

还需要将这些持续化,不然重启服务器就会失效。可以通过 iptables-persistent 来实现持续化

apt install -y iptables-persistent //安装
netfilter-persistent save //保存并设置为开机启动
netfilter-persistent reload //重新载入

iptable 规则就永久保存,重启服务器也不会有影响了。

增加 IPv6

进入所在的 oracle cloud 的节点,我的是韩国节点,其他的节点比如日本美西。登录后,

  • 选择左上角主菜单的网络->虚拟云网络,选择对应的虚拟网络

  • 资源->CIDR 中增加 Add IPv6 CIDR Block,添加完成

  • 资源->子网中选择对应的网络,勾选启用 IPV6 CIDR 块,下面填写 ee

  • 资源->路由表中选择对应的路由后面的点,选择路由详情->添加路由规则,增加一条 IPv6 的路由信息

    目标类型:Internet 网关

    目的地 CIDR:::/0

  • 资源->安全列表中选择对应的安全列表点击后面的点,选择详情,增加一条出站和一条入站规则

    目的地类型:CIDR

    目的地 CIDR:::/0

    IP协议:所有协议

  • 选择左上角主菜单的计算->实例,选择服务器,在资源->附加的 VNIC 中选择对应的 VNIC 后面的点,选择详情,选择 IPv6 地址,然后选择自动分配 IPv6 地址 即可。

服务器中设置

使用命令 ip addr 查看 IPv6 是否生效,一般都是自动生效的。


> 可在 Twitter/X 上评论该篇文章或在下面留言(需要有 GitHub 账号)