FreeBSD設定和使用DHCP(轉)
在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。
pseudo-device bpfilter 4
定製核心之後,還要保證/dev/目錄下具有對應bpfilter的裝置檔案。
# cd /dev# sh MAKEDEV bpf0 bpf1 bpf2 bpf3
從Packages Collecion中安裝DHCP軟體,這將DHCP軟體中的dhcpd,dhclient和dhcprelay 安裝到/usr/local/sbin目錄下。
$ ls /usr/local/sbin/dhc*/usr/local/sbin/dhclient /usr/local/sbin/dhcpd/usr/local/sbin/dhcrelay
- 設定伺服器
為了設定DHCP伺服器dhcpd,首先就要設定其配置檔案/etc/dhcpd.conf。這個配置檔案語法簡單,比較容易理解。
server-identifier 192.168.3.1;subnet 192.168.3.0 netmask 255.255.255.0 { range 192.168.3.10 192.168.3.20; default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.3.255; option routers 192.168.3.1; option domain-name-servers 192.168.3.1; option domain-name "exampleorg.org.cn";}host a1 { hardware ethernet 00:90:27:4e:92:09; fixed-address 192.168.3.32; option subnet-mask 255.255.255.0; option broadcast-address 192.168.3.255; option routers 192.168.3.1; option domain-name-servers 192.168.3.1; option domain-name "exampleorg.org.cn";}
基本的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請求。
# /usr/local/sbin/dhcpd fxp0
在除錯階段,可以使用-d引數,這樣dhcpd就不會進入後臺執行,而一直保留在前臺,並顯示各個與客戶計算機通訊的過程。當一切都除錯完畢之後,就能去除-d引數,並將執行命令放入rc.local啟動指令碼中,以便系統能夠自動執行。
此後,dhcpd正常執行的時候,會將每一次客戶請求及其回應的IP地址分配的記錄,都記錄在/var/run/dhcpd.leases 檔案中。為了使dhcpd能正常進行日誌記錄,應該在啟動dhcpd之前使用touch 命令,生成一個新的日誌檔案。以後就可以檢視這個日誌檔案的內容,以得到當前DHCP伺服器的狀態和客戶機IP地址分配的情況。以下是一個日誌檔案的部分內容。
lease 192.168.3.11 { starts 3 1998/11/26 05:46:28; ends 4 1998/11/27 05:46:28; hardware ethernet 0:80:c2:12:fd:d; uid 1:0:80:c2:12:fd:d; }
touch命令的優點是在存在相關的檔案時,不刪除或更改檔案內容,只更新其訪問時間設定,只有在檔案不存在時才生成新檔案。
然後就能設定網路中的客戶計算機使用DHCP協議,獲取合法的IP地址了。通常Windows計算機的TCP/IP設定中能直接設定支援DHCP協議,如果為Unix(包括FreeBSD)設定DHCP客戶軟體,就需要dhclient的支援。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-944625/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- FreeBSD設定和使用ipfw/natd(轉)
- FreeBSD DHCP的工作過程(轉)
- FreeBSD shell設定(轉)
- LINUX下架設DHCP全攻略 設定DHCP (轉)Linux
- FreeBSD設定基本系統(轉)
- FreeBSD下PPPoE的設定(轉)
- FreeBSD下PPPoE的設定 (轉)
- FreeBSD調整系統設定(轉)
- FreeBSD其他核心設定選項(轉)
- 網通dhcp客戶端設定詳解(轉)客戶端
- FreeBSD根據Windows網路設定Samba(轉)WindowsSamba
- FreeBSD的基本系統下Shell設定(轉)
- 架設 DHCP Server(轉)Server
- FreeBSD系統中調整控制檯設定(轉)
- Linux(centos7)檢視和設定ip(DHCP)LinuxCentOS
- [轉載] PyCharm、CLion 的設定和使用PyCharm
- FreeBSD定時執行程式(cron)(轉)行程
- DHCP 動態主機設定協議協議
- 怎樣在紅旗5.0下設定DHCP客戶端上網(轉)客戶端
- 淺談FreeBSD 5.2R 常用操作(設定)的改變(轉)
- FreeBSD 預設核心配置選項(轉)
- FreeBSD 整合Unix和Windows的方式(轉)Windows
- 讓FreeBSD使用ntpd同步時間(轉)
- FreeBSD對IP地址和域名的控制(轉)
- FreeBSD和Linux共享swap分割槽(轉)Linux
- 使用 Solaris 的初步設定(轉)
- FREEBSD下使用crunch整合編譯程式(轉)編譯
- FreeBSD使用smbclient訪問Windows資源(轉)clientWindows
- FreeBSD 下使用crunch整合編譯程式(轉)編譯
- DHCP + DNS (bind) == DDNS(轉)DNS
- 配置FreeBSD核心(轉)
- FreeBSD程式管理(轉)
- FreeBSD安全工具(轉)
- 虛擬機器網路設定 與dhcp 獲取ip虛擬機
- FreeBSD的磁碟和BIOS的關係(轉)iOS
- FreeBSD軟盤操作(轉)
- FreeBSD PPP協議(轉)協議
- FreeBSD安裝samba(轉)Samba