当我试图在我的Linux系统上为IPv6添加IP规则时,它会出错:
$ ip -6 rule add fwmark 0xfab lookup 0xf
RTNETLINK answers: Address family not supported by protocol我检查了IP规则代码;它向内核发出一条netlink消息。可能我需要加载一些模块,但我不知道是哪个模块。我该怎么做才能解决这个问题?
我使用的是从内核源代码构建的Linux2.6.37.3
解决方案:默认情况下,linux不支持IPv6的多个路由表。您需要启用CONFIG_IPV6_MULTIPLE_TABLES以获得多个IPv6路由表支持。
发布于 2012-01-04 06:56:42
IPv6功能可通过ipv6内核模块提供给系统。若要检查系统中当前是否加载了此模块,请以root用户身份发出以下命令:
lsmod | grep ipv6
如果在输出中看到ipv6,则加载模块。
检查您的/etc/modprobe.conf,看看是否禁用了ipv6。
alias ipv6 off
options ipv6 disable=1它应该是
alias net-pf-10 ipv6进一步检查接口特定的配置文件:(如果您使用的是RedHat样式的发行版,如Fedora、CentOS等)
在/etc/sysconfig/network-scripts/ifcfg-eth0中
IPV6INIT=yes
IPV6_AUTOCONF=yes在/etc/sysconfig/network文件中,如果存在:
NETWORKING_IPV6=yes然后重新启动network服务并重新启动系统,以便干净地加载ipv6内核模块。
发布于 2012-01-05 03:13:30
我不认为lookup是任何ip对象的有效选项。规则的操作包括table、nat、prohibit recject、unreachable或realms。从命令的形式来看,我希望您需要table。试一试
ip -6 rule add fwmark 0xfab table 0xfhttps://unix.stackexchange.com/questions/28262
复制相似问题