我正在使用 64 位 ArchLinux 并且DHCPCD。如何使用 检索新IP dhcpcd
?我尝试重新启动守护进程,我得到的 IP 地址仍然相同
$ ifconfig
enp3s0: flags ...
inet xxx ...
$ sudo dhcpcd@enp3s0
$ ifconfig
enp3s0: flags ...
inet xxx ... ==> not changed
我试过了,sudo dhclient -v -r
但是IP还是一样。
我找到了一种方法,但仍然需要单击系统托盘(断开连接,重新连接):
$ sudo rm /var/lib/dhcpcd/dhcpcd-enp3s0.lease
$ sudo systemctl restart dhcpcd@enp3s0
# right click on the network icon on system tray, disconnect, reconnect
答案1
您已运行ifconfig
查看接口名称,这是一个好的开始。之后,检查以太网电缆是否已插入并正常工作:
[root@splunge ~]# mii-tool enp3s8
enp3s8: negotiated 100baseTx-FD flow-control, link ok
这是来自一个正在运行的 Arch 服务器。您可以使用mii-tool
或ethtool
检查连接和电缆。
确定电缆已插入并正常工作后,清除任何dhcpcd
仍在运行或挂起的东西:
dhcpcd -k enp3s0
然后,dhcpcd
在打开调试消息的情况下运行:
dhcpcd -d enp3s0
来自该调用的消息可能会帮助您决定下一步要做什么。
请注意,我假设您将以su -
root 身份登录,但我发现sudo
一直使用很麻烦。如果需要sudo
,请适当修改上面的命令。
编辑:
我可能误解了你的问题。如果dhcpcd
有效,那么它将始终尝试获取上次获得租约时的相同 IP 地址。
您可以通过删除,然后停止并启动该进程来强制dhcpcd
获取完全不同的 IP 地址。/var/lib/dhcpcd/dhcpcd-enp3s0.lease
dhcpcd