Archlinux 内核:未找到模块 ipv6

Archlinux 内核:未找到模块 ipv6

我发现在使用archlinux的时候无法正常访问ipv6网络:

$ ssh root@[ipv6 addr]
ssh: connect to host [ipv6 addr] port 22: Network is unreachable

经过进一步检查,我认为ipv6的内核模块没有正常打开:

$ test -f /proc/net/if_inet6 && echo 1                                                                                                                         
1
$ lsmod | grep ipv6
# nothing
$ modinfo ipv6
modinfo: ERROR: Module ipv6 not found.

我进一步检查了我的/etc/modprobe.d/mobprobe.conf配置文件和内核目录,结果如下:

# /etc/modprobe.d/mobprobe.conf
options snd-hda-intel model=,generic
$ find /lib/modules/ -name ipv6.ko
# nothing
$ ls /lib/modules/4.19.69-1-lts/kernel/net/ipv6
ah6.ko.xz   esp6_offload.ko.xz  ila            ip6_tunnel.ko.xz      ip6_vti.ko.xz  mip6.ko.xz  sit.ko.xz      xfrm6_mode_beet.ko.xz  xfrm6_mode_transport.ko.xz  xfrm6_tunnel.ko.xz
esp6.ko.xz  fou6.ko.xz          ip6_gre.ko.xz  ip6_udp_tunnel.ko.xz  ipcomp6.ko.xz  netfilter   tunnel6.ko.xz  xfrm6_mode_ro.ko.xz    xfrm6_mode_tunnel.ko.xz 

那么我下一步该做什么?


感谢你的回复!

更多信息:

  • 内核版本:4.19.69-1-lts
  • cat /proc/cmdline
initrd=\intel-ucode.img initrd=\initramfs-linux-lts.img root=/dev/nvme0n1p7
  • gunzip -c /proc/config.gz | grep "CONFIG_IPV6"
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_MIP6=m
CONFIG_IPV6_ILA=m
CONFIG_IPV6_VTI=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_FOU=m
CONFIG_IPV6_FOU_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
  • ip 应收款
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlp58s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 9c:b6:d0:ba:6e:21 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.171/22 brd 192.168.3.255 scope global dynamic noprefixroute wlp58s0
       valid_lft 2948sec preferred_lft 2948sec
    inet6 fe80::954a:b70a:2356:9497/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
$ ip r
default via 192.168.0.1 dev wlp58s0 proto dhcp metric 600 
192.168.0.0/22 dev wlp58s0 proto kernel scope link src 192.168.0.171 metric 600

答案1

没有ipv6模块,因为 IPv6 支持已直接内置到核心内核映像中。请参阅/proc/config.gz,其中CONFIG_IPV6选项设置为“y”(而不是“m”)。

没有 /proc/net/if_inet6 通常意味着您已通过内核命令行使用ipv6.disable=1或类似选项手动禁用 IPv6 支持。请检查/proc/cmdline以找出原因。

答案2

谢谢大家!我找到了这个问题的答案。

ISP没有给我分配ipv6地址,现在没问题了。

相关内容