这是一个基本问题,但是我似乎无法通过阅读Oracle文档来解决。我已经创建了一个基于Ubuntu的计算节点,它已连接到子网。在该子网中,我创建了一个有状态规则,其源为0.0.0.0/0,IP协议:TCP,源端口范围:全部,目标端口范围:80。
服务器上没有配置防火墙。
尽管进行了此配置,但是我无法访问计算节点的公共IP。有什么想法吗?
答案 0 :(得分:4)
如果您的本地虚拟机不通过iptable规则接受端口80上的连接,请通过vinodh用作邮局
iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
那帮助了我!
答案 1 :(得分:4)
$ 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上部署计算实例时,您需要考虑以下几点:
在您的示例中,如果您使用的是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)
$ sudo iptables --list --line-numbers
它将显示有关Chain INPUT(策略接受)的详细信息。从清单 需要删除IPTABLES中的REJECT all规则。
$ sudo iptables -D INPUT <Reject Line number>
e.g.
$ sudo iptables -D INPUT 6
sudo iptables --list --line-numbers
编辑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
状态为非活动状态,因此我得出结论,防火墙在本地处于打开状态。因为据我所知ufw
和iptables
都着眼于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