在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”選項,既不要為其指定主機名