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

问题描述 投票:1回答:3

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

服务器上未配置防火墙。

尽管有这种配置,我无法访问计算节点的公共IP。有任何想法吗?

oracle-cloud-infrastructure
3个回答
2
投票

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

  1. 创建Internet网关(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

2
投票

我想到了。连接问题是由于Oracle在所有Oracle提供的映像上默认使用iptables。从字面上看,我在启动这个实例时做的第一件事就是检查ufw,假设有一些防火墙限制。 ufw状态无效,因此我得出结论,防火墙在当地是开放的。因为据我所知,ufwiptables都看看netfilter内核防火墙,并且因为ufw是Ubuntu上事实上的(标准?)防火墙解决方案,我不知道为什么他们认为以这种方式使用iptables是有意义的。也许只是为了标准化所有图像?

我通过运行来了解规则:

$ sudo iptables -L

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

$ sudo iptables-save > ~/iptables-rules

然后我运行这些规则,通过允许所有流量通过以下方式有效禁用iptables

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

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


0
投票

如果您还没有创建Internet Gateway,那可能就是原因。为了将VCN与公共互联网连接,您需要具有Internet网关和路由表来引导流量通过网关。


0
投票

我想如果你将下面的规则添加到你的iptables它应该工作,否则你将扰乱其他规则,这些规则与这些图像上预先配置的块卷附件有关。

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

© www.soinside.com 2019 - 2024. All rights reserved.