1. 程式人生 > 其它 >|NO.Z.00010|——————————|^^ 部署 ^^|——|Linux&DHCP服務.V02|---------------------------------------------------|4臺server|DHCP服務|

|NO.Z.00010|——————————|^^ 部署 ^^|——|Linux&DHCP服務.V02|---------------------------------------------------|4臺server|DHCP服務|



[LinuxNetworkEnd:Linux&DHCP服務.V02]                                                     [Applications.LinuxNetworkEnd] [|DHCP服務|DHCP租約四部曲|DHCP固定地址|DHCP超級作用域|DHCP中繼|4臺server|]








一、DHCP服務搭建
### --- 準備實驗環境
~~~     兩臺機器;網路連線模式設為自定義VMnet+模式
~~~     關閉VMware虛擬網路編輯器的DHCP功能,切記。在vmware:預設租約是30分鐘,最長租約是2小時。

### --- 防護的關閉:
iptables —L                                                 // 防火牆
gerenforce                                                  // selinux
二、DHCP配置
### --- 實驗環境:

centos6.x-server1:server:20.20.20.21    192.168.1.21
centos6.x-server2:client:20.20.20.22    192.168.1.22    隨便dhcp分配IP地址
centos6.x-server3:client:20.20.20.23    192.168.1.23    固定dhcp分配IP地址
### --- 檢查環境

[root@server21 ~]# getenforce
Disabled
[root@server21 ~]# service iptables status
iptables: Firewall is not running.
[root@server21 ~]# iptables -L                                  // 預設清空是未啟動的
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
### --- 檢查dhcp和dhcp-common是否安裝
### --- yum源設定

[root@server21 ~]# rpm -q dhcp
package dhcp is not installed
[root@server21 ~]# rpm -q dhcp-common
dhcp-common-4.1.1-51.P1.el6.centos.x86_64
三、DHCP安裝及配置檔案解釋說明
### --- 安裝dhcp

[root@server21 ~]# yum install -y  dhcp                     // dhcp是向外租賃資源的服務,dhcp需要把資源寫入配置檔案後才可以啟動,沒有寫入配置檔案資源,是啟動不成功的。
[root@server21 ~]# cat /etc/dhcp/dhcpd.conf                 // dhcp的配置檔案
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample              // 去看/usr/share/doc/dhcp下的某一個目錄下有一個檔案是dhcpd.conf.sample .sample是模板檔案,預設是不生效的。作為備用的檔案。
#   see 'man 5 dhcpd.conf'                                  // 檢視幫助的命令。man 5的級別,就是幫你來解釋說明配置你檔案的說明
[root@server21 ~]# cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf       //將母版配置檔案複製到dhcp的配置檔案出,覆蓋
[root@server21 ~]# ll /etc/sysconfig/dhcrelay               // 中繼配置檔案
四、DHCP配置檔案詳解
### --- DHCP的分為兩種:全域性配置和區域性配置

[root@server21 ~]# vim  /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;    
default-lease-time 600;
max-lease-time 7200;                                        // 以上四條是全部重複的,
log-facility local7;                                        // 日誌儲存的裝置;日誌儲存到/var/log/masage這個檔案
subnet 10.152.187.0 netmask 255.255.255.0 {                 // subnet是一個一個資源池
}
host passacaglia {                                          // 給某一臺指定的主機設定一個固定的IP地址
  hardware ethernet 0:0:c0:5d:bd:95;
  filename "vmunix.passacaglia";
  server-name "toccata.fugue.com";
}
class "foo" {                                               // 超級作用域的配置
  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}
### --- subnet配置說明

subnet 192.168.88.0 netmask 255.255.255.0 {                 // 宣告要分配的網段和子網掩碼;dhcp配置檔案中subnet下至少有一個宣告是當前主機所使用的網段。
    range 192.168.88.3 192.168.88.254;                      // 什麼可用IP地址池;range是宣告可對外分配的IP地址範圍,我們說明是IP地址池。
    option domain-name :atguigu.com";                       // 設定DNS域
    option domain-name-server 8.8.8.8;                      // 設定DNS伺服器地址;若是不分配DNS地址只能在區域網內使用,若是給了DNS地址,就可以進行域名解析,就可以在網際網路上通訊
    option routers 192.168.88.2;                            // 預設閘道器地址;設定正確的閘道器。最好跟NAT地址(橋接地址)匹配一直,
    option broadcast-address 192.168.88.255;                // 廣播地址(可不寫)
    default-lease-time 600;                                 // 預設租約(S)
    max-lease-time 7200;                                    // 最大租約(s)
}

一、DHCP實驗部署:DHCP基本功能實驗
### --- 生成配置檔案

[root@server21 ~]# cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
### --- 修改配置檔案
~~~     將配置檔案的前幾個subnet什麼註釋掉,修改最後一個subner宣告
~~~     注:注意配置檔案中每行結尾的分號和結束大括號,謝謝!

