我发现在使用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地址,现在没问题了。