DHCP服务
单播:一对一的通信
组播:一对多的通信,小范围内广播(ospf协议)
广播:就是给所有的host都发相同的信息
广播:就是给所有的host都发相同的信息
广播MAC地址:FF-FF-FF-FF-FF-FF 数据链路层
广播的IP地址:255.255.255.255 网络层
广播只能在局域网内广播,不能通过路由器,路由器不会转发广播帧
交换机能够分割广播域和转发收到的数据包
DHCP Dynamic Host Configuration Protocol
动态主机配置协议 使用的是bootstrap协议
dhcp的前身是bootp 工作在应用层,分为client (
客户端)和server (
服务端)
*********************
*unicast(
单播) *
*broadcast(
广播) *
*********************
DHCP获取ip的过程
DHCPDiscover —》atlp----》dhcp offer —》dhcp request --》dhcp ack
1.D
HCPDiscove
r : 寻找网内的dhcp服务器(linux广播)
2.ARP : ARP广播,防止ip地址冲突(广播)
3.DHCPOffer : DHCP服务器回复的offer(ip,netmask,gw,dns)(linux单播)
2.ARP : ARP广播,防止ip地址冲突(广播)
4.DHCPRequest : DHCP回复Offer后,Client请求DHCPServer分配IP (linux 广播)
5.DHCPAck : DHCPServer确认后发送IP(ip,netmask,gw,dns)到DHCPClient(linux单播)
5.DHCPAck : DHCPServer确认后发送IP(ip,netmask,gw,dns)到DHCPClient(linux单播)
端口
Server-----端口:67 ----传输层协议:udp
client -----端口:68
dhclient -r eth0
释放ip
dhclient lan
可
以
重新获
取
查看日志文件 tail -f /var/log/messages tail -f /var/log/boot.log
服务器只要有以下注释的部分既可以正常工作即(服务器的ip必须是静态的static)
linux服务器端 /etc/dhcp/dhcpd.conf
修改主配置文件
/etc/dhclp.conf r edhat 5以前
/etc/dhcp/dhcpd.conf
redhat6以后
/etc/dhclp.conf r edhat 5以前
linux服务器端 /etc/dhcp/dhcpd.conf
subnet 10.5.5.0 netmask 255.255.255.224 { ***子网段 子网掩码
range 10.5.5.26 10.5.5.30; ***dhcp分配ip地址的范围
option domain-name-servers ns1.internal.example.org; ***DNS地址
option routers 10.5.5.1; } ***默认网关地址
客服端动态获取IP /etc/sysconfig/network-scritp/ifcfg-eth0
==========
DEVICE=eth0 设备,即网卡
HWADDR=00:30:67:f2:11:23 MAC地址,网卡的地址
NM_CONTROLLED=no 不知道什么用但是必须有
ONBOOT=yes 在开机的时候是否同时开启网卡
BOOTPROTO=dhcp 动态获取Ip
详细配置
server 端配置文件
[root@www ~]# cat /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
这个是最原始的配置文件,一般把他复制到/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcp.conf
option domain-name "example.org"; 域
option domain-name-servers 8.8.8.8 ; DNS 域名解析服务
default-lease-time 600; ip地址的默认租约时间,单位是秒
max-lease-time 7200; 租约的最大时间
log-facility local7; 日志的级别保存,可以查看/etc/rsyslog.conf
subnet 10.5.5.0 netmask 255.255.255.224 { 上面的是全局配置,{}里面是局部配置,配置以局部配置为主
range 10.5.5.26 10.5.5.30;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 10.5.5.1;
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
}
subnet 10.152.187.0 netmask 255.255.255.0 { 可以设置多个网段的配置(可选)
}
subnet 10.254.239.0 netmask 255.255.255.224 {
range 10.254.239.10 10.254.239.20;
option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
}
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;
}
host fantasia { fantasia是名字可以随意选定
hardware ethernet 08:00:07:26:c0:a5; IP地址和MAC绑定
fixed-address 10.0.0.222;
}
host fantasia { 每个IP地址和MAC绑定必须是一个单独的配置,可以有多个配置(可选)
hardware ethernet 08:00:07:26:c0:a5;
fixed-address 10.0.0.222;
}
hardware ethernet 0:0:c0:5d:bd:95;
filename "vmunix.passacaglia"; 关于无人值守的配置,后面才能学到
server-name "toccata.fugue.com";
}
class "foo" { 作用不是很大配置,或是在某个特定的配置,可以不用(可选)
match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}
shared-network 224-29 {
subnet 10.17.224.0 netmask 255.255.255.0 {
option routers rtr-224.example.org;
}
subnet 10.0.29.0 netmask 255.255.255.0 {
option routers rtr-29.example.org;
}
pool {
allow members of "foo";
range 10.17.224.10 10.17.224.250;
}
pool {
deny members of "foo";
range 10.0.29.10 10.0.29.230;
}
}
Client端配置
[root@www ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
设备,即网卡
BOOTPROTO=none
获取IP的方式可以是dhcp或static(none)
,
HWADDR=00:30:67:f2:11:23
MAC地址,网卡的地址 (可选)
IPV6INIT=no
IPV6是否使用 (可选)
MTU=1500
最大传输单元(可选)
NM_CONTROLLED=no
NetworkManager服务是否启用 (可选)
ONBOOT=yes
在开机的时候是否同时开启网卡
TYPE=Ethernet
网络类型
UUID="5535d06a-7702-43e2-8b4e-26d3b7849da5"
网卡唯一标识符(可选)
USERCTL=no
用户控制
(可选)
DNS1=8.8.8.8
DNS服务器的地址,可以有多个(可选)
IPADDR=10.0.0.15
静态IP的地址(可选)
NETMASK=255.255.0.0
子网掩码(可选)
GATEWAY=10.0.0.254
网关(可选)
/etc/sysconfig/dhcpd
指定端口提供dhcp服务
指定端口提供dhcp服务
[root@zhao dhcp]# cat /etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=
/var/lib/dhcpd/dhcpd.release
当为server时曾经给谁分配过地址
[root@zhao dhcp]# cat /var/lib/dhcpd/dhcpd.leases |more
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.1.1-P1
server-duid "\000\001\000\001\031\206O\254\000\013/_\246\002";
lease 10.25.25.28 { 分配的地址就是10.25.25.28
starts 6 2013/07/27 09:32:31;
ends 6 2013/07/27 09:42:31;
cltt 6 2013/07/27 09:32:31;
binding state active;
next binding state free;
hardware ethernet 00:0c:29:45:56:80;
}
/var/lib/dhclient/dhclient-release
当作为client时,是谁给自己分配ip地址
[root@zhao dhcp]# cat /var/lib/dhcpd/dhcpd.leases |more
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.1.1-P1
server-duid "\000\001\000\001\031\206O\254\000\013/_\246\002";
lease 10.25.25.28 { 分配的地址就是10.25.25.28
starts 6 2013/07/27 09:32:31;
ends 6 2013/07/27 09:42:31;
cltt 6 2013/07/27 09:32:31;
binding state active;
next binding state free;
hardware ethernet 00:0c:29:45:56:80;
}
lease {
interface "eth0";
fixed-address 10.0.0.230;
filename "pxelinux.0";
option subnet-mask 255.255.0.0;
option routers 10.0.0.253;
option dhcp-lease-time 600;
option dhcp-message-type 5;
option domain-name-servers 8.8.8.8;
option dhcp-server-identifier 10.0.0.254; 是由254服务器给自己分配的230ip地址
renew 4 2013/07/25 05:29:48;
rebind 4 2013/07/25 05:34:20;
expire 4 2013/07/25 05:35:35;
}