[Ubuntu/CentOS] 設定 DHCP client 自動加上網域後綴
在公司裡,平常可以連到類似 tw-fileserver 這樣名稱的機器,
最近突然從某一台 Ubuntu 上都連不到,
一直說 Cannot resolve host name 之類的…
研究了一下,原來是 tw-fileserver 事實上是有個網域後綴,
所以完整名稱是像 tw-fileserver.tw.mydomain.net,
如果在 Ubuntu 上去連這個名稱就可以了…
可是平常還是習慣直接打短的名稱,有沒有方法自動加上網域的後綴呢?
平常若是固定 IP,可以直接去改 /etc/resolv.conf 加上 search 的設定,
可是 DHCP 的話這麼做就沒用了…
下面是我的 /etc/resolv.conf 的內容,可以看到現在沒有 search 的設定:
nameserver 127.0.1.1
後來查到了 Ubuntu: Adding search path to DHCP auto-generated /etc/resolv.conf
這邊有提到在 DHCP 模式下,如何達到我想做的事情~
1. 編輯 /etc/dhcp/dhclient.conf
打開 /etc/dhcp/dhclient.conf,在裡面加入下面的內容,
記得 tw.mydomain.net 要改成需要的網域後綴:
append domain-search "tw.mydomain.net";
2. 讓 DHCP client 更新設定
送一個 HUP 指令給 DHCP client 讓它更新設定:
pkill -HUP dhclient
這時網路會頓一下重連,
等好了之後,就可以在 /etc/resolv.conf 裡看到我們剛加的 domain-search 了:
nameserver 127.0.1.1 search tw.mydomain.net
如果是在 CentOS 7 上面的話,要修改的設定檔有點不太一樣
(Linxu 這麼多種 distribution 說實話真的有點麻煩…)
參考資料:How can I add additional search domains to the resolv.conf created by dhclient in CentOS
1. 修改 /etc/sysconfig/network-scripts/ifcfg-em1
這邊的 ifcfg-em1 要看你的網卡是什麼名稱,如果是 eth0 就去改 ifcfg-eth0,
在裡面加上 DOMAIN=”domain1 domain2 domain3″~
在下例中我加了 tw.mydomain.net 和 client.tw.mydomain.net 兩個網域,
有多個網域時,中間用空白隔開就行了:
DOMAIN="tw.mydomain.net client.tw.mydomain.net"
2. 重新啟動網卡
使用 ifdown 和 ifup 讓網卡重新啟動:
ifdown em1 ifup em1
之後應該可以看到新的 search domain 被加到 /etc/resolve.conf 囉~