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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux(centos7)檢視和設定ip(DHCP)LinuxCentOS
- [轉載] PyCharm、CLion 的設定和使用PyCharm
- 在FreeBSD上使用DockerDocker
- Freebsd P怎麼安裝?Freebsd PF 安裝使用詳解
- DHCP 和 DNS 示例DNS
- 虛擬機器網路設定 與dhcp 獲取ip虛擬機
- FreeBSD on Raspberry PI root, freebsd account password
- FreeBSD系統使用方法詳解
- linux設定埠轉發(一鍵設定)Linux
- FreeBSD Timeline
- TornadoFx設定儲存功能((config和preference使用))
- CSocket設定超時(轉)
- 使用 Dockerfile 定製映象【轉】Docker
- TeX/LaTeX on FreeBSD
- Python代理IP的使用和代理池的設定Python
- 如何在 Lightroom 中使用降噪和銳化設定?OOM
- DHCP
- DHCP和PXE是怎麼工作的
- FreeBSD Transmission 403 ForbiddenORB
- log4j的基本使用和引數設定
- 4.2.10.2 設定和取消設定環境變數變數
- FreeBSD使用deamon將frpc新增到開始啟動項FRPRPC
- 使用react-app-rewired和customize-cra對預設設定自定義ReactAPP
- DHCP原理
- 手動設定ip地址和dns ip地址和dns怎麼設定DNS
- FreeBSD 14.1 ISO 下載
- FreeBSD系統怎麼新增硬碟?FreeBSD系統新增硬碟的方法教程硬碟
- macos 使用前的設定Mac
- Word設定樣式快捷鍵(轉載)
- 設定 SSH 隧道(埠轉發)實戰
- 環境變數的設定方法(轉)~變數
- react設定預設state和預設propsReact
- 備份和還原Windows DHCP伺服器Windows伺服器
- vue 常量定義和使用Vue
- 如何在 Linux Shell 程式設計中定義和使用函式Linux程式設計函式
- 無線WiFi設定和使用遇到問題及注意事項WiFi
- Redis中Lua指令碼的使用和設定超時坍淑Redis指令碼
- FreeBSD啟用ZFS快照功能
- 電腦設定平衡cpu的效能和功耗的設定教程