CentOS7搭建DHCP服務器


(1).實驗環境

  DHCP服務器:youxi1  192.168.1.6(外網)

  測試主機:youxi2  192.168.1.7(外網)

  DHCP是C/S模式,服務器端監聽端口67/UDP(bootps),客戶端默監聽認端口68/UDP(bootpc)

(2).實驗

1)在DHCP服務器上安裝dhcp服務

[root@youxi1 ~]# yum -y install dhcp

2)在DHCP服務器添加一塊網卡

  使用命令ip a sh可以看到新加的網卡,但並沒有相關配置文件

[root@youxi1 ~]# ip a sh
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:72:1e:89 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.6/24 brd 192.168.1.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe72:1e89/64 scope link 
       valid_lft forever preferred_lft forever
3: ens38: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:0c:29:72:1e:93 brd ff:ff:ff:ff:ff:ff
[root@youxi1 ~]# ls /etc/sysconfig/network-scripts/
ifcfg-ens33  ifdown-ipv6    ifdown-Team      ifup-eth    ifup-post      ifup-tunnel
ifcfg-lo     ifdown-isdn    ifdown-TeamPort  ifup-ippp   ifup-ppp       ifup-wireless
ifdown       ifdown-post    ifdown-tunnel    ifup-ipv6   ifup-routes    init.ipv6-global
ifdown-bnep  ifdown-ppp     ifup             ifup-isdn   ifup-sit       network-functions
ifdown-eth   ifdown-routes  ifup-aliases     ifup-plip   ifup-Team      network-functions-ipv6
ifdown-ippp  ifdown-sit     ifup-bnep        ifup-plusb  ifup-TeamPort

  這是直接拷貝ifcfg-ens33並重命名為ifcfg-ens38,並刪除不要的配置信息,修改部分配置

[root@youxi1 ~]# cd /etc/sysconfig/network-scripts/
[root@youxi1 network-scripts]# cp ifcfg-ens33 ifcfg-ens38
[root@youxi1 network-scripts]# cat ifcfg-ens38
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="yes"
IPADDR="192.168.2.6"
NETMASK="255.255.255.0"
GATEWAY="192.168.2.1"
DNS1="192.168.2.1"
NAME="ens38"
DEVICE="ens38"
ONBOOT="yes"
[root@youxi1 network-scripts]# ifup ens38  //啟用ens38網卡
[root@youxi1 network-scripts]# ip a sh dev ens38
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:72:1e:93 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.6/24 brd 192.168.2.255 scope global ens38
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe72:1e93/64 scope link 
valid_lft forever preferred_lft forever 

3)常用配置文件參數說明

  subnet [網絡號] netmask [子網掩碼] {...}

  作用:定義作用域,指定子網掩碼

  range [起始IP地址] [結束IP地址]

  作用:指定動態獲取IP地址范圍,可以聲明多個range但范圍不能重合。

  option routers [IP地址]

  作用:為客戶端指定默認網關,可以全局可以局部

  option domain-name [域名]

  作用:為客戶端指定默認的域,可以全局可以局部

  option domain-name-servers [IP地址]

  作用:為客戶端指定默認DNS服務器地址,可以全局可以局部

  default-lease-time [數字]

  作用:默認最小租約期限(單位秒),可以全局可以局部

  max-lease-time [數字]

  作用:最長租約期限(單位秒),可以全局可以局部

  host [主機注釋名]{

    hardware [硬件類型] [硬件地址]

    fixed-address [IP地址]

  }

  作用:用於綁定IP地址,一般硬件類型是以太網(ethernet),硬件地址是MAC地址

  log-facility [日志屬性]

  作用:定義自身的日志屬性(在/etc/rsyslog.conf日志服務配置文件中定義相應的屬性會將日志存放到何處)

4)編輯DHCP配置文件

  dhcp配置文件地址是/etc/dhcp/dhcpd.conf

[root@youxi1 ~]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
subnet 192.168.2.0 netmask 255.255.255.0 {
        range 192.168.2.100 192.168.2.254;
        option domain-name-servers 192.168.2.1;
        option domain-name "test.cn";
        option routers 192.168.2.1;
        option broadcast-address 192.168.2.255;
        default-lease-time 600;
        max-lease-time 7200;
}

  啟動dhcpd,並開機自啟