[root@server21 ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0  netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
#  option domain-name-servers ns1.internal.example.org;
#  option domain-name "internal.example.org";
#  option routers 10.5.5.1;
#  option broadcast-address 10.5.5.31;
  default-lease-time 600;
  max-lease-time 7200;
}
### --- 重啟服務

service dhcpd start
[root@server21 ~]# netstat -tlun 
udp        0      0 0.0.0.0:67                  0.0.0.0:*   
### --- 驗證

[root@server22 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 // 登出網絡卡設定
ONBOOT=yes
BOOTPROTO=dhcp
[root@server22 ~]# ifdown eth0;ifup eth0                        // 重啟指定網絡卡,生產環境中不建議使用service,全域性使用
[root@server22 ~]# ip addr
 eth0: inet 192.168.1.103/24                                    // 獲取有效的IP地址
[root@server22 ~]# tail -10 /var/log/messages                   // 檢視日誌租約四部曲
Feb  2 02:50:47 localhost dhclient[6424]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 (xid=0x108757ee        //DHCPDISCOVER發起一個請求,來自於哪裡)
Feb  2 02:50:47 localhost dhclient[6424]: DHCPOFFER from 192.168.1.1                                                        //DHCPOFFER
Feb  2 02:50:47 localhost dhclient[6424]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x108757ee)                   //DHCPREQUEST
Feb  2 02:50:47 localhost dhclient[6424]: DHCPACK from 192.168.1.1 (xid=0x108757ee)                                         //DHCPACK
Feb  2 02:50:49 localhost NET[6475]: /sbin/dhclient-script : updated /etc/resolv.conf
Feb  2 02:50:50 localhost dhclient[6424]: bound to 192.168.188 -- renewal in 2731 seconds.
二、保留地址(固定地址分配)
### --- 獲取客戶端的Mac地址

[root@server22 ~]# arp -a                                       // 檢視客戶機的Mac地址
? (192.168.1.1) at 50:3a:a0:4b:78:ec [ether] on eth0
### --- 修改/etc/dhcp/dhcpd.conf檔案

[root@server21 ~]# vim /etc/dhcp/dhcpd.conf 
host fantasia {
  hardware ethernet 50:3a:a0:4b:78:ec;                          // 客戶機的Mac地址
  fixed-address 192.168.1.88;                                   // 配置地址池以外的IP地址;//固定分配給客戶機的IP地址(可以使用地址池以外的IP)
}
### --- 重啟DHCP服務

[root@server21 ~]# service dhcpd restart   
### --- 重啟客戶機網絡卡驗證IP獲取是否成功
~~~     修改客戶端網絡卡配置

[root@server23 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
ifdown eth0; ifup eth0
[root@server23 ~]# ifdown eth0;ifup eth0
### --- 驗證

[root@server23 ~]# ifdown eth0;ifup eth0
[root@server23 ~]# ip addr
2: eth0:inet 192.168.1.88/24 
[root@server23 ~]# tail -6 /var/log/messages 
Feb  2 01:46:38 localhost kernel: e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
Feb  2 01:46:38 localhost kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Feb  2 01:46:40 localhost dhclient[3324]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x22ec641b)
Feb  2 01:46:40 localhost dhclient[3324]: DHCPACK from 192.168.1.1 (xid=0x22ec641b)
Feb  2 01:46:42 localhost NET[3375]: /sbin/dhclient-script : updated /etc/resolv.conf
Feb  2 01:46:42 localhost dhclient[3324]: bound to 192.168.1.88 -- renewal in 3331 seconds.
[root@server23 ~]# vim /var/log/messages                        // 驗證發生了續租
Feb  2 03:15:24 localhost dhcpd: DHCPACK on 192.168.1.104 to 08:00:27:e1:56:1a (localhost) via eth0
Feb  2 03:18:59 localhost dhcpd: DHCPREQUEST for 192.168.1.88 from 54:35:30:62:8c:71 (DESKTOP-MTTRBER) via eth0
三、超級作用域(同一網路域):
### --- 超級作用域介紹
~~~     DHCP伺服器可為#單個物理網路上的客戶端提供多個作用域租約地址

### --- 實驗環境準備
~~~     三臺虛擬機器同一網路模式,一個DHCP伺服器,兩個客戶機
四、超級作用域:實驗步驟
### --- 客戶端設定為DHCP網絡卡

[root@server22 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=dhcp
[root@server22 ~]# ifdown eth0
[root@server23 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
[root@server23 ~]# ifdown eth0
[root@server21 ~]# yum install -y dhcp
### --- 設定DHCP伺服器的單臂路由所需子網絡卡

[root@server21 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
[root@server21 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
IPADDR=192.168.2.21
[root@server21 ~]# ifup eth0:0 
[root@server21 ~]# ip addr
2: eth0: 
    inet 192.168.1.21/24 brd 192.168.1.255 scope global eth0
    inet 192.168.2.21/24 brd 192.168.2.255 scope global eth0:0
### --- 開啟路由轉發

[root@server21 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 
[root@server21 ~]# sysctl -p                                    // 重新整理核心引數配置檔案
net.ipv4.ip_forward = 1 
### --- 修改/etc/dhcp/dhcpd.conf檔案                                // 之前的網段宣告和主機宣告全部註釋掉!

[root@server21 ~]# cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@server21 ~]# vim /etc/dhcp/dhcpd.conf
class "foo" {
  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}
shared-network 1-2 {                                            // 所使用網段的地址192.168.1.21 192.168.2.21
  subnet 192.168.1.0 netmask 255.255.255.0 {
    option routers 192.168.1.21;
    range 192.168.1.100 192.168.1.100;                          // 因為我們需要驗證第一個網段不夠用的時候,再去分配下一個地址,設定一個來獲取驗證。
  }
  subnet 192.168.2.0 netmask 255.255.255.0 {                    // 攝於內容註釋掉或者刪除掉,切記別拉下括號
    option routers 192.168.2.21;
    range 192.168.2.100 192.168.2.200;
  } 
} 
### --- 重啟DHCP服務

[root@server21 ~]# service dhcpd restart
### --- 分別重啟兩臺機器的網絡卡,檢視獲取的地址

[root@server22 ~]# ifup eth0
[root@server22 ~]# ip addr
2: eth0:inet 192.168.1.100/24                                   // 獲取到的地址是192.168.1.103
[root@server23 ~]# ifup eth0
[root@server23 ~]# ip addr
2: eth0: 192.168.2.100/24 
[root@server22 ~]# ping 192.168.2.100                           // 這兩個客戶機之間ping是可以正常通訊的, 

一、DHCP中繼
### --- DHCP中繼

~~~     DHCP中繼介紹:DHCP Relay(DHCPR)DHCP中繼是一個小程式,
~~~     可以實現在不同和物理網段之間處理和轉發DHCP資訊的功能。
二、實驗環境準備
### --- DHCP伺服器
eth0 (192.168.1.21) VMnet10

### --- DHCP中繼
eth0 (192.168.1.21)VMnet10
eth1 (20.20.20.21)VMnet11
### --- 外網客戶機:
### --- 注:關閉所有防護:iptables Selinux

eth0 (IP地址自動獲取) VMnet11
三、配置DHCP伺服器
### --- 配置DHCP伺服器
### --- 客戶端網絡卡eth0設定為dhcp ifdown eht0

[root@server22 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=dhcp
[root@server22 ~]# ifdown eth0
[root@server23 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=dhcp
[root@server23 ~]# ifdown eth0
### --- 軟體安裝

[root@server21 ~]# yum install -y dhcp
[root@server21 ~]# cp -a /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
### --- 修改/etc/dhcp/dhcpd.conf檔案
~~~     宣告兩個subnet,其他無關可以不做操作或刪除

[root@server21 ~]# vim /etc/dhcp/dhcpd.conf 
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.21;
  default-lease-time 600;
  max-lease-time 7200;
}
subnet 10.10.10.0 netmask 255.255.255.0 {
  range 10.10.10.10 10.10.10.200;
  option routers 10.10.10.21;
  default-lease-time 600;
  max-lease-time 7200;
}
### --- 重啟dhcpd服務:

[root@server21 ~]# service dhcpd start
### --- 指定閘道器:只能中繼器的內網IP為閘道器地址
### --- 配置DHCP中繼伺服器
### --- 網絡卡配置

~~~     一塊網絡卡:ip=192.168.10.20
~~~     一塊網絡卡:ip=100.100.100.20
### --- 軟體安裝
[root@server22 ~]# yum install -y dhcp
 
### --- 修改中繼配置檔案
[root@server22 ~]# vim /etc/sysconfig/dhcrelay
INTERFACES="eth0 eth1"
DHCPSERVERS="192.168.1.21"
### --- 開啟路由轉發
[root@server22 ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1
[root@server22 ~]# sysctl -p
net.ipv4.ip_forward = 1

### --- 重啟中繼服務
[root@server22 ~]# service dhcrelay start
### --- 測試外網主機
[root@server21 ~]# tail -f /var/log/messages                    // 實時檢視dhcp伺服器的日誌
[root@server22 ~]# tail -f /var/log/messages                    // 實時檢視中繼下的日誌有什麼區別
[root@server23 ~]# ifup eth0                                    // 重啟客戶端網絡卡
[root@server23 ~]# ip addr
2: eth0: inet 192.168.1.104/24 
四、拓展實驗:此圖核試驗規劃有所區別,實驗規劃只是用一臺測試機,此圖使用了兩臺







===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)