標籤:style blog http color os 使用 io 檔案 for
本文由秀依林楓提供友情贊助,首發於爛泥行天下。
有關DHCP伺服器的配置一直打算學習,這幾天終於抽出時間來專門學習這個知識點。
DHCP:動態主機設定通訊協定,在此就不多做介紹。不清楚的童鞋,可以去百度下。
本次實驗OS:centos6.5 64bit
雙網卡:eth0為外網網卡,eth1為內網網卡
eth0網卡外網可以正常串連互連網,如下:
要想配置DHCP服務,我們要先來安裝DHCP軟體包,如下:
yum -y install dhcp
檢查安裝DHCP軟體包,所產生的檔案。如下:
rpm -ql |dhcp
通過我們可以看到有DHCP服務的設定檔以及DHCP服務的開機檔案。
通過我們可以知道,DHCP的設定檔為/etc/dhcp/dhcpd.conf。但該設定檔內容預設是空的,我們可以從dhcp安裝目錄下複製一個到/etc/dhcp/下。如下:
vi /etc/dhcp/dhcpd.conf
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
dhcpd.conf檔案有兩大部分,分別是全域配置和局部配置:
1、當全域配置與局部配置發生衝突時,局部配置優先順序更高。
2、設定檔中每一行必須以分號結尾,因為在啟動dhcpd時是不會報錯的,只能通過查看記錄檔/var/log/message得知設定檔是否有問題。
3、局部配置必須包含在一對中括弧之間。
●常用參數:
●ddns-update-style (none|interim|ad-hoc):定義所支援的DNS動態更新類型,該參數必選且必須放在第一行且只能在全域配置中使用。
●default-lease-time:用戶端IP預設租約時間,單位秒,該參數可以在全域配置、局部配置均可使用。
●max-lesase-time:用戶端IP租約時間的最大值,單位秒,該參數可以在全域配置、局部配置均可使用。
●subnet 網路號 netmask 子網路遮罩 {…..}:定義範圍。
●range 起始IP 結束IP:動態IP位址範圍。
●option routes IP地址:預設閘道,該選項可以在全域配置、局部配置均可使用。
●option subnet-mask 子網路遮罩:預設子網路遮罩,該選項可以在全域配置、局部配置均可使用。
●option domain-name-servers:DNS伺服器位址,該選項可以在全域配置、局部配置均可使用。
●option domain-name:DNS尾碼,該選項可以在全域配置、局部配置均可使用。
●host 名稱 {…..} 為特殊機器保留IP地址。
相關的案例說明如下:
ddns-update-style none;
subnet 10.5.5.0 netmask 255.255.255.224 {設定子網聲明
range 10.5.5.26 10.5.5.30;設定DHCP的IP位址集區
option domain-name-servers ns1.internal.example.org;設定DNS伺服器位址
option domain-name "internal.example.org";為用戶端設定DNS尾碼
option routers 10.5.5.1;設定預設網關為192.168.2.1
option broadcast-address 10.5.5.31;設定DHCP的廣播位址
default-lease-time 600;設定用戶端預設的地址租期
max-lease-time 7200;設定用戶端最長的地址租期
}
host ubuntu {為MAC地址00:0c:29:ee:38:80的機器保留IP地址10.5.5.3
hardware ethernet 00:0c:29:ee:38:80;
fixed-address 10.5.5.3;
}
本次實驗的配置如下:
more /etc/dhcp/dhcpd.conf
option domain-name "ilanni.com";
option domain-name-servers 192.168.1.1,223.5.5.5;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
subnet 10.5.5.0 netmask 255.255.255.0 {
range 10.5.5.2 10.5.5.254;
option domain-name-servers 192.168.1.1;
option routers 10.5.5.1;
default-lease-time 600;
max-lease-time 7200;
}
host ubuntu{
hardware ethernet 00:0c:29:ee:38:80;
fixed-address 10.5.5.3;
}
注意有關範圍的配置,其實模版設定檔中。是有幾個版本的,如下:
我們使用的最後一個配置選項,以上設定檔儲存後,我們現在來設定DHCP伺服器兩張網卡的網路設定。
我們來設定eth0外網網卡,具體配置如下:
more /etc/sysconfig/network-scripts/ifcfg-eth0
eth1內網網卡,具體配置如下:
more /etc/sysconfig/network-scripts/ifcfg-eth1
同時因為本機是多網卡機器,所以我們在此還要配置DHCP監聽的網卡。如下:
vi /etc/sysconfig/dhcpd
我們再前邊已經提到過eth1網卡時內網網卡,所以在DHCP監聽的網卡中我們填寫的是eth1.
以上配置完畢後,我們現在來啟動DHCP服務,如下:
上述設定檔中,我們特別為MAC地址00:0c:29:ee:38:80機器預留10.5.5.3這個IP地址,其他的機器我們沒有做此設定。
我們來先看其他機器,如下:
通過,我們可以看到此機器已經正常擷取IP地址及相關的資訊。
再來查看那台我們做過保留的IP地址的機器,如下:
通過,我們可以看到該機器通過手工設定IP地址的,而且IP地址就是我們預留的。
按道理說,到此我們的DHCP伺服器已經配置完畢。但是我們會發現,已經獲得IP地址的機器是不能上網的,如下:
這個已經和DHCP服務本身沒有關係了,而是需要我們再DHCP所在的伺服器開啟NAT服務。
為了操作方便,我們先暫時關閉DHCP所在伺服器的防火牆,如下:
/etc/init.d/iptables stop
開啟IP轉寄功能,如下:
然後在執行sysctl –p命令:
注意圖中的報錯資訊,這個是因為沒有載入bridge模組導致。現在我們來手工載入該模組,如下:
modprobe bridge
lsmod |grep bridge
然後再次執行sysctl –p命令,如下:
以上操作完畢後,再執行如下iptables命令,開啟iptables的NAT網路位址轉譯功能。如下:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
其中eth0為外網網卡。
通過這條命令就可以開啟iptables的NAT地址轉換的功能,這條命令的意思是當有資料包要轉寄出去時,iptables就會將IP地址轉換為eth0介面的IP地址。上邊這條命令的好處在於不必理會介面的IP地址是什麼,轉換會自動進行。
或者以下命令:
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
現在我們再來看看,用戶端是否可以正常串連互連網。如下:
以上對防火牆的操作是暫時的,下次重啟DHCP伺服器用戶端還是無法正常串連互連網。
我們可以通過/etc/init.d/iptables save,把該規則進行儲存。如下:
/etc/init.d/iptables save
more /etc/sysconfig/iptables
最後我們來查看租約的資料庫檔案/var/lib/dhcpd/dhcpd.leases,如下:
到此我們有關DHCP伺服器的相關配置已經全部完成。在這還有一部分知識沒有介紹,是和PXE有關的。這部分,我們會在kickstart無人值守安裝linux中做介紹。
爛泥:centos安裝及配置DHCP伺服器