2008年1月14日 星期一

搞定跨網段的 DHCP

自從去支援 G 公司之後,始終被一件事困擾著,也一直想不透,那就是所有的電腦必須自己設定一個固定的 IP 位址;偏偏剛到新環境又加上組織調整的緣故,工作位置一再地變動,導致一開始設定的 IP 位址,因變更新座位之後即不適用,而新座位原本分配的 IP 位址,有可能已有人在使用中,造成無法連線上網的問題。

明明早就有 DHCP(Dynamic Host Configuration Protocol)的通訊協定了,為何不善加利用呢?不囉唆,動手做最要緊,看了一些架站的說明後,要架設一部 DHCP 伺服器似乎不難。不過, G 公司的情形比較特殊,曾經因為公司人力急速擴張的原因,辦公處所分隔為樓上、樓下,後來才將辦公場所合而為一,這點倒是與 S 公司相仿。

DHCP 伺服主機沒一會兒功夫就搞定了,在同網段中測試也都順利。接下來才是重頭戲,跨網段的任一部電腦,無論如何都無法獲得 IP 位址,發現癥結點在於 DHCP 無法提供跨網段的服務。

於是針對這問題,又研究了一下,發現有個叫 DHCRelay Agent(Dynamic Host Configuration Protocol Relay Agent)的服務,剛好可以解決這樣的困境。雖然 G 公司大多以 Microsoft 平台的系統為主,但一時之間沒找著如何在 Microsoft 的系統上設定這個東西,而慣用的 Fedora 系統上,僅安裝 dchp 的套件後,就有 dhcrelay 的存在了。當然,首選還是採用 Linux 上的 DHCRelay Agent,先解決大家上網的問題要緊。

看了一下 man page,他是這麼說的,完完全全符合需求:
The Internet Systems Consortium DHCP Relay Agent, dhcrelay, provides a means for relaying DHCP and BOOTP requests from a subnet to which no DHCP server is directly connected to one or more DHCP servers on other subnets.
更簡單的是,僅要設定 /etc/sysconfig/dhcrelay 這個組態檔即可,再注意開機後是否啟動 dhcrelay 這個服務,這樣就搞定每一個網段連線上網的 IP 位址設定。

沒有留言: