Ubuntu 静态公共 IP 不起作用(22.04)

Ubuntu 静态公共 IP 不起作用(22.04)

我们正在尝试在数据中心安装一台装有 Ubuntu Server 22.04 的机器。DC 主机告诉我们以下公共 IP 地址:

  • IPv4 网络:XXX.XXX.XXX.160/29
  • 网关:XXX.XXX.XXX.161(IPv4 和网关的 X 相同)

因此,我们并不是真正的网络专家,但按照一些指南,我们将 netplan 配置文件更改为:

  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
      addresses: [XXX.XXX.XXX.160/29]
      routes:
        - to: default
          via: XXX.XXX.XXX.161
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
    eno2:
      dhcp4: true

它仍然不起作用,我们花了很多时间尝试了很多方法。以下是更多信息和行为:

  • 我们的服务器机架有一根玻璃纤维电缆,可以将我们连接到互联网。我从未见过这种电缆,但数据中心的一个人给了我们一个非托管媒体转换器 T RJ45 到 X SFP。这有意义吗?从未见过这样的设备。
  • 当我们将服务器连接到互联网(通过媒体转换器)时,网关 IP 会接收来自外界的 Ping。跟踪路由也会起作用。
  • 我们根本无法 Ping 通外部世界。我们也无法从服务器 Ping 通网关 IP。
  • 对以 .160 结尾的 IP 进行跟踪路由不起作用。它以无限循环结束。
  • SSH 到网关 IP 会抛出“连接被拒绝”的错误。SSH 到 .160 - .167 IP 会抛出“无主机路由”的错误。
  • 当断开服务器与媒体转换器的连接时(媒体转换器仍然插入玻璃光纤电缆),我们仍然会收到相同的 SSH 错误,但我们无法再 ping 通网关。
  • 我们从家里带了一个路由器,将笔记本电脑连接到 DC 的服务器。这会永久破坏 ubuntu 中的任何配置吗?我们还在尝试连接时断开了路由器与服务器的连接,并重启了服务器几次。
  • nmap 扫描显示端口 646 已打开。这是否暗示了什么?也许是媒体转换器?
  • 当然,我们一直运行“sudo netplan apply”。如前所述,我们还定期重启服务器。

我们不知道问题出在哪里。我们是不是遗漏了什么?Ubuntu 中是否需要一些额外的配置。我们是否需要额外的设备,如路由器或交换机?我们的数据中心主机是否忘记告诉我们一些可能很重要的信息?

感谢您的帮助

答案1

核心问题实际上是这样的:你和你的团队不了解 ISP 告诉你的网络范围以及如何确定哪些 IP 地址实际上可供你的服务器和网络连接使用。这实际上是我们在这里要解决的唯一问题,因为理解了这一点,答案就不言自明了。


因此,让我们首先解决核心问题 - 了解 ISP 对您的网络块分配所说的内容。

ISP(数据中心等)已为您提供网络地址、CIDR 范围以及您路由所经过的该范围内的网关 IP。这是您需要了解的所有信息,以确定在您的范围内哪些 IP 可用或不可用。(请注意,为了便于输入示例,我在示例中使用了 Internet 中从不存在的范围,因为习惯的力量。127.255.255将由实际范围的前三个八位字节替换。)

网络地址是网络定义的开始。 无法使用

当他们告诉您您的网络范围是 127.255.255.160/29 且网关是 127.255.255.161 时,您需要了解这意味着什么:

不可用的网络起始 IP:127.255.255.160/29
区块中第一个可用 IP:127.255.255.161(您根据 ISP 无法使用!) 区块中
最后一个可用 IP 地址:127.255.255.166
区块中的广播 IP:127.255.255.167(同样不可分配)

ISP 指示网关为 127.255.255.161。这意味着您不能使用此 IP。默认情况下,网络块中的最后一个 IP 地址是广播地址,在 IP 分配中也不可用。

这样,您就可以使用 127.255.255.162 至 .165 之间的 IP 地址。

(除“ISP 网关地址不可用”位外,此信息可以通过使用ipcalc 127.255.255.160/29顺便一提)


现在开始实际的服务器配置。通常我会建议您在任何东西前面安装防火墙,但如果您只有一台服务器,那么您只需要为您的机器安装防火墙,使其与一般的互联网访问隔离开来。

但是,连接到 Internet 链接的服务器的 Netplan 配置需要如下所示:

version: 2
renderer: networkd
ethernets:
  eno1:
    dhcp4: no
    addresses: [XXX.XXX.XXX.162/29]
    routes:
      - to: default
        via: XXX.XXX.XXX.161
    nameservers:
       addresses: [8.8.8.8, 1.1.1.1]

如果第二个以太网接口连接到任何东西,请忽略 DHCP。不要将 DHCP 与静态配置一起配置,否则会破坏一切!

这会将您的系统设置为网络块中第一个可用的 IP 地址

还请运行sudo ufw enable并启用至少一个基本防火墙。有选择地允许来自受信任 IP 的远程 SSH 访问,并仅设置 SSH 密钥身份验证。(至少是最低限度的安全性)

相关内容