配置DHCP服務(小白的“升級打怪”成長之路)

目錄

項目前準備

一、DHCP服務器配置(Rocky8)

1,關閉防火墻、安全上下文

2、配置網卡文件

3、安裝hdcp-server

4、配置dhcp服務

5、重啟dhcp服務

二、配置路由器

1、添加兩塊網卡并更改網卡配置文件

2、配置路由功能

3、掛載本地鏡像并安裝dhcp服務

4、配置中繼轉發

三、客戶端查看

驗證結果

四、腳本配置

1、DHCP服務器配置腳本

2、路由器配置腳本

項目前準備

項目要求 1、DHCP服務器能夠為兩個網絡分別分配IP地址。

2、內部客戶機設置為固定獲得某一個IP地址。

項目前準備

1、準備四臺虛擬機,分為DHCP服務器、內部客戶機、路由器和外部客戶機

2、配置網絡連接模式

DHCP服務器和內部客戶機

路由器

外部客戶機

一、DHCP服務器配置(Rocky8)

1,關閉防火墻、安全上下文

[root@localhost ~]# systemctl disable --now firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead) since Mon 2025-06-16 22:13:06 EDT; 36s agoDocs: man:firewalld(1)Process: 329610 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCC>Main PID: 329610 (code=exited, status=0/SUCCESS)
?
6月 16 22:12:46 bogon systemd[1]: Starting firewalld - dynamic firewall daemon...
6月 16 22:12:46 bogon systemd[1]: Started firewalld - dynamic firewall daemon.
6月 16 22:12:46 bogon firewalld[329610]: WARNING: AllowZoneDrifting is enabled. This is considered an insecu>
6月 16 22:13:04 bogon systemd[1]: Stopping firewalld - dynamic firewall daemon...
6月 16 22:13:06 bogon systemd[1]: firewalld.service: Succeeded.
6月 16 22:13:06 bogon systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@localhost ~]# getenforce
Permissive
?

2、配置網卡文件

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.1
PREFIX=24
GATEWAY=192.168.100.254
?
[root@localhost ~]# systemctl restart NetworkManager
[root@localhost dhcp]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:5b:74:6c brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 192.168.100.1/24 brd 192.168.100.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe5b:746c/64 scope link valid_lft forever preferred_lft forever
?

3、安裝hdcp-server