[root@youxi1 network-scripts]# systemctl start dhcpd
[root@youxi1 network-scripts]# systemctl enable dhcpd
[root@youxi1 network-scripts]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2019-05-16 23:06:15 CST; 11s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 8364 (dhcpd)
   Status: "Dispatching packets..."
   CGroup: /system.slice/dhcpd.service
           └─8364 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid

5月 16 23:06:15 youxi1 dhcpd[8364]: Sending on   LPF/ens38/00:0c:29:72:1e:93/192.168.2.0/24
5月 16 23:06:15 youxi1 dhcpd[8364]: ved.
5月 16 23:06:15 youxi1 dhcpd[8364]: No subnet declaration for ens33 (192.168.1.6).
5月 16 23:06:15 youxi1 dhcpd[8364]: ** Ignoring requests on ens33.  If this is not what
5月 16 23:06:15 youxi1 dhcpd[8364]:    you want, please write a subnet declaration
5月 16 23:06:15 youxi1 dhcpd[8364]:    in your dhcpd.conf file for the network segment
5月 16 23:06:15 youxi1 dhcpd[8364]:    to which interface ens33 is attached. **
5月 16 23:06:15 youxi1 dhcpd[8364]: nt
5月 16 23:06:15 youxi1 dhcpd[8364]: Sending on   Socket/fallback/fallback-net
5月 16 23:06:15 youxi1 systemd[1]: Started DHCPv4 Server Daemon.

5)添加測試主機網卡,一樣LAN1

  編輯ens38網卡配置文件,並啟動

[root@youxi2 ~]# cd /etc/sysconfig/network-scripts/
[root@youxi2 network-scripts]# cp ifcfg-ens33 ifcfg-ens38
[root@youxi2 network-scripts]# cat ifcfg-ens38
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="yes"
NAME="ens38"
DEVICE="ens38"
ONBOOT="yes"
[root@youxi2 network-scripts]# ifup ens38
正在確定 ens38 的 IP 信息... 完成。
[root@youxi2 network-scripts]# ip a sh dev ens38
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:f2:7e:5c brd ff:ff:ff:ff:ff:ff
inet 192.168.2.100/24 brd 192.168.2.255 scope global dynamic ens38
valid_lft 589sec preferred_lft 589sec
inet6 fe80::20c:29ff:fef2:7e5c/64 scope link 
valid_lft forever preferred_lft forever

6)如果想要IP綁定MAC

  修改DHCP服務器上的配置文件,重啟dhcp服務

[root@youxi1 ~]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
subnet 192.168.2.0 netmask 255.255.255.0 {
        range 192.168.2.100 192.168.2.254;
        option domain-name-servers 192.168.2.1;
        option domain-name "test.cn";
        option routers 192.168.2.1;
        option broadcast-address 192.168.2.255;
        default-lease-time 600;
        max-lease-time 7200;
        host youxi2{
                hardware ethernet 00:0c:29:f2:7e:5c;
                fixed-address 192.168.2.200;
        }
}
[root@youxi1 ~]# systemctl restart dhcpd

  重啟測試主機上的network服務

[root@youxi2 ~]# ip a sh dev ens38
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f2:7e:5c brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.100/24 brd 192.168.2.255 scope global dynamic ens38
       valid_lft 355sec preferred_lft 355sec
    inet6 fe80::20c:29ff:fef2:7e5c/64 scope link 
       valid_lft forever preferred_lft forever
[root@youxi2 ~]# systemctl restart network
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
[root@youxi2 ~]# ip a sh dev ens38        
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:f2:7e:5c brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.200/24 brd 192.168.2.255 scope global dynamic ens38
       valid_lft 546sec preferred_lft 546sec
    inet6 fe80::20c:29ff:fef2:7e5c/64 scope link 
       valid_lft forever preferred_lft forever

7)常看相關文件

  DHCP服務器上的租約數據庫文件

[root@youxi1 ~]# cat /var/lib/dhcpd/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5

lease 192.168.2.100 {
  starts 6 2019/05/18 06:56:08;
  ends 6 2019/05/18 07:06:08;
  tstp 6 2019/05/18 07:06:08;
  cltt 6 2019/05/18 06:56:08;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 00:0c:29:f2:7e:5c;
  client-hostname "youxi2";
}
server-duid "\000\001\000\001$p8\347\000\014)r\036\223";

  在測試主機上查看DNS

[root@youxi2 ~]# cat /etc/resolv.conf
; generated by /usr/sbin/dhclient-script
search test.cn
nameserver 192.168.1.1

  查看網關

[root@youxi2 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ens33
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 ens33
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 ens38

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM