Linux网络服务--DHCP中继实验(原理+实操)手把手教学~

一、DHCP中继原理

  • 当企业的内部网络规模较大时,通常被划分为多个不同的子网,网络内配置了VLAN,VLAN能隔离广播,而DHCP协议使用广播

  • 例如:
    DHCP 服务器在 VLAN 100 中,就只有 VLAN 100 内的客户机能从 DHCP 服务器那里获取 IP 地址。如果 VLAN 2 或 VLAN 3 的客户机就无法通过这台 DHCP 服务器来获取 IP 地址。

  • 针对以上问题,一般有两种解决方案:

    • 为每个网段安装一台 DHCP 服务器,但这种方式的弊端是:资源浪费与不利于管理;
    • 在连接不同网段的设备上开启DHCP 中继功能,将DHCP 这种特殊的广播信息在VLAN之间转发,让其他 VLAN 的客户机也能从 DHCP 服务器获取 IP 地址,如图所示。
      在这里插入图片描述

二、DHCP中继实验

2.1 实验需求

通过配置DHCP服务器,使VLAN 20 或 VLAN 30 的客户机通过这台 DHCP 服务器来获取 IP 地址。

2.2 DHCP中继配置命令

[SW1]dhcp enable    '开启dhcp服务'
[SW1]int vlan 10    '进入vlanif 10 接口配置'
[SW1-Vlanif10]dhcp select relay     '配置dhcp中继'
[SW1-Vlanif10]dhcp relay server-ip 192.168.100.100     '提供dhcp中继的IP地址为192.168.100.100'

2.3 DHCP中继实验环境

一台三层交换机,一台二层交换机,一台DHCP服务器,两台pc
在这里插入图片描述

2.4 实验过程

1.配置二层交换机SW2

<Huawei>undo terminal monitor   '关闭终端告警或日志显示'
<Huawei>sys    '进入系统失视图模式' 
[Huawei]sysn SW2      '配置二层交换机名称为SW2'
[SW2]vlan batch 10 20 100     '创建vlan'
[SW2]int e0/0/2     '进入接口' 
[SW2-Ethernet0/0/2]port link-type access    '配置为access口' 
[SW2-Ethernet0/0/2]port default vlan 10    '将接口划入vlan 10'
[SW2-Ethernet0/0/2]q   '退出'
[SW2]int e0/0/3
[SW2-Ethernet0/0/3]port link-type access
[SW2-Ethernet0/0/3]port default vlan 20
[SW2-Ethernet0/0/3]q
[SW2]int e0/0/4
[SW2-Ethernet0/0/4]port link-type access
[SW2-Ethernet0/0/4]port default vlan 100
[SW2-Ethernet0/0/4]q
[SW2]int e0/0/1
[SW2-Ethernet0/0/1]port link trunk
[SW2-Ethernet0/0/1]port trunk allow-pass vlan all
[SW2-Ethernet0/0/1]q

2.配置二层交换机SW2

<Huawei>undo terminal monitor     '关闭终端告警或日志显示'
<Huawei>sys      '进入系统失视图模式' 
[Huawei]sysn SW1     '配置二层交换机名称为SW1'
[SW1]vlan batch 10 20 100        '创建vlan'
[SW1]int g0/0/1       '进入接口' 
[SW1-GigabitEthernet0/0/1]port link trunk   '配置为trunk口' 	
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all   
[SW1-GigabitEthernet0/0/1]q
[SW1]int vlan 10
[SW1-Vlanif10]ip add 192.168.10.1 24
[SW1-Vlanif10]q
[SW1]int vlan 20
[SW1-Vlanif20]ip add 192.168.20.1 24
[SW1-Vlanif20]q
[SW1]int vlan 100
[SW1-Vlanif100]ip add 192.168.100.1 24
[SW1-Vlanif100]q

