1. 程式人生 > >在CentOS7.3中做DHCP中繼代理

在CentOS7.3中做DHCP中繼代理

不以物喜不以己悲,生活不會突變,你要做的只是耐心和積累。


整篇文章大致分為兩部分,第一部分是對網路常用命令做了說明,第二部部分是對網路基本服務DHCP服務和DHCP中繼進行了搭建以及結果驗證。在做DHCP中繼之前先了解一下網路的基礎只是是很有必要的,熟悉常用的網路命令,對日常的網路管理是很有幫助的.

網路基礎

文章目錄

基本網路命令

ifconfig

ifconfig ens33 down #關閉網路
ifconfig ens33 up #開啟網路
ifconfig ens33 192.168.1.1 netmask 255.255.255.0 #配置IP地址和子網掩碼
ifconfig #檢視網路配置

ip

ip #檢視網路相關內容,如a表示地址,r表示路由等

route

route #檢視路由
route add -net 192.168.1.0/24 gw 192.168.1.1 #新增路由
route del -net 192.168.1.0/24 gw 192.168.1.1 #刪除路由

netstat

netstat -lnpt #檢視網路連線情況
引數 描述
-a 顯示當前主機中所有活動的連線
-n 以數字的形式顯示相關主機的地址,埠資訊
-p 顯示路由表資訊
-l 顯示處於監聽狀態的連線
-t 檢視tcp協議相關資訊
-u 檢視udp協議相關資訊
-p 顯示與網路連線相關聯的程序號

traceroute

traceroute #測試從當前主機到目標主機經過了哪些網路節點

nslookup

nslookup #進行域名解析

網路服務配置

網路服務配置檔案位於/etc/sysconfig/network-scripts/ifcfg-*,編輯對應的檔案,可以修改對應的網絡卡引數

幾個主要的引數如下:

引數 描述
BOOTPROTO 獲取地址方式dhcp|static
DEVICE 裝置驅動名
ONBOOT 是否為開機啟動yes為啟動no為不啟動
IPADDR 配置IP地址
NETMASK 子網掩碼
GATEWAY 預設閘道器
DNS1 dns設定

說明:如果有多張網絡卡,而在上面目錄下沒有相關的配置檔案,我們可以cp之前的配置檔案的內容到新的檔案,並對其修改。
例如:以ifcfg-ens33網絡卡為例

cp /etc/sysconfig/network-scripts/ifcfg-{ens33,ens37} #cp ens33網絡卡內容到ens37網絡卡
vim /etc/sysconfig/network-scripts/ifcfg-ens37 #進入ens37網絡卡配置檔案
#主要修改如下內容:
NAME=ens37
DEVICE=ens37
UUID #去掉
IPADDR=
NETMASK=

網路服務使用

systemctl start network  #啟動網路服務
systemctl restart network  #重啟網路服務
systemctl reload network #過載網路服務
systemctl status network #檢視服務狀態

域名解析檔案

vim /etc/resolv.conf #修改dns配置檔案
nameserver1 223.5.5.5 #第一個dns地址
nameserver2 8.8.8.8 #第二個dns地址

DHCP伺服器

DHCP,動態主機配置協議,使用UDP協議進行工作,為區域網內的終端提供TCP/IP相關配置資訊,如(DNS,IP,閘道器,子網掩碼等)

DHCP安裝

yum -y install dhcp

DHCP啟動方式

systemctl enable dhcpd #開機自啟動
systemctl start dhcpd #啟動
systemctl restart dhcpd #重啟服務
systemctl reload dhcpd #過載服務
systemctl status dhcpd #檢視服務狀態

DHCP配置

dhcp配置檔案位於/etc/dhcp/dhcpd.conf

DHCP基本配置

1.配置DHCP伺服器的主要網路引數

BOOTPROTO="static"
IPADDR=172.16.220.250
NETMASK=255.255.255.0
GATEWAY=172.16.220.254

2.重啟網路服務

systemctl restart network

3.編輯DHCP伺服器的配置檔案

vim /etc/dhcp/dhcpd.conf
#整體環境設定
ddns-update-style none;
ignore client-updates;
default-lease-time 259200;
max-lease-time 518400;
option domain-name-servers 202.102.224.68,202.102.227.68;
# 兩個網段IP分配
subnet 172.16.220.0 netmask 255.255.255.0 {
	range 172.16.220.100 172.16.220.199;
	option subnet-mask 255.255.255.0;
	option routers 172.16.220.254;
}
subnet 192.168.145.0 netmask 255.255.255.0 {
    range 192.168.145.100 192.168.145.199;
    option subnet-mask 255.255.255.0;
    option routers 192.168.145.254;
}

4.啟動DHCP服務,並檢查狀態

systemctl start dhcpd
systemctl status dhcpd

如果沒有報錯的話,說明伺服器一切正常,至此DHCP伺服器的配置已經完成。

配置DHCP中繼伺服器

1.做為中繼伺服器首先要確保有兩張網絡卡,否則無法中繼;

[[email protected] ~]# lspci |grep Ethernet #搜尋網絡卡
02:01.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
02:05.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)

2.檢視網絡卡資訊

