前言:2020年,進入大二下學期,上學期學了一學期Linux基礎,這學期,學的深入些。
第一個實驗,搭建DHCP服務與驗證,我實驗的背景是在Vmware Workstation中新建了兩個centos系統的虛擬機,一個centos7.4版本的作爲服務器,一個centos7.3版本的作爲客戶機,如下圖。
我參考的3個寫的比較好的博客:
(1)這個博客寫了開機的設置,讓我一開始想了半天不知道爲什麼與預想結果不一致,原來是,要開機重啓 ,。。。。耽誤了好久時間,因爲是做實驗,並不是真的搭建dhcp服務器,所以不用設置開機自啓。
(2)這個博客講了搭建dhcp的原理和作用,但是,搭建完成後的驗證是在虛擬機win7系統驗證的,由於剛卸載winserver,。。。。,所以驗證部分還是播客一比較好,但是與老師教的不同,播客一,用的是自帶的網卡驗證的,沒有新建網卡,不過,問題不大。
(3)這個是新建網卡,配置並驗證dhcp服務的。
(4)補充。
(5)補充。
實驗步驟:
所用命令:
1 ifconfig
2 systemctl stop firewalld
3 setenforce 0
4 yum -y install dhcp
5 cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
6 vim /etc/dhcp/dhcpd.conf
7 vim /etc/sysconfig/network-scripts/ifcfg-ens33
8 systemctl restart network.service
9 systemctl restart dhcpd.service
10 cat /var/lib/dhcpd/dhcpd.leases*
一:分配動態ip,即制定地址池裏的ip
1,ifconfig查看ip地址,要注意的是ip(inet後)地址和mac(ether後)地址。
2,臨時關閉防火牆以及關閉selinux
systemctl stop firewalld
setenforce 0
3,安裝DHCP軟件包(安裝有很多方式,百度自選,可以用rpm -qa | grep dhcp驗證)
yum -y install dhcp*
注意:雖然做實驗時兩臺主機都在僅主機模式下,但僅主機模式無法聯網,下載軟件時要先把網絡適配器改爲NAT模式,下完dhcp再改爲僅主機模式!。
4,配置DHCP——把系統默認的樣例複製到/etc/dhcp/dhcpd.conf文件裏(注意 /etc/dhcp/dhcpd.conf,這個路徑cd一下看是否存在,不存在要新建)
把系統默認的樣例複製到/etc/dhcp/dhcpd.conf文件裏
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆蓋"/etc/dhcp/dhcpd.conf"? y
5,修改配置文件
vim /etc/dhcp/dhcpd.conf
進入dhcpd.conf後進行修改,注意:
(1)給幾個客戶機分配就留幾個subnet,我只開了一個客戶機,所以我只留一個,別的全刪了。
修改47-52行,(根據內容而定行數,我的只是樣例),其餘的可以刪掉。
# vim /etc/dhcp/dhcpd.conf --修改配置文件
7 option domain-name "example.org"; --DNS域名
8 option domain-name-servers ns1.example.org, ns2.example.org; --DNS的域服務器
9
10 default-lease-time 600; --默認的租約時間,秒爲單位
11 max-lease-time 7200; --最大的租約時間,秒爲單位
14 #ddns-update-style none; --表示要不要把IP地址的更新情況告訴DNS服務器,默認是關閉的
22 log-facility local7; --定義日誌服務,可以在日誌配置文件中查看具體日誌位置,默認是:/var/log/boog.log,但是在/var/log/messages裏面也會記錄dhcp日誌
47 subnet 192.168.136.0 netmask 255.255.255.0 { --分配的網段及子網掩碼,代表只在192.168.8.x這個C類網段裏生效,子網掩碼設爲255.255.255.0
48 range 192.168.136.140 192.168.136.160; --代表給客戶機分配可用的IP範圍,起始到結束,儘量不要包含DHCP服務器的IP地址
49 option domain-name-servers 192.168.136.132; --配置要分配給客戶端的DNS地址,這裏我們設爲DHCP服務器的IP地址
50 option domain-name "internal.example.org"; --DNS的域名
51 option routers 192.168.136.132; --配置分配給客戶機的路由網關,這裏我們設爲DHCP服務器的IP地址
52 option broadcast-address 192.168.136.255; --給客戶機指定廣播地址,配置192.168.8.x這個網段的廣播地址
53 default-lease-time 600; --指定租約時間,秒爲單位
54 max-lease-time 7200; --指定最大租約時間,秒爲單位
55 }
75 host fantasia { --將MAC地址和IP綁定,host後面的名字隨意,如:fantasia
76 hardware ethernet 08:00:07:26:c0:a5; --MAC地址
77 fixed-address fantasia.fugue.com; --IP地址
78 }
85 class "foo" { --定義多個子網,class後面寫組名
86 match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
87 }
88
89 shared-network 224-29 { --定義多個子網,要從大往小寫
90 subnet 10.17.224.0 netmask 255.255.255.0 {
91 option routers rtr-224.example.org;
92 }
93 subnet 10.0.29.0 netmask 255.255.255.0 {
94 option routers rtr-29.example.org;
95 }
96 pool {
97 allow members of "foo";
98 range 10.17.224.10 10.17.224.250;
99 }
100 pool {
101 deny members of "foo";
102 range 10.0.29.10 10.0.29.230;
103 }
104 }
6 ,修改網卡文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
DEFROUTE=yes
…
…
ONBOOT=yes
GATEWAY=192.168.136.132
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY="no"
BOOTPROTO=static
ONBOOT=yes
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=98e10e82-8926-4844-93ad-6b671b3ec65b
DEVICE="ens33"
ONBOOT=yes
GATEWAY=192.168.30.1
IPADDR=192.168.30.1
NETMASK=255.255.255.0
ARPCHECK=no
systemctl restart network.service --重啓網卡
7,啓動DHCP服務
systemctl restart dhcpd.service --重啓DHCP服務
netstat -anlp | grep dhcpd --查看dhcp服務端口爲67
8,用
cat /var/lib/dhcpd/dhcpd.leases
先查看分配出去的IP地址。若沒問題,可以來到客戶機驗證
(以上操作都是在作爲服務器的centos7.4虛擬機上做的!!!)
二:下面來到客戶機驗證
(1)把客戶端機的網卡配置成dhcp,再重啓網絡服務
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp --網卡指定方式改爲dhcp
...
ONBOOT=yes
TYPE="Ethernet"
BOOTPROTO=dhcp
DEFROUTE="yes"
NAME=ens33
UUID=641afec9-fcd3-41ff-b0af-4f93058f6076
DEVICE=ens33
ONBOOT="yes"
IPV4_FAILURE_FATAL=no
IPV6INIT=no
PEERDNS=no
PEERROUTES=yes
~
(2)systemctl restart network.service --重啓網卡(當有多個網卡用ifdown 網卡名,ifup網卡名)
(3)重啓網絡
systemctl restart NetworkManager --重啓這個服務,每次重啓網絡服務時,系統都會重新去DHCP服務 器上獲取IP地址。
(4)ifconfig --查看IP是否爲ip池裏的ip!
二,分配固定ip
如果要求要分配固定IP的話:
1、修改dhcp配置文件
vi /etc/dhcp/dhcpd.conf
末尾新增:
host fantasia { ----主機聲明,host後面的內容,可以自定義
hardware ethernet 00:0c:29:53:30:50; ----指定其它pc(客戶機,打印機等)mac地址
fixed-address 192.168.80.188; ----要給客戶機分配的固定地址
}
2,重啓dhcp服務:
systemctl restart dhcpd
3,再次來到客戶機驗證
(1)把客戶端機的網卡配置成dhcp,再重啓網絡服務
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp --網卡指定方式改爲dhcp
...
...
NBOOT=yes
(2)systemctl restart network.service --重啓網卡
(3)重啓網絡
systemctl restart NetworkManager --重啓這個服務,每次重啓網絡服務時,系統都會重新去DHCP服務器上獲取IP地址
(4)查看IP
ifconfig
–查看所分配的IP是否是我們在/etc/dhcp/dhcpd.conf中指定的固定的IP。
注意:當一切工作都問題的話但是沒收到預想的結果:那就改下這裏吧,(我被這裏坑了兩天)
把子網ip改爲你要的那個段吧,並把 “使用本地dhcp服務將ip地址分配給虛擬機” ——這一項的對勾取消。