[root@localhost ~]# yum install -y dhcp-server
Rocky Linux 8 - AppStream ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  2.7 kB/s | 4.8 kB ? ? 00:01 ? ?
Rocky Linux 8 - AppStream ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  3.1 MB/s |  19 MB ? ? 00:05 ? ?
Rocky Linux 8 - BaseOS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4.1 kB/s | 4.3 kB ? ? 00:01 ? ?
Rocky Linux 8 - BaseOS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4.9 MB/s |  26 MB ? ? 00:05 ? ?
Rocky Linux 8 - Extras ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.5 kB/s | 3.1 kB ? ? 00:01 ? ?
Rocky Linux 8 - Extras ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  12 kB/s |  15 kB ? ? 00:01 ? ?
依賴關系解決。
=============================================================================================================軟件包 ? ? ? ? ? ? ? ? ? ? ? 架構 ? ? ? ? ? ? ? 版本 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 倉庫 ? ? ? ? ? ? ?  大小
=============================================================================================================
安裝:dhcp-server ? ? ? ? ? ? ? ?  x86_64 ? ? ? ? ? ? 12:4.3.6-50.el8_10 ? ? ? ? ? ? ? ? baseos ? ? ? ? ? ? 529 k
安裝依賴關系:bind-export-libs ? ? ? ? ? ? x86_64 ? ? ? ? ? ? 32:9.11.36-16.el8_10.4 ? ? ? ? ? ? baseos ? ? ? ? ? ? 1.1 Mdhcp-common ? ? ? ? ? ? ? ?  noarch ? ? ? ? ? ? 12:4.3.6-50.el8_10 ? ? ? ? ? ? ? ? baseos ? ? ? ? ? ? 207 kdhcp-libs ? ? ? ? ? ? ? ? ?  x86_64 ? ? ? ? ? ? 12:4.3.6-50.el8_10 ? ? ? ? ? ? ? ? baseos ? ? ? ? ? ? 147 k
?
事務概要
=============================================================================================================
安裝  4 軟件包
?
總下載:2.0 M
安裝大小:4.6 M
下載軟件包:
(1/4): dhcp-libs-4.3.6-50.el8_10.x86_64.rpm ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  381 kB/s | 147 kB ? ? 00:00 ? ?
(2/4): dhcp-common-4.3.6-50.el8_10.noarch.rpm ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  509 kB/s | 207 kB ? ? 00:00 ? ?
(3/4): dhcp-server-4.3.6-50.el8_10.x86_64.rpm ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  2.4 MB/s | 529 kB ? ? 00:00 ? ?
(4/4): bind-export-libs-9.11.36-16.el8_10.4.x86_64.rpm ? ? ? ? ? ? ? ? ? ? ? 1.7 MB/s | 1.1 MB ? ? 00:00 ? ?
-------------------------------------------------------------------------------------------------------------
總計 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.1 MB/s | 2.0 MB ? ? 00:01 ? ? 
Rocky Linux 8 - BaseOS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.6 MB/s | 1.6 kB ? ? 00:00 ? ?
導入 GPG 公鑰 0x6D745A60:Userid: "Release Engineering <infrastructure@rockylinux.org>"指紋: 7051 C470 A929 F454 CEBE 37B7 15AF 5DAC 6D74 5A60來自: /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
導入公鑰成功
運行事務檢查
事務檢查成功。
運行事務測試
事務測試成功。
運行事務準備中  : ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  1/1 安裝 ?  : dhcp-libs-12:4.3.6-50.el8_10.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  1/4 安裝 ?  : dhcp-common-12:4.3.6-50.el8_10.noarch ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  2/4 安裝 ?  : bind-export-libs-32:9.11.36-16.el8_10.4.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3/4 運行腳本: bind-export-libs-32:9.11.36-16.el8_10.4.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3/4 運行腳本: dhcp-server-12:4.3.6-50.el8_10.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  4/4 安裝 ?  : dhcp-server-12:4.3.6-50.el8_10.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  4/4 運行腳本: dhcp-server-12:4.3.6-50.el8_10.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  4/4 驗證 ?  : bind-export-libs-32:9.11.36-16.el8_10.4.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1/4 驗證 ?  : dhcp-common-12:4.3.6-50.el8_10.noarch ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  2/4 驗證 ?  : dhcp-libs-12:4.3.6-50.el8_10.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  3/4 驗證 ?  : dhcp-server-12:4.3.6-50.el8_10.x86_64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  4/4 
?
已安裝:bind-export-libs-32:9.11.36-16.el8_10.4.x86_64 ? ? ? ? ?  dhcp-common-12:4.3.6-50.el8_10.noarch ? ? ? ? ? dhcp-libs-12:4.3.6-50.el8_10.x86_64 ? ? ? ? ? ? ? ? ? ? ? dhcp-server-12:4.3.6-50.el8_10.x86_64 ? ? ? ? ? 
?
完畢!
?

4、配置dhcp服務

[root@localhost ~]# cd /etc/dhcp
[root@localhost dhcp]# ls
dhclient.d  dhcpd6.conf  dhcpd.conf
[root@localhost dhcp]# vim dhcpd.conf
#查看路徑并復制(/usr/share/doc/dhcp-server/dhcpd.conf.example)
?
[root@localhost dhcp]# cp /usr/share/doc/dhcp-server/dhcpd.conf.example ./
[root@localhost dhcp]# ls
dhclient.d  dhcpd6.conf  dhcpd.conf  dhcpd.conf.example
[root@localhost dhcp]# cp dhcpd.conf.example dhcpd.conf
cp:是否覆蓋'dhcpd.conf'? yes
[root@localhost dhcp]# ls
dhclient.d  dhcpd6.conf  dhcpd.conf  dhcpd.conf.example
?
?
#多地址池配置#
[root@localhost dhcp]# vim dhcpd.conf
#找到這項最全的,更改里面的參數#
# A slightly different configuration for an internal subnet.
subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.2 192.168.100.253;option domain-name-servers 192.168.100.1;#option domain-name "internal.example.org";option routers 192.168.100.254;option broadcast-address 192.168.100.255;default-lease-time 600;max-lease-time 7200;
}
subnet 192.168.200.0 netmask 255.255.255.0 {range 192.168.200.2 192.168.200.253;option domain-name-servers 192.168.100.1;#option domain-name "internal.example.org";option routers 192.168.200.254;option broadcast-address 192.168.200.255;default-lease-time 600;max-lease-time 7200;
}
?
?
?
?
#找到此項更改,綁定單一地址#set.host ens37(#更改成綁定單一地址的客戶端的網卡名#) {hardware ethernet 00:0c:29:7b:65:46(#找到綁定單一地址的客戶端的網卡MAC,更改此MAAC地址#);fixed-address 192.168.100.100(#更改成固定的IP地址);
}
?
?

