无法与Oracle计算示例(OCI)上的简单HTTP服务器(TCP连接)连接,SSH连接工作正常

vxf3dgd4  于 2023-04-29  发布在  Oracle
关注(0)|答案(3)|浏览(112)

我正在使用Oracle云创建一个用于学习的HTTP服务器,所以我对此是新手。感谢您的任何帮助!

示例信息

Image: Canonical-Ubuntu-20.04-2022.02.15-0
Shape: VM.Standard.E2.1.Micro

已在子网(7500端口)上添加入口规则:Picture of subnet

Source      IP Protocol Source Port Range Destination Port Range  Allows 
0.0.0.0/0   TCP         All                7500                   TCP traffic for ports: 7500

使用python创建http服务器:

python3 -m http.server 7500 &

显示:

ubuntu@tcp-server:~$ Serving HTTP on 0.0.0.0 port 7500 (http://0.0.0.0:7500/) ...

调用lsof -i返回

COMMAND    PID            USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
python3   1806            root    3u  IPv4  33281      0t0  TCP *:7500 (LISTEN)

ufw上允许的7500端口:

ufw Status: active

To                          Action        From
                  
7500                       ALLOW       Anywhere                  
7500 (v6)                  ALLOW       Anywhere (v6)

但是我不能访问public_Ip_address:7500。

使用telnet:

sudo telnet 152.69.123.118 7500

返回:

Trying 152.69.123.118...

并且不连接

提前感谢您!

wsxa1bj1

wsxa1bj11#

原因来自iptables设置:
sudo nano /etc/iptables/rules.v4
增加这句话:-A INPUT -p tcp -m state --state NEW -m tcp --dport 7500 -j ACCEPT
然后:
苏多苏
iptables-restore〈/etc/iptables/rules.v4
成交!
来自oci的ubuntu镜像已被oracle修改,默认设置已接受限制端口。因此,我们必须手动打开端口。

1qczuiv0

1qczuiv02#

在oci上使用新的ubuntu镜像时,需要注意一些重要的属性。为了便于讨论,默认情况下,防火墙和iptables是同义词
1.有4个链标准INPUT、FORWARD、OUTPUT和InstanceServices

  1. OUTPUT将有1条规则
InstanceServices  all  --  *      *       0.0.0.0/0            169.254.0.0/16
  1. biggest biggest biggest254.XXX.YYY指向oci服务,如bootvolume等。..
  2. FORWARD拒绝所有
    1.默认INPUT链如下所示
    这允许ssh和udp端口123仅用于NTP
    为端口7500创建一个规则并将其与ssh的现有tcp规则一起放置
sudo iptables -I  INPUT 6  -p tcp -m tcp --dport 7500 -j ACCEPT

现在INPUT链是
只要我们有正确的VCN路由表条目,安全列表条目或tcp 7500的网络安全组条目,您就可以通过示例防火墙到达目的端口7500

备注

它真正的导入是不删除OUTPUT链中的InstanceServices规则,也不删除InstanceServices链
如果您是iptables的新手,并且执行了以下操作,则可能会发生这种情况:

iptables -F
iptables -X

学习iptables是值得的,但是firewalld更容易。
OCI不建议使用ufw
你的iptable规则将不会在重启时执行,除非你坚持它们
这些问题在副标题Essential Firewall Rules下有很好的记录here

huus2vyu

huus2vyu3#

我也遇到了同样的问题,问题是oracle linux的防火墙,可以运行这个命令解决问题:

firewall-cmd --add-service=http --permanent

相关问题