Portal:Wicked
欢迎访问 Wicked 专题 Edit
===== Wicked 网络设置介绍 =====
Wicked 提供了一个新的网络管理框架,使其成为 `ifup` 脚本家族的替代产品。Wicked 框架采用客户端/服务器端和层级的结构来解决网络设置问题。Wicked 能够设置诸如地址这类与总体框架整合度很高的标准配置,并且其自身处于特定设备服务的上一层。Wicked 客户端与后端服务例如 Wicked 后台进程之间的交互通信通过 dbus 实现。
主题 Edit
===== 哪里可以获得源代码/二进制文件 =====
- git 源代码仓库位于:github 上的 Wicked 项目
- 二进制包用 openSUSE 构建服务器进行编译,位于 network:wicked 项目树,可以从 OBS 上的 wicked 中找到。
- 实际的 git master 是在 network:wicked:master 项目上自动编译的。
- 从源代码编译 wicked,请尝试以下命令:
zypper in git-core rpm-build gcc make pkg-config \ autoconf automake libtool systemd-devel \ libnl3-devel libiw-devel dbus-1-devel \ libgcrypt-devel git clone https://github.com/openSUSE/wicked.git cd wicked ./autogen.sh make rpmbuild
# 然后安装 RPM 包
Wicked 组件
使用 Wicked
- 启用 wicked:
systemctl enable --force wicked #此命令启用 wicked 服务,创建 network.service -> wicked.service 的别名链接,并会在下次系统启动的时候启动网络。
- 要想手动启动服务器端进程(仍然需要 root 权限),使用:
systemctl start wickedd.service # 此命令会启动 wickedd (主服务器端)和相关组件: /usr/lib/wicked/bin/wickedd-auto4 --systemd --foreground /usr/lib/wicked/bin/wickedd-dhcp4 --systemd --foreground /usr/lib/wicked/bin/wickedd-dhcp6 --systemd --foreground /usr/sbin/wickedd --systemd --foreground /usr/sbin/wickedd-nanny --systemd --foreground
- 之后你可以直接用服务名称或者网络别名启动网络:
systemctl start wicked.service # 或 systemctl start network.service
- 这些命令使用了 /etc/wicked/client.xml 文件中定义的默认/系统配置源文件。
当前都支持什么
- 配置文件后端解析 SUSE 样式的 /etc/sysconfig/network 文件。
- 一个内部的配置文件后端,用来通过 XML 记录网络界面的设置。其语法借鉴了 netcf 所使用的语法。
- 启动和关闭"普通"网络界面,例如以太网,infiniband 等等。此外也包括 VLAN、bridges、bonds、tun、tap、tummy、macvlan、macvtap、hsi、qeth、iucv 和无线网络(目前局限于一个 wpa-psk/eap 网络)设备。
- 一个内置的 DHCPv4 客户端
- 一个内置的 DHCPv6 客户端
- 后台进程 nanny (如已启用)会在设备可用的情况下(界面热插入)自动启动已设置好的界面,并在探测到链接(传输器)的同时设置 IP。
故障排除
- 如果你遇到了 Wicked 的问题,并且想要尝试自己调试。那么作为故障诊断的第一步,请依据以下步骤启用调试输出并重启服务。
# 启用调试模式 sed -e 's/^WICKED_DEBUG=.*/WICKED_DEBUG=all/g' -i /etc/sysconfig/network/config # 重启后台进程 systemctl restart wickedd # 重新启用配置 wicked --debug all ifup all # systemctl restart wicked
- 如果客户端日志中没有发现错误记录,你可能需要运行`journalctl`检查服务端日志;
journalctl -b -o short-iso > wicked.log # 建议使用 grep 对输出内容过滤关键词 "wicked"。
- 当然不是所有问题都容易诊断,这时你需要报 bug,请进入:报告 Wicked 的 bug
联系方式
- 邮件列表
- 讨论开发相关话题:wicked-devel
- 追踪 git 代码库的提交情况:wicked-commit
- IRC
- 你可以在 freenode/#wicked 频道中找到我们。