5、重啟dhcp服務

[root@localhost dhcp]# systemctl restart dhcpd
[root@localhost dhcp]# systemctl enable --now dhcpd
Created symlink /etc/systemd/system/multi-user.target.wants/dhcpd.service → /usr/lib/systemd/system/dhcpd.service.

二、配置路由器

1、添加兩塊網卡并更改網卡配置文件

[root@bogon ~]# cd /etc/sysconfig/network-scripts/
[root@bogon network-scripts]# ls
ifcfg-ens33  ifdown-eth ? ifdown-post ?  ifdown-TeamPort  ifup-eth ? ifup-plip ?  ifup-sit ? ? ? init.ipv6-global
?
[root@bogon Packages]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::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 1000link/ether 00:0c:29:29:e3:11 brd ff:ff:ff:ff:ff:ffinet 192.168.100.4/24 brd 192.168.100.255 scope global dynamic ens33valid_lft 394sec preferred_lft 394secinet6 fe80::6acc:265f:ab9d:d3b6/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:29:e3:1b brd ff:ff:ff:ff:ff:ffinet 192.168.200.254/24 brd 192.168.200.255 scope global noprefixroute ens37valid_lft forever preferred_lft foreverinet6 fe80::e3e4:845e:bce5:e922/64 scope link noprefixroute valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:10:4b:1a brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:10:4b:1a brd ff:ff:ff:ff:ff:ff
?
?
[root@bogon network-scripts]# cp ifcfg-33 ifcfg-37
[root@bogon network-scripts]# vim ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.254
PREFIX=24
[root@bogon network-scripts]# vim ifcfg-ens37
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=ens37
DEVICE=ens37
ONBOOT=yes
IPADDR=192.168.200.254
PREFIX=24
?
[root@bogon network-scripts]# systemctl restart NetworkManager
[root@bogon network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::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 1000link/ether 00:0c:29:29:e3:11 brd ff:ff:ff:ff:ff:ffinet 192.168.100.254/24 brd 192.168.100.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet 192.168.100.4/24 brd 192.168.100.255 scope global secondary dynamic ens33valid_lft 545sec preferred_lft 545secinet6 fe80::6acc:265f:ab9d:d3b6/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:29:e3:1b brd ff:ff:ff:ff:ff:ffinet 192.168.200.254/24 brd 192.168.200.255 scope global noprefixroute ens37valid_lft forever preferred_lft foreverinet6 fe80::e3e4:845e:bce5:e922/64 scope link noprefixroute valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:10:4b:1a brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:10:4b:1a brd ff:ff:ff:ff:ff:ff
?

2、配置路由功能

[root@bogon ~]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
[root@bogon ~]# sysctl -p
net.ipv4.ip_forward = 1
?

3、掛載本地鏡像并安裝dhcp服務

[root@bogon ~]#mount /dev/sr0 /mnt
[root@bogon ~]# cd /mnt/Packages/
[root@bogon Packages]# rpm -ivh dhcp-4.2.5-82.el7.centos.x86_64.rpm 
警告:dhcp-4.2.5-82.el7.centos.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID f4a80eb5: NOKEY
準備中... ? ? ? ? ? ? ? ? ? ? ? ?  ################################# [100%]
正在升級/安裝...1:dhcp-12:4.2.5-82.el7.centos ? ?  ################################# [100%]
[root@bogon Packages]# systemctl restart dhcpd
[root@bogon Packages]# systemctl enable --now dhcpd

4、配置中繼轉發

[root@bogon Packages]# dhcrelay 192.168.100.1
Dropped all unnecessary capabilities.
Internet Systems Consortium DHCP Relay Agent 4.2.5
Copyright 2004-2013 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/virbr0/52:54:00:10:4b:1a
Sending on ? LPF/virbr0/52:54:00:10:4b:1a
Listening on LPF/ens37/00:0c:29:29:e3:1b
Sending on ? LPF/ens37/00:0c:29:29:e3:1b
Listening on LPF/ens33/00:0c:29:29:e3:11
Sending on ? LPF/ens33/00:0c:29:29:e3:11
Sending on ? Socket/fallback

三、客戶端查看

驗證結果

內部客戶機

[root@localhost ~]# ip a
1: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:7b:65:46 brd ff:ff:ff:ff:ff:ffaltname enp2s5inet 192.168.100.100/24 brd 192.168.200.255 scope global dynamic noprefixroute ens37valid_lft 160sec preferred_lft 160secinet6 fe80::20c:29ff:fe7b:6546/64 scope link noprefixroute valid_lft forever preferred_lft forever

外部客戶機

[root@localhost ~]# ip a
1: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:7b:65:46 brd ff:ff:ff:ff:ff:ffaltname enp2s5inet 192.168.200.2/24 brd 192.168.200.255 scope global dynamic noprefixroute ens37valid_lft 160sec preferred_lft 160secinet6 fe80::20c:29ff:fe7b:6546/64 scope link noprefixroute valid_lft forever preferred_lft forever
[root@localhost ~]# route -n
Kernel IP routing table
Destination ? ? Gateway ? ? ? ? Genmask ? ? ? ? Flags Metric Ref ?  Use Iface
0.0.0.0 ? ? ? ? 192.168.200.254 0.0.0.0 ? ? ? ? UG ?  100 ?  0 ? ? ?  0 ens33
192.168.200.0 ? 0.0.0.0 ? ? ? ? 255.255.255.0 ? U ? ? 100 ?  0 ? ? ?  0 ens33
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search example.org
nameserver 192.168.100.1
?

四、腳本配置

1、DHCP服務器配置腳本

#!/bin/bash
#關閉防火墻
if systemctl is-active firewalld &>/dev/null; thensystemctl disable --now firewalld
elseecho "防火墻已關閉" 
fi
iptables -F
?
#關閉selinux
if [ "$(getenforce)" = "Disabled" ]; thenecho "SELinux已經關閉"
elsesetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
fi
?
#配置網卡參數
nics=$(ip a | awk -F: '/ens/{print $2}' | grep -v "^$" | tr -d ' ')
echo -e "當前系統中可供配置的網卡有:\n$nics"
?
while true
doread -p "請輸入要配置的網卡名稱:" nicif ! echo "$nics" | grep -q "$nic"; thencontinuefiread -p "請輸入配置網絡參數的方式(dhcp|static):" tpif [ "$tp" = "dhcp" ]; thenecho "TYPE=Ethernet
BOOTPROTO=$tp
NAME=$nic
DEVICE=$nic
ONBOOT=yes" > /etc/sysconfig/network-scripts/ifcfg-$nicifdown $nic; ifup $nicelif [ "$tp" = "static" ]; thenread -p "輸入IP地址:" ipread -p "輸入子網掩碼:" maskread -p "輸入網關:" gw ? ? fi
done ? 
?
config_dhcp(){
echo "subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.2 192.168.100.253;option domain-name-servers ns1.internal.example.org;option domain-name \"internal.example.org\";option routers 192.168.100.254;option broadcast-address 192.168.100.255;default-lease-time 600;max-lease-time 7200;
} ? ? ? 
host fantasia {hardware ethernet 08:00:07:26:c0:a5;fixed-address 192.168.100.100;
}" > /etc/dhcp/dhcpd.conf
systemctl enable --now dhcpd
}
if  rpm -q dhcp &>/dev/null
thenconfig_dhcp
elseyum install -y dhcp-serverconfig_dhcp
fi