[[email protected] ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500 #第一張網絡卡
        inet 172.16.220.129  netmask 255.255.255.0  broadcast 172.16.220.255
        inet6 fe80::d2cb:71f7:9f48:870  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:09:c5:c8  txqueuelen 1000  (Ethernet)
        RX packets 1160  bytes 107004 (104.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 753  bytes 105219 (102.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500 #第二張網絡卡
        inet 192.168.145.2  netmask 255.255.255.0  broadcast 192.168.145.255
        inet6 fe80::c0f:3612:5f5f:bc6e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:09:c5:d2  txqueuelen 1000  (Ethernet)
        RX packets 30  bytes 4961 (4.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 60  bytes 4970 (4.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3.接下來分別配置這兩個網絡卡的網路引數

網絡卡ens33與DHCP伺服器相連,屬於172.16.220.0/24網段,注意網絡卡ens33的IP地址是DHCP伺服器的閘道器地址,主要配置如下:

vim /etc/sysconfig/network-scripts/ifcfg-ens33 #進入網絡卡配置檔案
#主要配置內容如下:
BOOTPROTO=static
IPADDR=172.16.220.245 #DHCP伺服器預設閘道器地址
NETMASK=255.255.255.0

網絡卡ens37與192.168.145.0/24網段相連,注意網絡卡ens37的IP地址是192.168.145.0/24網段的閘道器地址,主要配置如下:

vim /etc/sysconfig/network-scripts/ifcfg-ens37 #進入網絡卡配置檔案
#主要配置內容如下:
BOOTPROTO=static
IPADDR=192.168.145.254  #另一網段閘道器地址
NETMASK=255.255.255.0

4.配置好後,重啟網路服務是設定生效

systemctl restart network

5.安裝DHCP

yum -y install dhcp #安裝DHCP,獲取DHCP中繼功能

vim /etc/sysctl.conf #開啟路由轉發功能
net.ipv4.ip-forward = 1
sysctl -p #使設定立即生效

6.開啟DHCP中繼服務

dhcrelay 172.16.220.250  #DHCP伺服器地址
驗證

1.配置客戶端的網絡卡,主要修改內容如下:

BOOTPROTO=dhcp
NOBOOT=yse

2.重啟網絡卡

systemctl restart network

3.檢視網絡卡資訊

vmnet1: 將客戶機的網絡卡調成此網絡卡

[[email protected] ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500 #第一張網絡卡
        inet 192.168.145.100  netmask 255.255.255.0  broadcast 192.168.145.255 #成功獲取到了第二段的地址
        inet6 fe80::d2cb:71f7:9f48:870  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:09:c5:c8  txqueuelen 1000  (Ethernet)
        RX packets 1160  bytes 107004 (104.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 753  bytes 105219 (102.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vmnet8: 將客戶機的網絡卡調成此網絡卡

[[email protected] ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500 #第一張網絡卡
        inet 172.16.220.100  netmask 255.255.255.0  broadcast 172.16.220.255 #成功獲取到第一段的地址
        inet6 fe80::d2cb:71f7:9f48:870  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:09:c5:c8  txqueuelen 1000  (Ethernet)
        RX packets 1160  bytes 107004 (104.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 753  bytes 105219 (102.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

提示: 在虛擬機器中,為了能讓我們的DHCP服務起作用,在自動獲取IP地址之前,需要編輯虛擬網路,去掉本地DHCP之前的勾,具體操作如下圖:
在這裡插入圖片描述
在這裡插入圖片描述

DHCP配置引數說明

/etc/dhcpd.conf通常包括三部分:parameters、declarations、option。

DHCP配置檔案中的parameters(引數):表明如何執行任務,是否要執行任務,或將哪些網路配置選項傳送給客戶

引數 描述
ddns-update-style 配置DHCP-DNS 互動更新模式
default-lease-time 指定確省租賃時間的長度,單位是秒
max-lease-time 指定最大租賃時間長度,單位是秒
hardware 指定網絡卡介面型別和MAC地址
server-name 通知DHCP客戶伺服器名稱
get-lease-hostnames flag 檢查客戶端使用的IP地址
fixed-address ip 分配給客戶端一個固定的地址
authritative 拒絕不正確的IP地址的要求

DHCP配置檔案中的declarations (宣告):用來描述網路佈局、提供客戶的IP地址等

引數 描述
shared-network 用來告知是否一些子網路分享相同網路
subnet 描述一個IP地址是否屬於該子網
range 起始IP 終止IP 提供動態分配IP 的範圍
host 主機名稱 參考特別的主機
group 為一組引數提供宣告
allow unknown-clients;deny unknown-client 是否動態分配IP給未知的使用者
allow bootp;deny bootp 是否響應啟用查詢
allow booting;deny booting 是否響應使用者查詢
filename 開始啟動檔案的名稱. 應用於無盤工作站
next-server 設定伺服器從引導檔案中裝如主機名,應用於無盤工作站

DHCP配置檔案中的option(選項):用來配置DHCP可選引數,全部用option關鍵字作為開始

引數 描述
subnet-mask 為客戶端設定子網掩碼
domain-name 為客戶端指明DNS名字
domain-name-servers 為客戶端指明DNS伺服器IP地址
host-name 為客戶端指定主機名稱
routers 為客戶端設定預設閘道器
broadcast-address 為客戶端設定廣播地址
ntp-server 為客戶端設定網路時間伺服器IP地址
time-offset 為客戶端設定和格林威治時間的偏移時間,單位是秒

注意: 如果客戶端使用的是視窗作業系統,不要選擇“host-name”選項,既不要為其指定主機名