一、wicked简介

自SUSE 12起,SUSE使用了新的网络管理工具wicked,这个是区别与其他常见发行版的。常见的发行版目前大多使用的是NetworkManager服务进行网络管理。在使用体验上来说,个人感觉wicked要比NetworkManager舒服的多,NetworkManager是各种蛋疼,各种折磨,莫名其妙的就出状况。其架构如下:

wicked Architecture
wicked Architecture

其能管理的网络协议如下:

network
network

二、wicked的使用

设置wicked服务的开机自启动:

1systemctl enable --force wicked

启动wicked服务后,其会启动如下相关依赖服务:

1systemctl start wickedd.service
2# 此命令会启动 wickedd (主服务器端)和相关组件:
3/usr/lib/wicked/bin/wickedd-auto4 --systemd --foreground
4/usr/lib/wicked/bin/wickedd-dhcp4 --systemd --foreground
5/usr/lib/wicked/bin/wickedd-dhcp6 --systemd --foreground
6/usr/sbin/wickedd --systemd --foreground
7/usr/sbin/wickedd-nanny --systemd --foreground

查看网卡的接口信息:

1ha01:~ # wicked ifstatus eth1
2eth1            up
3      link:     #3, state up, mtu 1500
4      type:     ethernet, hwaddr 3c:d9:2b:fe:31:46
5      config:   compat:suse:/etc/sysconfig/network/ifcfg-eth1
6      leases:   ipv4 static granted
7      addr:     ipv4 172.25.0.10/24 [static]
8ha01:~ # wicked show eth1  //输出结果基本和上面相同,不过多了路由信息
9ha01:~ # wicked ifstatus all  //查看所有网口

其他相关指令:

1wicked ifup eth0
2wicked ifdown wlan0
3wicked ifreload br0
4wicked ifstatus all
5wicked show
6wicked show-xml eth0

三、故障排错

如果遇到了 Wicked 的问题,可以开启debug模式进行排障,如下:

1# 启用调试模式
2sed -e 's/^WICKED_DEBUG=.*/WICKED_DEBUG=all/g' -i /etc/sysconfig/network/config
3# 重启后台进程
4systemctl restart wickedd
5# 重新启用配置
6wicked --debug all ifup all # systemctl restart wicked

也可以使用journalctl指令过滤相关日志:

1journalctl -b -o short-iso > wicked.log
2# 建议使用 grep 对输出内容过滤关键词 "wicked"。

参考文档:

networking_with_wicked_in_suse_linux_enterprise_12_guide

wicked pdf

wicked github