2、路由器配置腳本

#!/bin/bash
cat << EOF
請按順序進行:
1、配置ens33網卡
2、配置ens37網卡
3、配置路由轉發
4、配置中繼轉發
EOF
?
read -p "請輸入你的選擇:" num
case $num in
1)# 配置ens33網卡為靜態IP# 設置為靜態IP并添加IP地址和子網掩碼echo "TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.254
PREFIX=24" > /etc/sysconfig/network-scripts/ifcfg-ens33echo "ens33網卡已配置為靜態IP: 192.168.100.254/24";;
2)# 配置ens37網卡為靜態IP# 復制并修改配置文件cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens37# 修改網卡名稱和IP地址sed -i 's/ens33/ens37/g' /etc/sysconfig/network-scripts/ifcfg-ens37sed -i 's/192.168.100.254/192.168.200.254/g' /etc/sysconfig/network-scripts/ifcfg-ens37echo "ens192網卡已配置為靜態IP: 192.168.200.254/24";;
3)# 配置IP轉發echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.confsysctl -pecho "已啟用IPv4轉發";;
4)# 配置中繼轉發mount /dev/sr0 /mntcd /mnt/Packages/rpm -ivh dhcp-4.2.5-82.el7.centos.x86_64.rpm systemctl restart dhcpdsystemctl enable --now dhcpddhcrelay 192.168.100.1*)echo "無效的選擇,請輸入1-4之間的數字"exit 1;;
esac

