... 但我可以通过 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 中。