Internet的用户数量众多,所以不可能给每个用户固定一个IP地址,同时也为了避免浪费,我们使用DHCP服务来解决这个问题。具有以下好处:
减少管理员的工作量
避免IP地址冲突
当网络更改IP地址段时,不需要再重新配置每个用户的IP地址
提高了IP地址的利用率
方便客户端的配置
分配到一个IP地址后永久使用
当DHCP客户机第一次成功的从DHCP服务器获取到一个IP地址后,就永久的使用这个IP地址
例如:局域网中的打印机,局域网中的座机
使用完后释放该IP,供其他客户机使用
当DHCP客户机第一次从DHCP服务器获得IP地址后,并非永久的使用该地址,而是在每次使用完后,DHCP客户机就会释放这个IP地址,供其他客户机使用
IP地址的获取和释放的命令
Windows 获取IP地址命令: ipconfig
释放IP地址命令: release
Linux 获取IP地址命令: ifconfig
重新获得IP地址命令: renew
重新登录
更新租约
若DHCP服务器宕机,客户机租约到期后,会自动释放地址,然后使用169.254.0.0–169.254.255.255网段的地址
ddns-update-style interim; '全局配置参数,针对所有子网段'
...省略内容
subnet 10.152.187.0 netmask 255.255.255.0 {'网段声明'
option routers 10.5.5.1; '配置选项,网关'
...
default-lease-time 600; '配置参数,租约'
...
host ns{
...
fixed-address 207.175.42.254; '主机声明,固定的主机地址'
}
}
配置 | 解释 |
---|---|
ddns-update-style none; | 禁止dns动态更新 |
default-lease-time 21600; | 默认租约期限 |
max-lease-time 43200; | 最大租约期限 |
option domain-name"domain.org"; | 指定域名 |
option domain-name-servers 202.106.0.20; | 指定分配dns地址 |
range参数:设置用于分配的IP地址池
option subnet-mask 参数: 设置客户机的子网掩码
option routers 参数: 设置客户机的默认网关地址
[root@localhost dhcp]# vim /etc/dhcp/dhcpd.conf
subnet 10.254.239.32 netmask 255.255.255.224 {
range dynamic-bootp 10.254.239.40 10.254.239.60;
option broadcast-address 10.254.239.31;
option routers rtr-239-32-1.example.org;
}
启动DHCP
查看租约文件 /var/lib/dhcpd/dhcpd.lease
[root@localhost ~]# vim /var/lib/dhcpd/dhcpd.leases
或者
[root@localhost ~]# less /var/lib/dhcpd/dhcpd.leases
或者其他的
其中BOOTPROTO=dhcp
[root@localhost dhcpd]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
...省略内容
命令基本格式
dhclient [-d] [网络接口名]
例如
[root@localhost ~]# dhclient -d ens33
命令基本格式
ip helper-address HDCPsrv-IPAddress
(HDCPsrv-IPAddress为DHCP服务器的IP地址)
sw2设置
sw2#conf t '进入全局配置模式'
Enter configuration commands, one per line. End with CNTL/Z.
sw2(config)#no ip routing '关闭路由功能'
sw2(config)#vlan 10,20,100 '添加 vlan 10,20,100'
sw2(config-vlan)#ex
sw2(config)#int f1/1 '进入接口,更改模式access,划分到对应vlan10中'
sw2(config-if)#sw mo acc
sw2(config-if)#sw acc vlan 10
sw2(config-if)#no shut
sw2(config-if)#int f1/2 '进入接口,更改模式access,划分到对应vlan20中'
sw2(config-if)#sw mo acc
sw2(config-if)#sw acc vlan 20
sw2(config-if)#no shut
sw2(config-if)#int f1/3 '进入接口,更改模式access,划分到对应vlan100中'
sw2(config-if)#sw mo acc
sw2(config-if)#sw acc vlan 100
sw2(config-if)#no shut
sw2(config-if)#int f1/0 '进入接口,更改模式trunk'
sw2(config-if)#sw mo t
sw2(config-if)#sw t en d
sw2(config)#do sh vlan-sw b '查看vlan添加情况
..省略部分内容
10 VLAN0010 active
20 VLAN0020 active
100 VLAN0100 active
..省略内容
sw2(config-if)#do show int f1/0 switchport '查看f1/0接口情况'
Name: Fa1/0
Switchport: Enabled
Administrative Mode: trunk
Operational Mode: trunk '成功修改成trunk'
Administrative Trunking Encapsulation: dot1q '封装模式成功的为dot1'
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: Disabled
Access Mode VLAN: 0 ((Inactive))
Trunking Native Mode VLAN: 1 (default)
Trunking VLANs Enabled: ALL
Trunking VLANs Active: 1,10,20,100
Priority for untagged frames: 0
Override vlan tag priority: FALSE
Voice VLAN: none
Appliance trust: none
sw设置
sw#conf t '进入全局配置模式'
Enter configuration commands, one per line. End with CNTL/Z.
sw(config)#vlan 10,20,100 '添加vlan 10,20,100'
sw(config-vlan)#ex
sw(config)#int vlan 10 '进入vlan 10虚拟接口,添加IP地址,并配置DHCP中继'
sw(config-if)#ip add 192.168.10.1 255.255.255.0
sw(config-if)#ip help
sw(config-if)#ip helper-address 192.168.100.100
sw(config-if)#no shut
sw(config-if)#int vlan 20 '进入vlan 20虚拟接口,添加IP地址,并配置DHCP中继'
sw(config-if)#ip add 192.168.20.1 255.255.255.0
sw(config-if)#ip help
sw(config-if)#ip helper-address 192.168.100.100
sw(config-if)#no shut
sw(config)#int vlan 100 '进入vlan 100虚拟接口,添加IP地址,并配置DHCP中继'
sw(config-if)#ip help
sw(config-if)#ip helper-address 192.168.100.100
sw(config-if)#ip add 192.168.100.1 255.255.255.0
sw(config-if)#no shut
sw(config-if)#int f1/0 '进入接口,配置trunk模式,并选择封装模式'
sw(config-if)#sw mo t
sw(config-if)#sw t en dot
sw(config)#do show vlan-sw b '查看vlan 添加情况'
...省略部分内容
10 VLAN0010 active
20 VLAN0020 active
100 VLAN0100 active
...省略部分内容
sw(config)#do show int f1/0 switchport '查看接口f1/0的模式和封装类型'
Name: Fa1/0
Switchport: Enabled
Administrative Mode: trunk
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
先连接网络,安装dhcp服务后更换VMnet1网卡
[root@localhost ~]# yum install dhcp* -y '安装dhcp服务'
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 '编辑网卡,设置IP地址相关信息'
...省略部分内容
BOOTPROTO="static" '此处要修改成static'
...省略部分内容
IPADDR=192.168.100.100 '设置IP地址相关信息'
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
[root@localhost ~]# systemctl restart network '重启网卡,并查看IP地址配置情况'
[root@localhost ~]# ifconfig
ens33: flags=4163 mtu 1500
inet 192.168.100.100 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::1d30:11ba:dcc1:394a prefixlen 64 scopeid 0x20
ether 00:0c:29:c3:77:97 txqueuelen 1000 (Ethernet)
..省略内容
[root@localhost ~]# rpm -qc dhcp '查看dhcp服务的配置文件的位置'
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@localhost ~]# cd /etc/dhcp
[root@localhost ~]# ls
dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts
[root@localhost dhcp]# vim dhcpd.conf '编辑配置文件'
'其中提示查看/usr/share/doc/dhcp*/dhcpd.conf.example文件'
[root@localhost dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf '将提示的文件复制过来,并覆盖掉dhcpd.conf'
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
[root@localhost dhcp]# vim dhcpd.conf '编辑配置文件'
... 省略内容
subnet 192.168.10.0 netmask 255.255.255.0 { '从第一个subnet开始设置三台主机的IP地址'
range 192.168.10.100 192.168.10.200; '自动分配地址的地址池范围'
option routers 192.168.10.1; '网关'
option domain-name-servers 8.8.8.8; '域名'
default-lease-time 600; '默认租约时间'
max-lease-time 7200; '最大租约时间'
}
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.100 192.168.20.200;
option routers 192.168.20.1;
option domain-name-servers 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
}
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.100 192.168.100.200;
option routers 192.168.100.1;
option domain-name-servers 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
}
...省略内容
[root@localhost dhcp]# systemctl start dhcpd '开启dhcp服务'
[root@localhost dhcp]# netstat -nuap | grep dhcpd '检索udp dhcp服务端口号'
udp 0 0 0.0.0.0:67 0.0.0.0:* 3388/dhcpd
[root@localhost dhcp]# systemctl stop firewalld.service '关闭防火墙服务'
[root@localhost dhcp]# setenforce 0
win 7 结果
C:\Users\wangermazi>ipconfig /renew
Windows IP 配置
不能在 Bluetooth 网络连接 上执行任何操作,它已断开媒体连接。
以太网适配器 Bluetooth 网络连接:
媒体状态 . . . . . . . . . . . . : 媒体已断开
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 本地连接:
连接特定的 DNS 后缀 . . . . . . . : example.org
本地链接 IPv6 地址. . . . . . . . : fe80::5cbd:6a16:3e9e:1024%11
IPv4 地址 . . . . . . . . . . . . : 192.168.10.100 '网址已经使用dhcp分配'
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.10.1
C:\Users\CN-wangermazi>ipconfig /all
以太网适配器 本地连接:
连接特定的 DNS 后缀 . . . . . . . : example.org
描述. . . . . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection
物理地址. . . . . . . . . . . . . : 00-0C-29-A4-41-3D
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::5cbd:6a16:3e9e:1024%11(首选)
IPv4 地址 . . . . . . . . . . . . : 192.168.10.100(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2019年11月19日 23:05:27
租约过期的时间 . . . . . . . . . : 2019年11月19日 23:55:28
默认网关. . . . . . . . . . . . . : 192.168.10.1
DHCP 服务器 . . . . . . . . . . . : 192.168.100.100
DHCPv6 IAID . . . . . . . . . . . : 234884137
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-25-29-1A-47-00-0C-29-A4-41-3
DNS 服务器 . . . . . . . . . . . : 8.8.8.8 'DNS服务器根据设置修改成8.8.8.8'
TCPIP 上的 NetBIOS . . . . . . . : 已启用
win 10 实验结果
C:\Users\wangermazi>ipconfig /renew
Windows IP 配置
不能在 蓝牙网络连接 上执行任何操作,它已断开媒体连接。
以太网适配器 Ethernet0:
连接特定的 DNS 后缀 . . . . . . . : example.org
本地链接 IPv6 地址. . . . . . . . : fe80::c068:9f0e:2246:18ad%5
IPv4 地址 . . . . . . . . . . . . : 192.168.20.100 '成功通过dhcp设置新的地址'
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.20.1
C:\Users\wangermazi>ipconfig /all.
..省略内容
以太网适配器 Ethernet0:
连接特定的 DNS 后缀 . . . . . . . : example.org
描述. . . . . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection
物理地址. . . . . . . . . . . . . : 00-0C-29-64-C5-B6
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::c068:9f0e:2246:18ad%5(首选)
IPv4 地址 . . . . . . . . . . . . : 192.168.20.100(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2019年11月19日 23:05:51
租约过期的时间 . . . . . . . . . : 2019年11月19日 23:15:50
默认网关. . . . . . . . . . . . . : 192.168.20.1
DHCP 服务器 . . . . . . . . . . . : 192.168.100.100
DHCPv6 IAID . . . . . . . . . . . : 50334761
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-25-29-12-28-00-0C-29-64-C5-B6
DNS 服务器 . . . . . . . . . . . : 8.8.8.8
TCPIP 上的 NetBIOS . . . . . . . : 已启用
...省略内容
rpm -qc dhcp '查找dhcp的配置文件'
dhcp服务的DUP端口号为69
IP地址的获取和释放的命令
Windows 获取IP地址命令: ipconfig
重新获取IP地址命令: ipconfig /renew
释放IP地址命令: ipconfig /release
查看所有IP地址信息:ipconfig /all
Linux 获取IP地址命令: ifconfig /renew
重新获得IP地址命令: ifconfig /renew
重启网卡方法1 :systemctl restart network
重启网卡方法2 :service network restart
更改服务配置文件后都要重启或者开启服务
使用DHCP中继服务,需要在网关中帮忙跨越vlan广播
ip helper-address HDCPsrv-IPAddress
(HDCPsrv-IPAddress为DHCP服务器的IP地址)
vim编辑器
连续复制N 行内容:Nyy
粘贴:p
行号显示:':set nu'
快速跳转到文件首行:1G 或 gg
快速跳转到文件末行:G 或 gg
删除光标到行尾:d$
删除行:dd
在行号“#,#”范围内替换所有的字符串“old”为“new”:#,# s/old/new/g