看到感覺有幫助的朋友,勞煩動動發財的小手給博主點個贊

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84019.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84019.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84019.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

云原生安全

云原生 | T Wiki 以下大部分內容參考了這篇文章 什么是云原生 云原生&#xff08;Cloud Native&#xff09; “云原生”可以從字面上拆解為“云”和“原生”兩個部分來理解&#xff1a; “云”&#xff0c;是相對于“本地”而言的。傳統應用部署在本地數據中心或物理服務器…

rapidocr v3.2.0發布

粗略更新日志 rapidocr v3.2.0 發布了。令我感到很開心的是&#xff1a;有 3 個小伙伴提了 PR&#xff0c;他們積極參與了進來。 更新要點如下&#xff1a; 采納了小伙伴qianliyx 的建議&#xff0c;按照行返回單字坐標&#xff1a;同一行的單字坐標是在同一個 tuple 中的。…

Java 操作數類型沖突: varbinary 與 real 不兼容, Java中BigDecimal與SQL Server real類型沖突解決方案

要解決Java中BigDecimal類型與SQL Server中real類型沖突導致的varbinary與real不兼容錯誤&#xff0c;請按以下步驟操作&#xff1a; 錯誤原因分析 類型映射錯誤&#xff1a;JDBC驅動嘗試將BigDecimal轉換為varbinary&#xff08;二進制類型&#xff09;&#xff0c;而非目標字…

25.多子句查詢

MySQL 中包含 GROUP BY、HAVING、ORDER BY、LIMIT 時的查詢語法規則及應用&#xff0c;核心知識總結如下&#xff1a; 1.語法順序規則 當 SELECT 語句同時包含 GROUP BY、HAVING、ORDER BY、LIMIT 時&#xff0c;執行順序為&#xff1a; GROUP BY → HAVING → ORDER BY → L…

Vue3 × DataV:三步上手炫酷數據可視化組件庫

DataV&#xff08;kjgl77/datav-vue3&#xff09;是專為“大屏可視化”場景打造的 Vue3 組件庫&#xff0c;提供邊框、裝飾、等數十個開箱即用的視覺組件。本文聚焦 “在 Vue3 項目中如何正確使用 DataV”&#xff0c;從安裝、全局注冊到常見坑點&#xff0c;帶你迅速玩轉這款酷…

本地KMS服務器激活常用命令

OpenWRT內置了KMS激活的相關服務&#xff0c;配置后需要電腦本地切換到該KMS服務。相關命令如下&#xff1a; 基本功能與定義? slmgr是Windows內置的軟件授權管理工具&#xff0c;全稱為Software License Manager。其核心功能包括產品密鑰安裝/卸載、許可證信息查詢、KMS服務器…

存貨核算:個別計價法、先進先出法、加權平均法、移動加權平均法解讀

存貨作為企業資產的重要組成部分&#xff0c;貫穿于企業運營的各個環節&#xff0c;特別是制造業&#xff0c;企業的所有運營體系都是圍繞存貨來開展的。根據會計準則&#xff0c;存貨是指企業在日常活動中持有以備出售的產成品或商品、處在生產過程中的在半成品&#xff0c;以…

Java異步編程:挑戰、實踐與未來

&#x1f4cc; 摘要 在現代高并發、高性能的系統中&#xff0c;異步編程已經成為構建響應式應用的重要手段。Java 提供了多種異步編程模型&#xff0c;從最基礎的 Future 和線程池&#xff0c;到 CompletableFuture 的鏈式調用&#xff0c;再到反應式框架如 Project Reactor 和…

哈希函數結構:從MD到海綿的進化之路

一、MD結構&#xff1a;哈希函數的經典范式 1. Merkle-Damgrd結構核心原理 #mermaid-svg-BX4ZrTendXiyIVr0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-BX4ZrTendXiyIVr0 .error-icon{fill:#552222;}#mermaid-s…