[SW1]dhcp enable    '开启dhcp服务'
[SW1]int vlan 10    '进入虚拟接口vlanif 10'
[SW1-Vlanif10]dhcp select relay    '配置dhcp中继'
[SW1-Vlanif10]dhcp relay server-ip 192.168.100.100    '提供dhcp中继的IP地址为192.168.100.100'
[SW1-Vlanif10]q  '退出'
[SW1]int vlan 20
[SW1-Vlanif20]dhcp select relay
[SW1-Vlanif20]dhcp relay server-ip 192.168.100.100
[SW1-Vlanif20]q
[SW1]int vlan 100
[SW1-Vlanif100]dhcp select relay
[SW1-Vlanif100]dhcp relay server-ip 192.168.100.100
[SW1-Vlanif100]q

3.配置CentOS 7 DHCP中继服务

'先连接网络(我自己连接的是NAT模式)'
[root@localhost ~]# rpm -q dhcp   '查看有没有安装DHCP软件包'
未安装软件包 dhcp 
[root@localhost ~]# yum -y install dhcp*   '安装DHCP软件包'
'安装dhcp服务后更换VMnet3网卡(仅主机模式)'

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  '进入ens33网卡进行修改'
XY_METHOD=none
BROWSER_ONLY=no
BOOTPRO=static    '启用地址协议设置为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=ens33
UUID=3cae1424-fc31-4f04-874b-e2bb66dfc8c1
DEVICE=ens33
ONBOOT=yes      '系统启动时自动加载,改为yes'
IPADDR=192.168.100.100   '设置网卡IP地址'
NETWORK=255.255.255.0    '网卡子网掩码'
GATEWAY=192.168.100.1    '网卡网关地址'
DNS1=8.8.8.8     '域名解析服务地址'
':wq保存退出'
[root@localhost ~]# service network restart   '重启网卡'
Restarting network (via systemctl):                        [  确定  ]
[root@localhost ~]# ifconfig    '查看网卡IP地址是否更改成功'
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.100  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::d80b:cb4a:4fe5:254b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f4:24:29  txqueuelen 1000  (Ethernet)
        RX packets 32441  bytes 47757573 (45.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8291  bytes 529703 (517.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        ......

[root@localhost ~]# ping 192.168.100.1  '此时可以ping一下网关,可以ping通,Ctrl+C退出'
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=255 time=30.6 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=255 time=41.7 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=255 time=33.3 ms
[root@localhost ~]# ping 192.168.10.1
[root@localhost ~]# ping 192.168.20.1

[root@localhost ~]# cat /etc/dhcp/dhcpd.conf   '查看,复制模板/usr/share/doc/dhcp*/dhcpd.conf.example'
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
......


[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf   '将/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example中内容复制到/etc/dhcp/dhcpd.conf中'
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf    '进入/etc/dhcp/dhcpd.conf修改’
':set nu显示行号'
 27 subnet 192.168.10.0 netmask 255.255.255.0 {   '从第一个subnet开始设置三台主机的IP地址'
 28   range 192.168.10.128 192.168.10.200; '自动分配地址的地址池范围'
 29   option routers 192.168.10.1;   '网关'
 30   option domain-name-servers 8.8.8.8;  	'域名'
 31 }
 32 subnet 192.168.20.0 netmask 255.255.255.0 {
 33   range 192.168.20.128 192.168.20.200;
 34   option routers 192.168.20.1;
 35   option domain-name-servers 8.8.8.8;
 36 }
 37 subnet 192.168.100.0 netmask 255.255.255.0 {
 38   range 192.168.100.128 192.168.100.200;
 39   option routers 192.168.100.1;
 40   option domain-name-servers 8.8.8.8;
 41 }
[root@localhost ~]# systemctl start dhcpd    '开启dhcp服务'
[root@localhost ~]# setenforce 0     '关闭核心防护'
[root@localhost ~]# iptables -F    ‘清空防火墙规则’

4.实验验证

1、设置pc1为dhcp模式,点击应用
在这里插入图片描述
自动获取IP地址
在这里插入图片描述
可以ping通dhcp服务器
在这里插入图片描述
2、设置pc2为dhcp模式,点击应用
在这里插入图片描述
自动获取IP地址
在这里插入图片描述
可以ping通dhcp服务器
在这里插入图片描述
实验完成

猜你喜欢

转载自blog.csdn.net/ycycyyc_/article/details/107214151