一、odhcpd介紹
odhcpd是一個開源的DHCPv6協議棧和RA/RS守護進程。它是OpenWrt操作系統中的一部分,用于IPv6網絡配置。它提供了IPv6的自動配置,并且可以根據路由器通告(RA)設置IPv6地址,路由和DNS服務器。與其他DHCPv6服務器不同,odhcpd只使用單個Socket處理DHCPv6和RA/RS消息,并使用單個進程來管理所有IPv6接口的配置信息。它的主要優點是使用少量的系統資源,因此在嵌入式系統上非常適合。
二、odhcpd 中文解析問題
odhcpd在解析中文時會出現問題,解決方法是使用IDN(Internationalized Domain Name)進行編碼。例如:www.百度.com應該寫成www.xn--fiq228c.com。這樣odhcpd就可以正確的解析中文域名。
三、odhcpd ipv6
odhcpd支持IPv6地址的自動配置,只需要在OpenWrt操作系統中啟用IPv6,odhcpd就可以自動向所有IPv6接口分配IPv6地址。
四、odhcpd-ipv6only
odhcpd-ipv6only可以用于限制odhcpd只分配IPv6地址,并禁用IPv4地址分配。
五、odhcpd wlan0
在odhcpd配置文件中,可以指定odhcpd監聽的網絡接口。例如,要讓odhcpd只監聽wlan0接口,可以將以下代碼添加到odhcpd配置文件中:
config dhcp 'lan' option interface 'wlan0' #...
六、odhcpd 撥號上網
設置odhcpd用于撥號上網的第一步是將撥號網絡接口納入odhcpd服務的控制范圍。以pppoe撥號作為示例,以下是將撥號接口添加到odhcpd服務的方法:
config dhcp 'wan' option dhcpv6 'server' option ra 'server' option interface 'pppoe-wan' option dhcpv4 'server'
七、odhcpd配置wlan
以下是一個odhcpd配置文件的示例,可用于配置wlan:
config dhcp 'lan' option interface 'wlan0' option start '100' option limit '150' option leasetime '12h'
在此示例中,odhcpd配置為為wlan0接口分配IP地址,起始地址為100,最大地址為150,租約時間為12小時。
八、odhcpd linux無法獲取
如果odhcpd服務無法分配IPv4地址,則可能是由于Linux系統中的dhclient進程已經獲取了該地址。在這種情況下,需要終止dhclient進程,然后重新啟動odhcpd服務。以下是終止dhclient進程的命令:
killall -9 dhclient
九、odhcpd failed to send to
如果odhcpd服務無法發送DHCPv6與RA/RS消息,可能是由于IPv6防火墻阻止了odhcpd的輸出。要解決此問題,請將以下代碼添加到OpenWrt /etc/firewall.user文件中:
ip6tables -I INPUT 1 -p udp --dport 547 -j ACCEPT ip6tables -I INPUT 1 -p udp --dport 546 -j ACCEPT ip6tables -I OUTPUT 1 -p udp --sport 547 -j ACCEPT ip6tables -I OUTPUT 1 -p udp --sport 546 -j ACCEPT
此命令允許odhcpd服務的UDP報文流量通過IPv6防火墻。