零基礎設計模式——行為型模式 - 模板方法模式

第四部分&#xff1a;行為型模式 - 模板方法模式 (Template Method Pattern) 現在我們來學習模板方法模式。這個模式在一個方法中定義一個算法的骨架&#xff0c;而將一些步驟延遲到子類中實現。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。 核…

android通過adb push apk放置目錄/sdcard/Download/下無法安裝

本文通過對源碼進行追蹤,并且調試各種方式,得出android通過adb push apk放置目錄/sdcard/Download/下無法安裝的原因,并從兩個修改點觸發,提出如何能修復此問題的建議。 1. 現象 把apk通過adb push的方式放在/sdcard/Download文件夾下, (1)直接打開File(DocumentUI)…

Spring Boot整合PF4J:構建動態插拔的組件化架構

前言 在當今快速迭代的軟件開發領域,業務需求的頻繁變更對系統架構的靈活性和可擴展性提出了極高要求。傳統的單體應用架構在面對功能的不斷新增和修改時,往往會陷入代碼臃腫、維護困難、擴展性差的困境。組件化開發,為解決這些問題提供了新的思路,通過實現組件的動態插拔…

剃須效率低?電鑄多孔刀網設計如何提升毛發捕捉率

剃須效率低下常源于刀網對毛發的捕捉能力不足——傳統沖壓刀網因孔型單一、邊緣毛刺等問題&#xff0c;導致胡須滑脫或拉扯。而電鑄多孔刀網通過精密工藝革新&#xff0c;將毛發捕捉率提升40%以上。其核心優勢在于三維立體孔型設計與微米級精度控制&#xff0c;以下是技術解析&…

進一步了解git

1、什么是集中式&#xff1f;什么是分布式&#xff1f; SVN&#xff08;集中式&#xff09; 單一中央倉庫&#xff1a;所有代碼和歷史版本集中存儲在中央服務器&#xff0c;用戶本地僅保存當前工作副本。 強依賴網絡&#xff1a;提交、查看歷史等操作需實時連接服務器&#xf…

一、react18+項目初始化

npx create-rect-app 項目名稱配置antd design mobile // 安裝 npm install --save antd-mobile // 在文件中直接引入使用 import { Button } from antd-mobile <Button></Button>更改webpack配置 // 1.安裝必要的包 npm install craco --save-dev // 2.修改pack…

Azure 資源清單

Azure 資源清單 作用前置條件安裝PowerShell 7.0驗證 Azure資源清單安裝配置如果有舊版本&#xff0c;導致新模塊安裝不上&#xff0c;進行強制安裝 PowerShell 登錄到 Azure基本命令輸出詳細信息效果圖展示 作用 官方文檔&#xff1a;https://github.com/microsoft/ARI?tabr…

S11的含義-信號完整性分析

S11的含義: PCB上的互連結構是線性無源的&#xff0c;在傳輸信號時激勵源只有一個&#xff0c;即驅動器發出的信號。如果正弦信號從端口1進入&#xff0c;根據S11定義&#xff0c;S11表示端口1出來的正弦信號和端口1進入的正弦信號的比值。工程上通常把S11稱為回波損耗(Return …

基于OpenCv(開源計算機視覺庫)的圖像旋轉匹配

OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一個開源的計算機視覺和機器學習軟件庫&#xff0c;具有跨平臺特性&#xff0c;廣泛應用于工業檢測、醫療影像分析、自動駕駛、無人機、機器人視覺等多個領域。 本項目解決了圖像模板匹配時的旋轉問題。傳…

Elasticsearch Open Inference API 新增對 Cohere 的 Rerank 3 模型支持

作者&#xff1a;來自 Elastic Serena Chou 及 Max Hniebergall 了解 Cohere reranking&#xff0c;如何將 Cohere 的 Rerank 3 模型與 Elasticsearch 的 open inference API 一起使用&#xff0c;以及 Elastic 在語義 reranking 方面的路線圖。 注&#xff1a;原文在 2024 年 …

九日集訓第六天

目錄 兩個數對之間最大的乘積差 三角形的最大周長 數組拆分 救生艇 擺動排序|| 分發餅干 最少操作使數組遞增 使數組唯一的最小增量 有效三角形的個數 兩個數對之間最大的乘積差 class Solution { public:int maxProductDifference(vector<int>& nums) {so…