在 Oracle Cloud Infrastructure Compute 节点上打开端口 80

Opening port 80 on Oracle Cloud Infrastructure Compute node

这是一个基本问题,但我似乎无法通过仔细阅读 Oracle 云基础设施文档来解决这个问题。我创建了一个基于 Ubuntu 的计算节点,并将其附加到子网。在该子网中,我创建了一个有状态规则,源为 0.0.0.0/0,IP 协议:TCP,源端口范围:全部,目标端口范围:80.

服务器上没有配置防火墙。

尽管有此配置,我仍无法访问计算节点的 public IP。有什么想法吗?

如果您还没有创建 Internet 网关,可能就是这个原因。为了将 VCN 连接到 public 互联网,您需要有一个互联网网关和一个路由 table 来引导流量通过网关。

我明白了。连接问题是由于 Oracle 在所有 Oracle 提供的映像上默认使用 iptables。从字面上看,启动此实例时我做的第一件事就是检查 ufw,假设存在一些防火墙限制。 ufw 状态是不活动的,所以我断定防火墙在本地是完全开放的。因为根据我的理解,ufwiptables 都查看了 netfilter 内核防火墙,并且因为 ufw 是 Ubuntu 上事实上的(标准?)防火墙解决方案,我已经不知道为什么他们认为以这种方式使用 iptables 是有意义的。也许只是为了对所有图像进行标准化?

我通过 运行ning 了解了规则:

$ sudo iptables -L

然后我将规则保存到一个文件中,以便以后可以添加相关的规则:

$ sudo iptables-save > ~/iptables-rules

然后我 运行 这些规则通过允许所有流量通过来有效地禁用 iptables:

$ iptables -P INPUT ACCEPT
$ iptables -P OUTPUT ACCEPT
$ iptables -P FORWARD ACCEPT
$ iptables -F

要一次性清除所有 iptables 规则,运行 这个命令:

$ iptables --flush

无论如何,希望这对其他人有所帮助,因为关于此事的文档不存在。

在 Oracle 云基础设施上部署计算实例时,您需要考虑以下几点:

  1. 创建互联网网关 (IGW)。
  2. 定义指向 IGW 的路由。
  3. 允许与 IGW 关联的安全列表中的端口 80。默认情况下,您只能访问 SSH 和 ICMP 3,4 类型。
  4. 允许在 Compute 的实例防火墙上进行连接(默认情况下启用)。

在您的示例中,如果您使用的是 OEL 形状:

$ sudo firewall-cmd --zone=public --permanent --add-port=80/tcp

$ sudo firewall-cmd --reload

我想如果您将下面的规则添加到您的 iptables 它应该可以工作;否则,您将扰乱与这些 Oracle 映像上预配置的 块卷附件 相关的其他规则。

iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

记入 https://medium.com/@fathi.ria/oracle-database-cloud-open-ports-on-oci-1af24f4eb9f2

计算机实例(如Ubuntu) -> 虚拟云网络 -> 安全列表 -> 入口规则 -> 请添加规则以允许从任何地方访问端口 80

先决条件

  1. VM 实例应该已经创建并且 运行ning
  2. 访问 Public 和创建 VM 实例期间使用的私钥

使用 SSH 和运行以下命令登录虚拟机

$ sudo iptables --list --line-numbers

它将显示有关 Chain INPUT(策略接受)的详细信息。来自列表 需要删除 IPTABLES 中的 REJECT all 规则。

$ sudo iptables -D INPUT <Reject Line number>
e.g.
$ sudo iptables -D INPUT 6

检查REJECT规则是否被删除

sudo iptables --list --line-numbers 

访问默认安全列表并编辑入口规则以允许端口

上的互联网流量

Edit the INGRES Rule Add CIDR 0.0.0.0/0 TCP Destination 9999 (N): Networking >Virtual Cloud Networks> Virtual Cloud Network Details>Security Lists> Security List Details

通过网络浏览器访问您的应用程序

Type http://<public IP address of the VM>:port

始终参考官方指南:https://docs.cloud.oracle.com/en-us/iaas/developer-tutorials/tutorials/apache-on-ubuntu/01oci-ubuntu-apache-summary.htm

$ sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
$ sudo netfilter-persistent save
$ sudo systemctl restart apache2