我正在使用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...
并且不连接
提前感谢您!
3条答案
按热度按时间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修改,默认设置已接受限制端口。因此,我们必须手动打开端口。
1qczuiv02#
在oci上使用新的ubuntu镜像时,需要注意一些重要的属性。为了便于讨论,默认情况下,防火墙和iptables是同义词
1.有4个链标准INPUT、FORWARD、OUTPUT和InstanceServices
1.默认INPUT链如下所示
这允许ssh和udp端口123仅用于NTP
为端口7500创建一个规则并将其与ssh的现有tcp规则一起放置
现在INPUT链是
只要我们有正确的VCN路由表条目,安全列表条目或tcp 7500的网络安全组条目,您就可以通过示例防火墙到达目的端口7500
备注
它真正的导入是不删除OUTPUT链中的InstanceServices规则,也不删除InstanceServices链
如果您是iptables的新手,并且执行了以下操作,则可能会发生这种情况:
学习iptables是值得的,但是firewalld更容易。
OCI不建议使用ufw
你的iptable规则将不会在重启时执行,除非你坚持它们
这些问题在副标题
Essential Firewall Rules
下有很好的记录herehuus2vyu3#
我也遇到了同样的问题,问题是oracle linux的防火墙,可以运行这个命令解决问题: