Ubuntu 20.04 服务器突然无法再通过 IPv4 连接任何东西

Ubuntu 20.04 服务器突然无法再通过 IPv4 连接任何东西

... 但我可以通过 IPv4 顺利地使用 SSH 和 webmin??我根本无法 ping 通任何东西,当然 DNS 也因此失败。我能 ping 通的唯一地址是本地 127.0.0.xx 和服务器的当前地址。但是我可以通过 IPv6 ping 通其他设备。

服务器运行正常,最近发生的唯一变化是更新了一堆软件包,然而更新之后它仍然可以运行,但今天重新启动后它无法再连接任何东西,但仍允许其他设备连接到它。

如果配置成功;

enp9s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.180  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 2001:8003:c41d:c901:b62e:99ff:feeb:8130  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::b62e:99ff:feeb:8130  prefixlen 64  scopeid 0x20<link>
        ether b4:2e:99:eb:81:30  txqueuelen 1000  (Ethernet)
        RX packets 21628  bytes 2650641 (2.6 MB)
        RX errors 0  dropped 5  overruns 0  frame 0
        TX packets 12090  bytes 4100693 (4.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 13474  bytes 1095065 (1.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 13474  bytes 1095065 (1.0 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

解析;

Global
       LLMNR setting: no
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
  Current DNS Server: 10.0.0.138
         DNS Servers: 10.0.0.138
          DNS Domain: Hancock
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 2 (enp9s0)
      Current Scopes: DNS
DefaultRoute setting: yes
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
  Current DNS Server: 127.0.0.53
         DNS Servers: 127.0.0.53
                      10.0.0.138
          DNS Domain: Hancock

当然,如果它无法 ping 通网关 10.0.0.138,那么它也无法从中检索 DNS 记录,当然也无法访问其他 IPv4 DNS 服务器,但我不知道为什么IPv4 现在无法工作...

哦,不用担心看到我的 IP,因为它们会定期变化。

答案1

嗯,看来 IPTABLES 甚至内核中存在某种新错误,不知道具体在哪里,但解决方法是在 INPUT 链上手动添加 accept all, anywhere, ctstate ESTABLISHED,因为显然现在需要这个才能使 v4 连接正常工作,即使您已经可以正常连接到服务器。

ip6tables 似乎不需要这个,否则我现有的 v6 设置只是以某种方式覆盖了它。它只影响 v4 连接出去来自服务器,而不是来自通过通常的 ssh、web、webmin 等。我的另一个解决方法是更改​​路由器设置以将 IPv6 DNS IP 添加到客户端,这反过来绕过服务器上的 DNS 问题并允许它建立完整的 v6 连接,因此大多数软件包档案都是可访问的,只要它们可以通过 v6 访问,即使 ESTABLISHED 状态规则不存在于 ip6tables 的 INPUT 中。

相关内容