我有一个使用 buildroot 构建的嵌入式系统。我遇到了许多网络问题,其中之一是我的计算机无法看到其网关,尽管它位于同一子网上。我尝试使用wireshark来分析发生的情况,但没有成功,所以作为最后的手段,我正在考虑尝试关闭对IPv6的支持,因为我不需要它(我的设备不需要DNS或类似的东西,只需要能够与其子网上的其他本地计算机进行通信)。我读到可以通过编辑关闭 IPv6 /etc/modprobe.conf
,但我的设置中不存在该文件。我还能做些什么来禁用 IPv6,还是在没有 IPv6 支持的情况下从头开始构建内核的唯一选择?
答案1
我同意 Ulrich 的观点,这听起来不像是 IPv6 问题。不过,以下是禁用 IPv6 的方法。
在/etc/sysctl.conf
设置以下选项:
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.disable_ipv6 = 1
如果您没有/etc/sysctl.conf
创建它并添加这些行,然后重新启动。
或者,每个都有一个/proc
可以翻转的界面(和/或创建一个脚本在启动时执行此操作)。
echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6