如何在自定义构建的嵌入式设置中禁用 IPv6

mat*_*975 3 networking embedded ipv6 linux-kernel ipv4

我有一个使用 buildroot 构建的嵌入式系统。我遇到了许多网络问题,其中之一是我的机器尽管位于同一子网上,但无法看到其网关。我曾尝试使用 wireshark 来分析发生了什么但没有成功,因此作为最后的手段,我正在考虑尝试关闭对 IPv6 的支持,因为我不需要它(我的设备不需要 DNS 或任何类似的东西,只需要能够与其子网上的其他本地计算机通信)。我已经读到我可以通过编辑关闭 IPv6,/etc/modprobe.conf但我的设置中不存在此文件。我还能做些什么来禁用 IPv6 或者是在没有 IPv6 支持的情况下从头开始构建内核的唯一选择?

bah*_*mat 6

我同意 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
Run Code Online (Sandbox Code Playgroud)

如果您还没有/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
Run Code Online (Sandbox Code Playgroud)