Home Wiki > Portal:Wicked
Sign up | Login

Portal:Wicked

tagline: 来自openSUSE

欢迎来到 Wicked 专题 edit

Wicked 网络设置介绍

Wicked 提供了一个新的网络管理框架,使其成为 `ifup` 脚本家族的替代产品。Wicked 框架采用客户端/服务器端和层级的结构来解决网络设置问题。Wicked 能够设置诸如地址这类与总体框架整合度很高的标准配置,并且其自身处于特定设备服务的上一层。Wicked 客户端与后端服务例如 Wicked 后台进程之间的交互通信通过 dbus 实现。

主题 edit

哪里可以获得源代码/二进制文件
  • 二进制包用 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"。 
联系方式
  • 邮件列表
  • IRC
  • 你可以在 freenode/#wicked 频道中找到我们。