Dhcpcd
From Gentoo Wiki
Outdated translations are marked like this.
Dynamic Host Configuration Protocol Client Daemon (net-misc/dhcpcd)是一个能够处理 IPv4 和 IPv6 配置的流行 DHCP 客户端。
安装
USE 标记
USE flags for net-misc/dhcpcd A fully featured, yet light weight RFC2131 compliant DHCP client
+embedded
|
Embed the definitions of dhcp options in the dhcpcd executable |
+udev
|
Enable virtual/udev integration (device discovery, power and storage device support, etc) |
debug
|
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces |
ipv6
|
Add support for IP version 6 |
privsep
|
Enable support for privilege separation |
Emerge
使用以下命令安装dhcpcd:
root #
emerge --ask net-misc/dhcpcd
配置
文件
所有 dhcpcd 配置都可以在 /etc/dhcpcd.conf 文件中设置,但如今大多数计算机都通过路由或运行 DHCP 服务的接入点连接网络,因此 dhcpcd 在大多数安装中可以开箱即用。如果需要高级配置,man 5 dhcpcd.conf[1] 将会有所帮助。
静态IP地址
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
IPv6 Prefix Request
# Disable router solicitations for all interfaces, enable only for selected ones
noipv6rs
# Interface configuration for the ''wan'' vlan on the ''eth0'' interface
interface eth0.wan
# Enable router solicitation for this interface
ipv6rs
# Request a normal address usins ''iaid'' 1 for interface ''eth0.wan''
ia_na 1
# Request a prefix using ''iaid'' 2 and assign it to the ''eth0.lan'' interface using ''sla_id'' 0
ia_pd 2 eth0.lan/0
使用
调用
root #
dhcpcd --help
usage: dhcpcd [-146ABbDdEGgHJKLMNPpqTV] [-C, --nohook hook] [-c, --script script] [-e, --env value] [-F, --fqdn FQDN] [-f, --config file] [-h, --hostname hostname] [-I, --clientid clientid] [-i, --vendorclassid vendorclassid] [-j, --logfile logfile] [-l, --leasetime seconds] [-m, --metric metric] [-O, --nooption option] [-o, --option option] [-Q, --require option] [-r, --request address] [-S, --static value] [-s, --inform address[/cidr[/broadcast_address]]] [--inform6] [-t, --timeout seconds] [-u, --userclass class] [-v, --vendor code, value] [-W, --whitelist address[/cidr]] [-w] [--waitip [4 | 6]] [-y, --reboot seconds] [-X, --blacklist address[/cidr]] [-Z, --denyinterfaces pattern] [-z, --allowinterfaces pattern] [--inactive] [interface] [...] dhcpcd -n, --rebind [interface] dhcpcd -k, --release [interface] dhcpcd -U, --dumplease interface dhcpcd --version dhcpcd -x, --exit [interface]
作为一个服务运行
一次性 DHCP
要为网络接口配置一次性 DHCP,使用以下命令:
root #
dhcpcd eth0
确保将上述命令中的 eth0
替换为适当的网络接口名称。
Renew a lease
To renew the lease on eth0, --rebind or -n can be used:
root #
dhcpcd -n eth0
Release a lease
To release a lease on eth0, --release or -k can be used:
root #
dhcpcd -k eth0
故障排除
- dhcpcd not working for IPv6 (#CONFIG_PACKET is not set)
- 如果 /etc/resolv.conf 不使用 VPN 的 DNS 更新, 请考虑安装 net-dns/openresolv.
参考
- Gentoo Handbook - Network configuration - 手册中关于处理网络接口的建议。
- Netifrc — Gentoo's default framework for configuring and managing network interfaces on systems running OpenRC.
- Network management using DHCPCD
- Complete Handbook/Configuring the system#Networking information
外部资源
参考
- ↑ 1.0 1.1 Roy Marples. DHCPCD.CONF(5), Roy Marples's personal blog, March 9th, 2015. Retrieved on May 07th, 2015.