1樓:標誌匯
在freebsd的packages collection中,有兩個不同的dhcp客戶機和伺服器軟體,一 個為isc-dhcp,另一個為wide-dhcp,兩個軟體都包括了dhcp客戶軟體和伺服器軟體,其中isc-dhcp 更為常用一些,這裡就以isc-dhcp為例介紹在freebsd上安裝和設定dhcp。
為了支援dhcp,首先要確認系統核心支援偽裝置bpfilter,如果沒有,就需要重新編譯核心。偽裝置bpfilter 是一個允許應用程式接收網路的原始資料包的介面,這樣應用程式就能接收目的地址非本機ip地址的資料包 了。dhcp使用bpfilter的原因是在dhcp設定好計算機的tcp/ip之前,由於計算機本身沒有定義ip地 址,而tcp/ip堆疊本身不會接收不具備本機ip地址的資料包。
要接收dhcp伺服器傳送回客戶的資料包,就需要繞 過tcp/ip堆疊,而必須使用偽裝置bpfilter。
1. pseudo-device bpfilter 4
定製核心之後,還要保證/dev/目錄下具有對應bpfilter的裝置檔案。
1. # cd /dev
2. # sh makedev bpf0 bpf1 bpf2 bpf3
從packages collecion中安裝dhcp軟體,這將dhcp軟體中的dhcpd,dhclient和dhcprelay 安裝到/usr/local/sbin目錄下。
1. $ ls /usr/local/sbin/dhc*
2. /usr/local/sbin/dhclient
3. /usr/local/sbin/dhcpd
4. /usr/local/sbin/dhcrelay
設定伺服器
為了設定dhcp伺服器dhcpd,首先就要設定其配置檔案/etc/dhcpd.conf。這個配置檔案 語法簡單,比較容易理解。
1. server-identifier 192.168.3.1;
2.3. subnet 192.168.3.0 netmask 255.255.255.0
13.14. host a1
基本的dhcpd.conf首先使用server-identifier定義了本伺服器的ip地址,這對於有 多個ip地址的伺服器系統十分重要,一般不必設定這個引數,dhcpd能自動偵測。然後定義要分配ip地址的客戶機組 ,每組擁有一個可用的ip地址範圍。
有兩種客戶機組的劃分方式,一種為指定子網段來區分,一種為指定主機來區分。
這個例子中的第一組定義了一個子網192.168.3.
0/24,這個子網段內,可供dhcp伺服器分配的i p地址範圍為192.168.3.
10到192.168.3.
20,這個地址範圍也可以不是連續的,不連續的地址可以 使用多個range設定引數來設定。此外,還設定了這一組內分配的ip地址的租期限制default-lease-time 和max-lease-time,可以使用預設值,而不必改動。後面的option引數設定dhcp的附加功能 ,例如設定dhcp客戶的網路掩碼、廣播地址、dns伺服器、域名等等。
事實上這些option設定選項也可以被用作 全域性選項設定,即放置在server-identifier之後,對所有的客戶機組起作用。
例子的第二組是針對某個特定主機a1進行的設定,這個主機被限定為乙太網地址為hardware ethernet 引數值的計算機,將給這個計算機分配一個固定地址。這種分配方式實際等價於固定地址分配方式,唯一的好處就是能夠對ip地址進行集中管理,不必每個計算機分別設定了。這裡同樣也可以使用option引數,設定tcp/ip的引數 。
dhcpd.conf中還能有更多的組,包括對非本網段的子網上的客戶機指定的組。
當設定了dhcpd.conf之後,就能啟動dhcpd守護程序了,由於計算機會有多個網路介面,需要指定dhcpd 伺服器的網路介面,以便迴應相應介面上的dhcp請求。
1. # /usr/local/sbin/dhcpd fxp0
在除錯階段,可以使用-d引數,這樣dhcpd就不會進入後臺執行,而一直保留在前臺,並顯示各個與客戶計算機通訊的過程。當一切都除錯完畢之後,就能去除-d引數,並將執行命令放入rc.local啟動指令碼中,以便系統能夠自動執行。
此後,dhcpd正常執行的時候,會將每一次客戶請求及其迴應的ip地址分配的記錄,都記錄在/var/run/dhcpd.leases 檔案中。為了使dhcpd能正常進行日誌記錄,應該在啟動dhcpd之前使用touch 命令,生成一個新的日誌檔案。
以後就可以檢視這個日誌檔案的內容,以得到當前dhcp伺服器的狀態和客戶機ip地址分 配的情況。以下是一個日誌檔案的部分內容。
1. lease 192.168.3.11
touch命令的優點是在存在相關的檔案時,不刪除或更改檔案內容,只更新其訪問時間設定,只有在文 件不存在時才生成新檔案。
然後就能設定網路中的客戶計算機使用dhcp協議,獲取合法的ip地址了。通常windows計算機的tcp/ip設定 中能直接設定支援dhcp協議,如果為unix(包括freebsd)設定dhcp客戶軟體,就需要dhclient的支援。
設定客戶軟體
isc-dhcp中同樣也提供了一個客戶程式dhclient,用於freebsd系統從dhcp伺服器上動態獲取一個ip地 址。這個程式同樣也要求核心支援bpfilter偽裝置。
dhclient使用的配置檔案為/etc/dhclient.conf,然而最一般的情況下可以不使用它,軟體本身的預設配置就滿足一般情況下請求ip地址的需要了。預設設定下dhclient在獲得了ip地址之後,會自動執行/etc/dhclient-script 這個指令碼程式,以針對剛獲取的動態ip地址進行必要的設定。
很多依賴於ip地址的網路服務,就可以在這個腳 本中啟動,或者針對重新分配的動態ip地址對已有的網路服務進行修正。雖然使用者也許不希望使用這個指令碼 設定網路,但如果不存在這個指令碼程式,或者這個程式不可執行,那麼dhclient就不能正常執行。
因此對於最一般的客戶機,一般只連線到一個網路上,僅具備一個網路介面,可以使用一個空的dhclient.conf 和空的declient-script檔案,就能完成設定ip地址和其他tcp/ip引數的任務了。
1. # touch /etc/dhclient.conf
2. # touch /etc/dhclient-script
3. # chmod +x /etc/dhclient-script
4. # /usr/local/sbin/dhclient fxp0
5.6. listening on bpf/fxp0/00:90:27:4e:92:09/unattached
7. sending on bpf/fxp0/00:90:27:4e:92:09/unattached
8. sending on socket/fallback/fallback-net
9. dhcpdiscover on fxp0 to 255.255.255.255 port 67 interval 22
10. dhcpoffer from 192.168.3.1
11. dhcprequest on fxp0 to 255.255.255.255 port 67
12. dhcpack from 192.168.3.1
13. bound to 192.168.3.32 -- renewal in 3600 seconds.
在更復雜的情況下,就要指定更多的內容,例如當系統有多個網絡卡時,要指定dhclient應該從哪個子網中獲 得ip地址設定,就需要使用設定檔案dhclient.conf。一般除非有多個區域網網路介面,都應該使用空設定檔案, 避免產生配置錯誤。
以下為一個簡單的dhclient.conf的例子,可以用於多網路介面的情況:
1. # defaults
2. timeout 60;
3. reboot 10;
4. retry 60;
5. select-timeout 5;
6. initial-interval 2;
7. script "/etc/dhclient-script";
8. inte***ce "fxp0"
這個設定檔案主要用於重新定義一些引數,比較容易理解,更改也比較容易。
成功的手工執行dhclient之後,就可以考慮將其和系統啟動檔案相結合了。因為很多網路服務是依賴於網路 配置的,應該在啟動這些網路服務之前使用dhcp配置好tcp/ip。使用dhclient-script啟動服務的想法雖然也能解決問題,然而這就不能使用系統的啟動rc檔案中的相關設定啟動網路服務,而在這個dhclient-script 中重新啟動,因此比較麻煩。
更簡便的做法是僅僅在dhclient-script中設定hostname, 而讓系統啟動檔案完成其他網路服務的啟動。這樣就要求將dhclient與系統rc檔案結合起來。
1. #hostname="my.domain.name"
2. network_inte***ces="fxp0 lo0"
3. # list of network inte***ces (lo0 is loopback).
4. ifconfig_lo0="inet 127.0.0.1"
5. # default loopback device configuration.
6. #ifconfig_fxp0="inet 192.168.3.12 netmask 255.255.255.0"
7. defaultrouter="no"
8. # set to default gateway (or no).
這樣就需要更改rc.conf檔案,更改一些設定語句。首先要註釋hostname設定,而在dhclient.
script中進行設定,也不必設定defaultrouter,它通過dhcp協議自動設定。同時要保證netwo
如何設定dns伺服器地址,如何設定DNS伺服器地址
六荏合雪晴 需要知道你的網路所屬運營商在當地的dns伺服器地址,否則設定不正確會導致無法條形網頁的情況出現的 巴雅別嘉慶 在路由器裡設定好dhcp 自動分配ip 和dns後把客戶端設為自動ip和dns就可以了。 空源張簡玄 dns其實不一定是固定的 只要能上網 不管你用那個地方的dns都沒過 我是江...
伺服器如何配置,伺服器如何配置?
函巨集肖清舒 不能僅僅簡單買一個高效能伺服器來解決問題,建議樓主還是諮詢下系統整合廠商,或者懂這方面的朋友,幫你來分析下你們公司的實際情況 以下是我的建議 既然是oa系統,我們必須要確保其安全性,如果公司對oa的依賴程度很高的話,或者檔案都是存放在伺服器上的 那麼建議你不要只用一臺伺服器 具體可以這...
阿里雲伺服器怎麼搭建自己的部落格,如何在阿里雲伺服器搭建FTP伺服器,在本地電腦連線並操作?
魏艾斯筆記 一 先去域名註冊商那裡註冊一個自己喜歡的域名。二 需要選一臺伺服器版 hi南悅悅 首先選一個你中意的來域名,建源 議.com 或者.cn的。然後購bai買,提交備案,7個工du作日過稽核,zhi補償你對應的時dao間。然後你想建什麼型別的 都可以在網上搜,比如想建部落格,就搜部落格 原始...