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

时间:2019-02-20 19:50:10

标签: oracle-cloud-infrastructure

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

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

尽管进行了此配置,但是我无法访问计算节点的公共IP。有什么想法吗?

8 个答案:

答案 0 :(得分:4)

如果您的本地虚拟机不通过iptable规则接受端口80上的连接,请通过vinodh用作邮局

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

那帮助了我!

答案 1 :(得分:4)

始终参考官方指南: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

答案 2 :(得分:2)

在Oracle Cloud Infrastructure上部署计算实例时,您需要考虑以下几点:

  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

答案 3 :(得分:2)

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

iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m状态--state新的,已确定-j接受

答案 4 :(得分:2)

前提条件

  1. 虚拟机实例应该已经创建并运行
  2. 访问在创建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 

访问默认安全列表并编辑入口规则以允许端口上的Internet流量

  

编辑INGRES规则添加CIDR 0.0.0.0/0 TCP目标9999   (N):网络>虚拟云网络>虚拟云网络详细信息>安全列表>安全列表详细信息

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

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

答案 5 :(得分:1)

我知道了。连接问题是由于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

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

答案 6 :(得分:0)

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

答案 7 :(得分:0)

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

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