所以準備兩台機器
- server : run dnsmasq
- client : run udhcpc
所以 client 用:
udhcpc -iwlan0 -R可以看到取得 ip,然後用 ip addr 看 wlan0 有 ip address。
在 server 上 cat /var/lib/dnsmasq/dnsmasq.leases 可以看到 client 的 wlan0 mac 和配發的 ip
用 ps 看,udhcpc 在背景。
這時候在 client 上 kill udhcpc
再用 ip addr 看,wlan0 已經沒有 ip 了。
然後 server 的 /var/lib/dnsmasq/dnsmasq.leases 中,client 的那一行也被清掉。
如果不加上 -R
udhcpc -iwlan0一樣,client 取得 ip,udhcpc 在背景。
server 的 dnsmasq.leases 有 client 的 mac 跟 ip
client kill udhcpc,之後確認 udhcpc 沒有在背景。
用 ip addr 看,wlan0 的 ip 還在。
server 的 dnsmasq.leases 中,client 的 ip 也還在。
如果不用 -R,然後要 udhcpc 取得 ip 後就退出,不要在背景。用 -q。
測試取得 ip 後, udhcpc 的確不會退到背景。
其他
udhcpc 在取得ip 後,會 執行 /usr/share/udhcpc/default.script
這個script 會依照 udhcpc call 他時給的參數,做:
- 設定 interface 的 ip
- 設定 route
- 設定 resvolv.conf
猜是因為有些統是 readonly root,所以這樣,讓 /etc/resolv.conf link 到 /tmp/resolv.conf
沒有留言:
張貼留言