之前用KDE桌面的时候,就有这个问题:时不时的,dhcpcd就得不到ip地址(enp0s25),用命令 ip a查看的时候,只有mac地址什么的,而且每次都是在启动系统的时候出现;
最初的解决方案是,systemctl stop/start dhcpcd,然后就有ip地址了;
最近刚换了GNOME,这个问题更频繁了,每天的第一次开机都没有ip地址;我不相信是系统安装过程出问题了,因为是新安装的系统,硬件问题不太好确认,所以我从软件方面想办法;以前听依云说过用的是netctl,不是dhcpcd;我早就想换了,一直懒,wiki中文里有这么一句话:“它是 Arch Linux 网络管理方面的原生项目。”这很吸引人啊!
这次研究下wiki后,果断用netctl换掉dhcpcd,试用了三四天,果然,世界变美好了。
好吧,这更像 Arch Linux 。
.
最近编辑记录 驿窗 (2017-11-13 09:09:11)
开源/Linux大众化,从驿窗开始~
离线
哈哈哈,只从正式入坑之后,一直用的netctl。
离线
这是第二次经验了;
第一次是一个漏洞(CVE-2016-4484 ),几乎所有linux发行版都存在问题,但 Arch Linux 却免疫;我正好是使用 cryptsetup 全盘加密,所以很好奇为什么 Arch Linux 能免疫;
后来看了仙子的回复才知道,Arch Linux 的大神早就看 cryptsetup 不顺眼了,干脆自己写,连接在这里:
https://bbs.archlinuxcn.org/viewtopic.php?id=4951
越来越能感受到 “Arch” 了好像;
我以后也更 “Arch” 一些;
.
开源/Linux大众化,从驿窗开始~
离线
netctl 用的也是 dhcpcd (或者是 dhclient),看你装了哪个。
离线
我也比较奇怪这一点,又不是彻底不用dhcpcd,为什么用netctl就好用;
我之前看过,pacman -S dhclient,提示是之前没装过;
难道netctl不仅仅是一个外壳?
开源/Linux大众化,从驿窗开始~
离线
看起来有可能和启动时机有关。
离线
看起来有可能和启动时机有关。
启动时机?
你的意思是说,netctl 和 dhcpcd 服务在系统启动时的顺序加载位置是不一样的?
这话问的,怎么我自己觉得很别扭...
.
开源/Linux大众化,从驿窗开始~
离线
你的 netctl 是怎么启动的?
离线
你的 netctl 是怎么启动的?
过程确实有点小波折;
对着这个文档来弄:
https://wiki.archlinux.org/index.php?ti … did=394103
1、确定 netctl 已经安装以后,sudo cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/
2、sudo nano -w /etc/netctl/ethernet-dhcp,确保下面两行正确:
Interface=enp0s25
IP=dhcp
3、sudo mv /etc/netctl/ethernet-dhcp /etc/netctl/enp0s25-dhcp
4、sudo systemctl stop dhcpcd
5、sudo systemctl disable dhcpcd
6、sudo netctl start enp0s25-dhcp
7、sudo netctl enable enp0s25-dhcp
其中6和7两步会报错,我用journalctl -xn查看,隐约记得提示的是enp0s25-dhcp已经启动之类的,反正老是这两步报错,后来reboot,就直接能用了;双十一那天弄的,用到今天再也没出现过ip地址得不到的问题;每天都会开机使用;
6/7报错的情况下,再运行 ip a,enp0s25 是有ip地址的,kvm 虚拟机也能上网浏览,这一点当时就没想明白,明明dhcpcd已经stop了;
.
开源/Linux大众化,从驿窗开始~
离线
6/7报错的情况下,再运行 ip a,enp0s25 是有ip地址的,kvm 虚拟机也能上网浏览,这一点当时就没想明白,明明dhcpcd已经stop了;
.
这个问题是因为网卡驱动已经运行了,跟dhcpcd没关系,用 ip set xxx down 命令手动停止网卡驱动程序,然后在用systemctl start启动配置文件就没问题了,我最初用netctl的时候也碰到过一次这个问题。
最近编辑记录 matrikslee (2017-11-14 12:27:59)
离线
piter 说:6/7报错的情况下,再运行 ip a,enp0s25 是有ip地址的,kvm 虚拟机也能上网浏览,这一点当时就没想明白,明明dhcpcd已经stop了;
.这个问题是因为网卡驱动已经运行了,跟dhcpcd没关系,用 ip set xxx down 命令手动停止网卡驱动程序,然后在用systemctl start启动配置文件就没问题了,我最初用netctl的时候也碰到过一次这个问题。
原来如此;
有人遇到相同问题的感觉,好像找到了战友一样~
.
开源/Linux大众化,从驿窗开始~
离线
piter 说:6/7报错的情况下,再运行 ip a,enp0s25 是有ip地址的,kvm 虚拟机也能上网浏览,这一点当时就没想明白,明明dhcpcd已经stop了;
.这个问题是因为网卡驱动已经运行了,跟dhcpcd没关系,用 ip set xxx down 命令手动停止网卡驱动程序,然后在用systemctl start启动配置文件就没问题了,我最初用netctl的时候也碰到过一次这个问题。
今天又没开路由器,同样没有ip地址,按你说的,我这么操作:
1、sudo ip link set dev enp0s25 down
2、sudo netctl stop enp0s25-dhcp
3、sudo netctl start enp0s25-dhcp
然后再 ip a 就已经有ip地址了,自动 set dev enp0s25 up;
wiki上后面也提到这个,果然还是要仔细看wiki;
.
开源/Linux大众化,从驿窗开始~
离线
你不开路由器当然没有IP地址……
你可以用 restart 的。
离线
还是老牌的NetworkManager更好,方便小白,没有什么奇怪的配置文件要写
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
你不开路由器当然没有IP地址……
你可以用 restart 的。
好多次了,每次都是看到restart这个单词,才想到可以一条命令解决问题,可一旦到输入命令的时候,就忘到脑后,永远是输入两条命令,这效率,笨死...
最近编辑记录 驿窗 (2017-11-17 19:20:09)
开源/Linux大众化,从驿窗开始~
离线