我将Raspberry Pi升级为使用systemd的Jessie。副作用是它仅使用IPv6进行连接,而没有IPv4地址。如何强制它从DHCP服务器获取IPv4地址?

一种特殊的解决方案是命令
仅持续当前会话。

评论

下面的答案对我都不起作用,相反,我需要在使用sudo dhclient -4 -v eth0联机后,sudo apt-get install isc-dhcp-client。

我之前的评论有一些其他背景。在我的情况下,运行sudo ifup -v eth0时的症状是对dhclient的调用失败,而是显示了使用情况信息。

#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-OCtrl-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地址。