systemd
的Jessie。副作用是它仅使用IPv6进行连接,而没有IPv4地址。如何强制它从DHCP服务器获取IPv4地址?一种特殊的解决方案是命令
仅持续当前会话。
#1 楼
Raspbian Jessie不再具有名为/etc/sysctl.d
的文件-现在它是一个具有相同名称的文件夹。根据同一文件夹
README.sysctl
中的自述文件,基本上说任何.conf
文件在启动时读取并进行处理。任何合法的文件名都可以使用,但是他们建议使用local.conf
,所以这就是我用的。 /> 似乎很好用。
评论
/ etc中的任何.d都是以目录开头的目录。我不知道乔普拉塔诺(Joe Platano)的答案是否涉及错字或是否真的有用,我不知何故对此表示怀疑(尽管似乎还有另一个答案可以确认这一点)。
–金锁♦
16/12/7在14:39
#2 楼
在Raspbian Jessie / Jessie Lite中,只需编辑/etc/sysctl.conf
文件并添加开关以禁用ipv6,如下所示:sudo nano /etc/sysctl.conf
输入文本:
net.ipv6.conf.all.disable_ipv6=1
用
Ctrl-O
和Ctrl-X
保存文件并重新启动RPi。#3 楼
sudo nano /etc/sysctl.conf
追加以下行以关闭ipv6:
评论
确认正在研究Raspbian Buster。
–Vahid Amiri
20-4-12下午5:51
#4 楼
您可以在sysctl中插入一行以禁用ipv6。echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d
在下次重新启动后将起作用。
评论
/etc/sysctl.conf作为目标文件。请注意,>将覆盖整个文件!
–大卫
19年12月2日在16:00
#5 楼
我发现也获得该接口的IPv4地址的最简单方法是更改/ etc / network / interfaces:将手册设置为dhcp ...这也使您在eth0上获得了IPv4地址...可能只是黑客,但还没有。找不到更好的东西了... auto eth0
allow-hotplug eth0
# iface eth0 inet manual
iface eth0 inet dhcp
评论
Raspbian Jessie不会使用dhcp(除非用户确实摆弄了它),这将阻止GUI WiFi支持工作。
–地铁
2015年11月6日在11:51
#6 楼
组合,更正并添加到先前的答案:要修复仅显示inet6(IPV6)地址而没有inet(IPV4)地址的接口(eth或wlan),可以附加一个配置文件以禁用inet6(IPV6)分配,以便为所有接口分配一个inet(IPV4)地址。如果随后再次删除该配置文件,则将同时为接口赋予一个inet(IPV4)和一个inet6(IPV6)地址,即返回到通常的默认状态。
要添加文件:
sudo nano /etc/sysctl.d/local.conf
并添加单行:
net.ipv6.conf.all.disable_ipv6=1
用Ctrl-O,Y,[返回保存]。重新启动并再次登录。
sudo reboot
使用
ifconfig
检查地址删除配置文件并重新启动:
cd /etc/sysctl.d
sudo rm local.conf
sudo reboot
使用ifconfig再次检查:
ifconfig
同时查看inet(IPV4)和inet6(IPV6)所有接口的地址:
eth0 Link encap:Ethernet HWaddr 00:e0:4c:53:44:58
inet addr:192.168.1.228 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::26a5:b629:f948:92c3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
wlan0 Link encap:Ethernet HWaddr b8:27:eb:62:b4:7a
inet addr:192.168.1.229 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::254c:3f61:fdc:bc49/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
我可以再次使用eth0或wlan0 SSH到我的Pi Zero,都使用IPV4或IPV6地址。
#7 楼
我将Raspberry Pi升级为Stretch,但对net.ipv6.conf.all.disable_ipv6=1
答案的任何变化都无法获得成功。 手动运行
sudo dhclient -4 -v eth0
可以恢复我的网络/互联网连接,但是正如原始海报所述,它不能在重新启动后幸存。我注意到
sudo ifup -v eth0
称为dhclient
,但是它失败了,并且没有正常运行,而是显示了dhclient
命令的用法信息。解决方法似乎是从
dhclient
移开,而是安装isc-dhcp-client
。重新启动后,安装此软件包后,我的连接自动恢复。sudo apt-get install isc-dhcp-client
sudo reboot
#8 楼
我遇到了同样的问题,并尝试了以下解决方案,重新启动Pi后可以正常使用。sudo nano /etc/sysctl.d
类型
net.ipv6.conf.all.disable_ipv6=1
将
^O
保存为sysctl.d
sudo reboot
现在我在启动屏幕上看到了我的ip4地址。
评论
下面的答案对我都不起作用,相反,我需要在使用sudo dhclient -4 -v eth0联机后,sudo apt-get install isc-dhcp-client。我之前的评论有一些其他背景。在我的情况下,运行sudo ifup -v eth0时的症状是对dhclient的调用失败,而是显示了使用情况信息。