AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1487012
Accepted
FedKad
FedKad
Asked: 2019-09-28 08:46:23 +0800 CST2019-09-28 08:46:23 +0800 CST 2019-09-28 08:46:23 +0800 CST

尝试连接到 Oracle Cloud Intance 上的 TCP 服务时出现“无主机路由”

  • 772

我在Oracle Cloud Infrastructure (OCI)上创建了一个 Ubuntu 实例。我可以使用 SSH (TCP 22) 连接到这个实例。我在这个实例上创建了一些服务,比如 daytime (TCP 13)、mail (TCP 25)、http (TCP 80)、dns (TCP/UDP 53)。我在此实例的 OCI 管理网页的默认安全列表中添加了类似的规则,类似于默认的 SSH 规则。但是,当我尝试从 Internet 连接到任何这些服务时,我会收到No route to host错误消息。唯一的例外是可以正常工作的 SSH 服务。

一旦我安装ufw到这个实例;但是,后来我禁用并删除了ufw. 之后,我iptables也删除了包。所以,现在根本没有 Linux 防火墙。但是,我仍然有这个问题。

这似乎是一个与 OCI 相关的问题。我在其他云平台(AWS、GCP等)做过类似的配置,没有问题。

我还能在哪里寻找隔离这个问题?


更新:删除 iptables并重新启动解决了这个问题。现在我将尝试重新安装 iptables。

ubuntu-18.04 cloud
  • 5 5 个回答
  • 9223 Views

5 个回答

  • Voted
  1. Best Answer
    FedKad
    2019-09-28T10:19:57+08:002019-09-28T10:19:57+08:00

    该问题似乎与 OCI 不希望您ufw在 Ubuntu 中使用有关:https ://docs.cloud.oracle.com/iaas/Content/knownissues.htm#ufw

    我必须按照上面给出的链接中的说明禁用或删除ufw并编辑该文件。/etc/iptables/rules.v4之后,要启用新规则,我需要运行:

    # iptables-restore </etc/iptables/rules.v4
    

    似乎ufw规则在这样的配置中没有任何作用,我必须使用iptables. 然而,在 OCI 平台上的 Ubuntu 服务器上管理防火墙规则并不是一种非常用户友好的方式。

    • 7
  2. Alexey Petushkov
    2019-10-12T22:33:45+08:002019-10-12T22:33:45+08:00

    我在 Oracle 云中发现了 Oracle Linux 的这个问题。它具有预定义的一组阻止规则。因此,我成功连接了 22 端口(ssh),但在尝试连接其他端口时却出现“无主机路由”。
    您需要单独打开端口:

    例如,对于 Docker:

    firewall-cmd  --permanent --zone=public --add-port=2377/tcp
    firewall-cmd  --reload
    

    此外,您需要为虚拟云网络设置安全列表。

    • 6
  3. Karthikeyan s
    2021-02-03T01:47:26+08:002021-02-03T01:47:26+08:00
    nano /etc/iptables/rules.v4
    

    添加以下行

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
    

    iptables-restore < /etc/iptables/rules.v4
    
    • 2
  4. Julian - BrainAnnex.org
    2022-03-10T16:16:42+08:002022-03-10T16:16:42+08:00

    这些是对我有用的确切步骤,基于 FedKad 对他原来帖子的回答......

    在 Oracle 云上需要以下额外步骤,以在 Ubuntu 20 上打开端口:

    1. sudo vim /etc/iptables/rules.v4 (或您使用的任何编辑器)

    2. 在该行之后 -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT,插入:

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 1234 -j ACCEPT

    (更改需要打开的端口号!)

    1. 在 shell 提示符下:

    sudo su -

    iptables-restore < /etc/iptables/rules.v4

    exit

    1. 可以在另一台 Linux 机器上测试新打开的端口,并发出以下命令:

    nc -zvw100 THE_IP_ADDRESS_OF_MACHINE_WHOSE_PORT_WE_OPENED THE_PORT_NUMBER

    • 2
  5. Ljm Dullaart
    2019-09-28T09:17:45+08:002019-09-28T09:17:45+08:00

    它可以在网络中,也可以在 Linux 实例中。如果它在 Linux 中,它可以是 iptables 或服务。

    从最后一个开始,并且因为您有邮件,请在 Linux 机器上尝试:

    telnet 127.0.0.1 smtp
    helo there
    quit
    

    您是否看到 220、250 和 221 条消息?然后您的邮件服务就可以工作了。如果你得到Connection refused,那么你的服务没有启动和运行。

    接下来,iptables -nvL应该告诉您端口是否对外界开放。如果你不能做出正面或反面的输出,

    service iptables stop
    

    应该停止 iptables,这对于测试可能是可以接受的。你说你摆脱了ufw,所以我认为sudo ufw disable不再需要了。

    如果使用 iptables 后仍然无法连接,那可能是亚马逊云中的设置,我对此没有经验。

    • 1

相关问题

  • 错误:未找到 pcap 库

  • 配置 dnsmasq 以使用两个 DNS 提供程序选择性地解析域

  • HAProxy 2.0.5:无法将 HTX 中的消息转换为 HTTP 返回代码 503

  • 如何在 Ubuntu 18.04 服务器上将 Exim 升级到版本“4.92”?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    Windows 10 服务称为 AarSvc_70f961。它是什么,我该如何禁用它?

    • 2 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Marko Smith

    ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1056)

    • 4 个回答
  • Marko Smith

    我如何知道 Windows 安装在哪个驱动器上?

    • 6 个回答
  • Martin Hope
    Albin 支持结束后如何激活 WindowsXP? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch Windows 10 删除大量小文件的速度非常慢。有什么办法可以加快速度吗? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Ctrl+C 和 Ctrl+V 是如何工作的? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve