对于Linux基础网络设置
1,查看及测试网络
查看及测试网络配置是管理linux网络服务的第一步,本节中将学习Linux系统中网络查看及测试命令,其中讲解的大多数命令一普通用户权限就可以完成操作,但普通用户在执行“/sbin“目录中命令是需要制定命令文件的绝对路径。
1.1查看网络配置
1、使用ifconfig命令查看网络接口地址
主机的网络接口卡(网卡)通常称为“网络接口”。在liunx系统中,使用ifconfig命令可以查看网络接口的地址配置信息(Interface Configuration)
1)、查看活动网络接口设备
当ifconfig命令不带任何选项和参数时,将显示当前主机中已启用(活动)的网络接口信息。例如,直接执行ifconfig命令后可以看到ens33 、lo网络接口信息。
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.0.6 netmask 255.255.255.0 broadcast 192.168.0.255inet6 fe80::e7f8:5e04:abd:db01 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:d5:e3:a2 txqueuelen 1000 (Ethernet)RX packets 5211 bytes 392005 (382.8 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 315 bytes 42352 (41.3 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1 (Local Loopback)RX packets 40 bytes 3360 (3.2 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 40 bytes 3360 (3.2 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:a7:d4:16 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
在上述输出结果中,ens33对应第一块物理网卡,lo对应虚拟的回环接口
- ens33:第一块以太网卡的名称。“ens33”中的“en”是ethernet的缩写,标识网卡类型为以太网,s为可热插拔网卡,数字“33”表示网卡名称
由于大多数主机只有一块物理网卡,因此“ens33”代表系统唯一的网卡接口,如果有多个网卡,则第二块网卡表示为增加数字。
Centos6系列和Debian系列的用户都知道,他们采用的默认网卡名称eth0,远比ens33看起来舒服,毕竟计算机领域很多东西都是从0开始的。
RedHet/Centos系列采用dmidecode采集命名访问 ,采用了硬件相关信息,可以实现网卡名字永久唯一化。
然而并不是所有7系列操作系统默认命名方式都是ens33,比如阿里云采用的是KVM技术
【root@localhost network-scripts】ls
ifcfg-enth0
Virtuabox则是enp0s3
扩展知识内容
en标识ethernet
0:主板板载网卡,集成似的设备索引号
p:独立网卡,PCI网卡
s:热插拔网卡,USB之类的扩展槽索引号
nnn(数字):MAC地址+主板信息计算得出唯一序列
lo:“回环”网络接口。“lo”是“lookback”的缩写。他并不代表真正的网络接口,而是一个虚拟的网络接口,起IP地址默认是“127.0.0.1”,回环地址通常仅用于对本地的网络测试
2)、使用hostname命令查看主机名称
linux系统中,相当于一部分网络服务都会通过主机名来识别主机名来识别主机,如果主机名配置不当,可能会导致程序功能出现故障,使用hostname命令可以查看当前主机的主机名,不用添加任何选项和参数
[root@localhost ~]# hostname
localhost.localdomain
3)、使用route命令查看路由表条目
linux系统中的路由表决定这从本机向其他主机,其他网络发送数据的去向,是排除网络故障的关键信息,直接执行route命令可以查看当前主机中路由表信息。
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
注意:
Destination:对应目标网络地址
Gateway:应下一跳路由器的地址
Flags:对应发送数据的网络接口(U:是up,是启动状态,G:此IP地址为网关地址,R:动态路由RIP模式,D:动态路由ospf模式。)
Metric:路由距离
Ref:路由引用次数
Use:被使用次数
lface:网卡名称
当目标网段为“Default”时,标识此行默认网关;当下一跳为“ * ”时,表示目标网段是与本机直接相连,例如,从上述输出信息中可以看出,当前主机IP与“192.168.0.0/24”网段直接相连。
若结合“ n ”选项使用,可以将路由记录中地址,显示为数字形式,这可以跳过解析主机名的过程,在路由条目较多的情况下能够加快执行速度。
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.254 0.0.0.0 UG 100 0 0 ens33
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
4)、使用netstat命令查看网络连接情况
通过netstat命令可以查看当前系统的网络连接状态,路由表,接口统计等信息,是了解网络状态及排除网络服务故障的有效工具,以下是netstat命令常用的选项
-a:显示当前主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息。
-r:显示路由表信息
- l :显示处于监听(Listening)状态的网络连接及端口信息
- t :查看TCP协议相关的信息
- u :显示UDP协议相关的信息
- p :显示与网络连接相关联的进程号、进程名称信息(需要root权限)
通常使用“ -anpt ”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应进程信息,结合命令管道使用“ grep ”命令,还可以在结果中过滤出所有需要的特定记录。例如执行以下操作可以查看本机中是否有监听“ TCP 80”端口(即标准http服务)的服务程序。输出信息中包括PID和进程名称
1.2、测试网络连接
1.使用ping命令测试网络连通性
使用ping命令可以向目的主机持续地发送测试数据包,并显示反馈结果,直到按Ctrl+c组合键后终止测试,并显示最终统计结果,例如,以下操作将测试从本机到另一台主机
[root@localhost ~]# ping 192.168.0.6
PING 192.168.0.6 (192.168.0.6) 56(84) bytes of data.
64 bytes from 192.168.0.6: icmp_seq=1 ttl=64 time=0.043 ms
64 bytes from 192.168.0.6: icmp_seq=2 ttl=64 time=0.088 ms
64 bytes from 192.168.0.6: icmp_seq=3 ttl=64 time=0.087 ms
64 bytes from 192.168.0.6: icmp_seq=4 ttl=64 time=0.106 ms
^C
--- 192.168.0.6 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 0.043/0.081/0.106/0.023 ms
执行ping测试命令时,若不能获得从目标主机发回反馈数据包,则表示在本机到目的主机之间存在网络连通性故障,例如,若看到“Destination Host Unreachable”的反馈信息,则表示目的主机不可达,可能目标地址不存在或者主机已经关闭;若看到“Network is unreachable”的反馈信息,则表示没有可用的路由记录(如默认网关),无法到达目标主机所在的网络。
[root@localhost ~]# ping 192.168.0.8
PING 192.168.0.8 (192.168.0.8) 56(84) bytes of data.
From 192.168.0.6 icmp_seq=1 Destination Host Unreachable
From 192.168.0.6 icmp_seq=2 Destination Host Unreachable
From 192.168.0.6 icmp_seq=3 Destination Host Unreachable
当网络中存在影响通行过程稳定的因素(如网卡故障、病毒或网络攻击等)时,使用ping命令测试可能会频繁看到“Request timeout”的反馈信息,标识与目标主机间的链接超时(数据包相应缓慢或丢失),除此之外,当目标主机有严格的防火墙限制,也可能收到发回"Request timeout"的反馈结果。
2、使用traceroute命令跟踪数据包的路由途径
使用traceroute命令可以测试从当前主机到目的主机之间经过了那些网络节点,并显示各中间节点连接状态(相应时间)。对于无法相应的节点,连接状态将显示“ * ”
[root@localhost ~]# traceroute 220.181.38.148
traceroute to 220.181.38.148 (220.181.38.148), 30 hops max, 60 byte packets1 gateway (192.168.0.254) 0.166 ms 0.124 ms 0.106 ms2 * * *3 * * *4 * * *5 * * *6 * * *7 * * *8 * * *9 * * *
下面省略很多经过的节点。
traceroute命令能够比ping命令更加准确定位网络连接的故障点(中断点),执行速度也因此会比ping命令稍慢,在网络测试与排错过程中,通常会先使用ping命令与目的主机的网络连接,如果发现网络连接有故障,在使用traceroute命令跟踪查看是在那个中间节点存在故障的
3. 使用nslookup命令测试DNS域名解析
当域名解析出现异常时,将无法使用域名的形式访问网络中的Wdb站点,电子邮件系统等服务,nslookup命令用来测试域名解析的专用工具,使用只要指定需要解析的目标域名作为参数即可。例如,执行“ nslookup www.baidu.com”命令后,nslookup程序将提交查询请求,询问站点www.baidu.com对应的IP地址多少
[root@localhost ~]# nslookup baidu.com
Server: 114.114.114.114
Address: 114.114.114.114#53Non-authoritative answer:
Name: baidu.com
Address: 220.181.38.148
Name: baidu.com
Address: 39.156.69.79
若能够成功反馈查询域名的IP地址,则表示域名解析没有问题,否则需要根据实际反馈情况来判断故障原因,例如,若出现“…no servers could be reached ”的信息,标识不能连接到指定的DNS服务器,若出现“…can‘t find xxx.yyy.zzz:NXDOMIN”的信息,标识要查询的域名不存在
[root@localhost ~]# nslookup baidfasda
Server: 114.114.114.114
Address: 114.114.114.114#53
** server can’t find baidfasda: NXDOMAIN
1.3 设置网络地址参数:
从本届开始将学习如何来修改linux主机的各种网络地址参数。在linux主机中,手动修改网络配置包括两种最基本的方法。
临时配置:通过命令行直接修改当前正在使用的网络地址,修改后立即生效。这种方式操作简单快速,执行效率高,一般在调试网络的过程中使用,但由于所作的修改并没有固定地存放在静态文件中,因此当重启network服务或重启主机后将失效。
固定配置:通过配置文件来存放固定地各种网络地址,需要重启 network 服务或重启主机后才会生效,这种方式操作上相对复杂一些,但相当于“ 永久配置 ”,一般在需要为服务器设置固定地网络地址时使用。
1.3.1 使用网络配置命令
1、使用 ifconfig 命令修改网卡的地址、状态
ifconfig命令不仅可以用于查看网卡配置,还可以修改网卡的IP地址、子网掩码,也可以绑定虚拟网络接口,激活或停用网络接口
1)修改网卡的IP地址、子网掩码
需要设置网卡的地址时,命令格式:
ifconfig 网络接口名称 IP地址 【netmask 子网掩码】
or
ifconfig 网络接口名称 IP地址【/子网掩码】
通常后一方式用的更多一些,当不指定子网掩码时,将使用 IP地址所在分类的默认子网掩码,指定新的 IP地址和子网掩码以后,原有的地址将会失效。例如,在执行以下操作可以将网卡ens33 的 IP地址为192.168.0.10,子网掩码长度为 24位
[root@localhost ~]# ifconfig ens33 192.168.0.10/24
or
root@localhost ~]# ifconfig ens33 192.168.0.11 netmask 255.255.255.0
2)禁用、激活网络接口
需要临时禁用或者重新激活指定网络接口时,需要结合“ down ”、“ up ”开关选项,网络接口被禁用后,将无法使用该网络接口与其他主机进行连接。例如,执行以下操作将会禁用网卡ens33
[root@localhost ~]# ifconfig ens33 down up:启动
3)为网卡绑定虚拟接口:
在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的 IP地址但是又不能覆盖原有 IP地址而导致服务程序不可用。这时可以为网卡绑定一个虚拟的网络接口。然而再为虚拟接口设置新的 IP地址(相当于一块网卡配置多个 IP地址)
例如,执行以下操作可以为网卡ens33 添加一个虚拟接口ens33:0,并将这个虚拟接口的 IP地址设置为192.168.0.10虚拟接口的 IP地址和网卡原有的 IP地址都可以正常使用
[root@localhost ~]# ifconfig ens33:0 192.168.0.10/24
[root@localhost ~]# ifconfig
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255ether 00:0c:29:d5:e3:a2 txqueuelen 1000 (Ethernet)
可以根据需要添加更多的虚拟接口,如ens33:1 ens33:2等。
2. 使用 route命令添加、删除静态路由记录
route命令不仅可以用于查看路由表信息,还可以用来添加、删除静态的路由表条目,其中当然也包括设置默认网关地址(默认网关记录时一条特殊的静态路由条目)
1)添加、删除指定网段的路由记录
通过“ route add”操作可以添加路由记录,结合“ -net ”选项制定目标网段的地址,结合“ gw ”选项制定下一跳路由器的 IP地址、例如,若要使本机访问另一个网段192.168.1.0/24的数据包都发给192.168.0.254,可以执行以下操作,需要注意的是,默认网关的 IP地址应该与本机其中一个借口的IP地址在同一个网段内
[root@localhost ~]# route add -net 192.168.1.0/24 gw 192.168.0.254
root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.254 0.0.0.0 UG 100 0 0 ens33
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.1.0 192.168.0.254 255.255.255.0 UG 0 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
通过“ route del ” 操作可以删除路由记录,只要结合“ -net ”选项制定对应路由记录中的目标网络的地址即可,例如,执行以下操作可以删除前面添加的 192.168.1.0网段的静态路由条目
[root@localhost ~]# route del -net 192.168.1.0/24
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.254 0.0.0.0 UG 100 0 0 ens33
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
2)添加、删除默认网关记录
添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类似,但指定目标网段时只需简单地使用“ default ”表示即可,无需使用“ -net ’选项制定网段地址,例如,执行一下操作将先删除已有的
[root@localhost ~]# route | grep "default"
default gateway 0.0.0.0 UG 100 0 0 ens33
[root@localhost ~]# route del default gw 0.0.0.0
[root@localhost ~]# route | grep "default"
[root@localhost ~]# route add default gw 192.168.0.254
[root@localhost ~]# route | grep "default"
default gateway 0.0.0.0 UG 0 0 0 ens33
[root@localhost ~]# ip route show
default via 192.168.0.254 dev ens33
192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.6 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
需要注意的时,在同一个主机路由表中应用一条默认网关记录,若同时存在多条默认网关记录,可能导致该主机网络连接出现故障。
3)使用hostname 命令修改主机名称
hostname 命令不仅可以用于显示当前主机的名称,还可以修改当前主机的名称,在新登录的用户会话(Shell环境中),命令提示符中的主机名部分也会出现相应的变化。例如,执行下行“ hostname wangyang “命令可以将主机名改为wangziqiang
[root@localhost ~]# hostname //查看原来的主机名
localhost.localdomain
[root@localhost ~]# hostname wangyang //设置新的主机名
[root@localhost ~]# bash //启动新的bash回话,查看变化
[root@wangyang ~]# hostname
1.4修改网络配置文件:
当需要为linux服务器设置固定地网络地址时,若还使用 ifconfig、hostname等网络命令来进行设置,将会大大降低服务器运行的可靠性,若要使用linux 主机在重启系统以后任然能够使用相同的网络配置,那么直接修改配置文件是最好的方法
1. 网络接口配置文件
网络接口配置文件默认位于目录 “ /etc/sysconfig/network-scripts/ ”中,文件名格式为 “ ifcfg-xxx ”,其中“ xxx ”表示网络接口名称。例如,网卡ens33 的配置文件是 “ ifcfg-ens33 ”,回环接口lo 的配置文件是“ ifcfg-lo ”
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-lo
在配置文件ifcfg-ens33中,配置项的含义及作用
NAME:设置网络接口的名称
ONBOOT:设置网络接口是否在linux系统启动时激活
BOOTPROTO:设置网络接口的配置方式,值为 "static"时表示使用静态网络指定 IP地址;为“ dhcp ”时表示通过 DHCP的方式动态获取地址。
IPADDR :设置网络接口的 IP地址
NETMASK:设置网络接口的子网掩码
GATEWAY:设置网络接口的默认网关地址
2) 启用、禁用网络接口配置
在RHEL、Centos系统中,修改了网络接口的配置文件,若要是新的配置文件生效,可以重启network 服务或者重启主机,默认情况下,重启 network 服务奖先关闭所有网络接口,然后在根据配置文件重新启用所有网络接口
[root@localhost ~]# systemcl restart network
如果只想禁用,启用一个网络接口(而不是所有网络接口),可分别使用两个接口控制脚本 ifdown、ifup ,例如,执行一下操作将会关闭ens33 网卡,然后在根据配置文件启用 ens33网卡
[root@localhost ~]# ifdown ens33
Device 'ens33' successfully disconnected.
[root@localhost ~]# ifup ens33
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
3) 主机名称配置文件:
若要修改linux系统的主机名,可以修改配置文件/etc/hostname。再次文件中,例如执行一下操作可以将主机名有默认的 localhost.localdomain改为www.yuanan.com
[root@localhost ~]# vim /etc/hostname
修改后
需要重新启动主机,使用 reboot 命令重启
也可以使用一面的命令:
vim /etc/sysconfig/network 添加 IP 和 hostname 对应关系,在配置文件中增加即可,然后重启系统。
1.5.域名解析配置文件:
1) 指定为本机提供DNS解析服务地址
/det/resolv.conf文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的修改将会立即生效,linux系统中最多可以指定3个(第三个以后会被忽略)不同的DNS服务器地址,优先使用第一个DNS服务器,例如,执行一下操作可以指定默认使用的两个DNS服务器地址位于202.106.0.20和202.106.148.1
[root@localhost ~]# vim /etc/resolv.conf
一般第一个nameserver值是默认的搜索域
2)本地主机映射文件
/etc/hosts文件中记录着一分主机名与 IP 地址的映射关系表,一般用来保存经常需啊哟访问的主机信息,当访问一个未知域时,先查找该文件中是否有相应的映射记录,如果找不到再去向DNS服务器查询
例如,若在 /etc/hosts 文件中添加119.75.218.79www.baidu.com的映射记录,则当访问网站www.yunan.com时,将会直接向 IP地址119.75.218.79发 Web请求,省略了向DNS服务器解析 IP地址的过程。
对于经常访问的一些网站,可以通过再/etc/hosts 文件中添加正确的映射记录,减少DNS查询过程,从而提高上网速度,当然,若添加了错误的映射记录,在可能会导致网站访问出现异常,另外,正因为 hosts 文件只保存在本地,所以启动的映射记录也只适用于当前主机,而无法作用与所有网络
1.6 使用DNCP动态配置主机地址
当局域网络中有大量主机时,如果逐个为每一台主机手动配置 IP地址、默认网关、DNS服务器地址等网络参数,显然是一个非礼也不讨好的办法,而 DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)服务器的应用,正好可以解决这个问题。
DHCP 的典型应用模式下,在网络中架设一台专用的 DHCP 服务器,负责集中分配各种网络地址参数(主要包括 IP地址、子网掩码、广播地址、默认网关、DNS),其他主机作为 DHCP客户机,将网卡配置为自动获取地址,即可与 DHCP 服务器进行通讯,完成自动配置过程。
DHCP工作原理:
DHCP租约过程:4个步骤,discover(广播)、offer(单播)、request(广播)、ACK(单播)
1、客户端请求 IP地址,在局域网内发送 discover广播包,寻找DHCP 服务器
2、如果局域网内,存在 DHCP服务器,服务器接受 discover 广播包后,服务器会向客户端发送相应请求的 offer单播包,告诉局域网内的客户端,我就是 DHCP服务器。
3、客户端接受服务器 offer单播包后,客户机选择 IP地址为 request广播包,IP地址为DHCP的地址池中的 IP范围。
4、服务器收到客户端request 广播包,向客户端发送ACK 单播包,表示确认 IP地址的租约时间
1.6.1配置DHCP服务器
1. 安装 DHCP服务器软件
先执行“ rpm -qa dhcp”命令查看系统是否已经安装 dhcp软件包,如果还没有安装的话,只要挂载系统光盘,安装其中的 dhcp-4.2.5-47.el7.centos.x86_64.rpm软件包即可,安装dhcp软件包,系统将会自动复制相关程序,并添加名为 dhcp的系统服务
[root@localhost ~]# mount /dev/sr0 /media //挂载光盘
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# mkdir /yum.repos.d.bak //创建挂载目录
[root@localhost ~]# mv /etc/yum.repos.d/* /yum.repos.d.bak //备份
[root@localhost ~]# vim /etc/yum.repos.d/my.repo
[root@localhost ~]# cd /media //切换到安装目录
[root@localhost media]# cd Packages/
[root@localhost Packages]# rpm -ivh dhcp-4.2.5-47.el7.centos.x86_64.rpm
warning: dhcp-4.2.5-47.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...1:dhcp-12:4.2.5-47.el7.centos ################################# [100%]
2. 建立主配置文件 dhcp.conf
dhcp服务的主配置文件是 /etc/dhcp/dhcpd.conf,但是该文件中默认并不包含任何有效配置,需要管理员手动建立,这时管理员可以根据文件中的提示,参考配置文件范本建立新的 dhcpd.conf 文件
[root@localhost Packages]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y
1)/etc/dhcp/dhcpd.conf 文件的配置构成
在主配置文件 dhcpd.conf 中,可以使用声明、参数,选项这三种类型的配置,各自的作用和表现形式如下所述。
- 声明:用来描述 dhcpd 服务器中对网络布局的划分,是网络设置的逻辑范围,较常见的声明是 subnet、host,其中subnet 声明用来约束一个网段,host 声明用来约束一台特定的主机。
- 参数 :由配置关键字和对应的值组成,总是以分号:“ ;”结束,一般位于指定的声明范围之内,用来设置所在范围的运行特性,(如默认租约时间,最大租约时间)
- 选项 :由“ option ”引导,后面跟具体的配置关键字和对应的值,也是以分号“ ;”结束。用于指定分配给客户机的各种地址参数。
2) 确认dhcpd 服务的全局配置
为了配置文件的结构更加清晰,全局配置通常会放在配置文件 dhcp.conf 的开头部分,可以是配置参数,也可以是配置选项,常用的全局配置参数和选项如下
- ddns-update none:动态DNS 更新模式,用来设置与 DHCP服务相关联的DNS数据动态更新模式,在实际的 DHCP 应用中很少用到该参数,将值设为 none 即可
- default-lease-time:默认租约时间,单位为秒,表示客户端可以从 DHCP 服务器租用某个IP地址的默认时间
- max-lease-time :最大租约时间。但单位为秒,表示允许 DHCP 客户端请求的最大租约时间,当客户端未请求明确的租约时间时,服务器将采用默认租约时间
- option domain-name:默认搜索区域。为客户机指定解析主机名师默认搜索域,该配置选项将体现在客户机的 /etc/resolv.conf 配置文件中,如www.yunan.com
- option domain-name-servers:DNS服务器地址。为客户机指定解析域名时使用的DNS服务器地址,该配置选项同样将体现在客户机的 /etc/resolv.conf 配置文件中,(如 nameserver 202.106.0.20),需设置多个DNS服务器地址是,应以逗号进行分隔
例如,若需要为局域网搭建一台 DHCP 服务器,所有网段使用相同的租约时间,默认搜索域为 www.yunan.com,DNS服务器地址为202.106.0.20和 202.106.148.1,则可以修改 dhcpd.conf 配置文件,参考一下操作调整全局配置文件
[root@localhost Packages]# vim /etc/dhcp/dhcpd.conf
#ddns-update-style none; //禁用DNS动态更新
option domain-name "www.yuanan.com"; //指定默认搜索域
option domain-name-servers 202.106.0.20,202.106.148.1; //指定DNS服务器地址
default-lease-time 600; //最小租约时间
max-lease-time 7200; //最大租约时间
3)确定 subnet 网段声明
一台 DHCP 服务器可以为多个网段提供服务,因此 subnet 网段声明不许有而且可以有多个,例如,若要 DHCP 服务器为192.168.0.0/24网段提供服务,用于自动分配的 IP地址范围192.168.0.100 - 192.168.0.200,为客户机指定默认网关地址为192.168.0.1,则是可以修改 dhcpd.conf 配置文件,参考一下内容进行调整 subnet 网段声明
[root@localhost Packages]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 { //声明网段range 192.168.0.100 192.168.0.200; //设置地址池,IP地址的范围option routers 192.168.0.1; //指定默认网关
4)确定host之际声明(可选)
Host 声明用于设置单个主机的网络属性,通常用于为网络打印或个别服务器分配固定地 IP地址(保留地址),这些主机的共同特点是要求每次获得的 IP 地址相同,以确保服务的稳定性
Host声明通过host 关键字指定需要使用保留地址的客户机名称,并使用 “hardware ethernet ”参数指定该主机的MAC 地址,使用“ fixed-address”参数指定保留给该主机的 IP地址,例如,若要为打印机 abc (MAC地址为00:c0:c3:22:46:81)分配固定 IP 地址192.168.0.150可以修改dhcpd.conf 配置文件,参考一下内容在网段声明内添加一下host主机声明
[root@localhost Packages]# vim /etc/dhcp/dhcpd.conf
ost abc { //指定打印机abchardware ethernet 00:c0:c3:22:46:81; //指定打印机的MAC地址fixed-address 192.168.0.150; //分配固定IP地址
}
3. 启动dhcpd服务:
在启动dhcp服务之前,应确认提供 DHCP 服务器的网络接口具有静态指定的固定 IP地址,并且至少有一个网络接口的 IP地址与 DHCP 服务器中的一个 subnet 网段相对应,否则将无法正常启动 DHCP服务,例如,DHCP服务器的IP地址为192.168.0.2,用于为网段192.168。0.0/24内的其他客户机提供自动分配地址服务。
安装dhcp软件包后,对应的系统服务脚本位于 /etc/rd.d/init.d/dhcpd,可以使用标准的系统服务进行控制,例如,执行一下操作可以启动 dhcp 服务,并检查 UDP协议的 67 端口号是否在监听,已确定 DHCP 服务是否正常。
[root@localhost Packages]# systemctl restart dhcpd
[root@localhost Packages]# netstat -anpu | grep dhcpd
udp 0 0 0.0.0.0:50491 0.0.0.0:* 47522/dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 47522/dhcpd
udp6 0 0 :::40064 :::* 47522/dhcpd
需要关闭,重启dhcpd 服务时,只要将上述操作命令中的 start 改为stop、restart即可。如果 dhcpd 服务启动失败,可以检查日志文件 /var/log/messages 末尾的错误提示信息,并根据提示进行排错。
1.7 使用DHCP客户端
当局域网内有可用的 DHCP 服务器时,在linux 客户机中可以设置使用 DHCP 的方式获取地址。只需要编辑对应网卡的配置文件,修改或添加“ BOOTPROTO=dhcp”配置行,并重新加载配置文件或重新加载配置文件或者重启 network 服务即可。例如,执行以下才做可以修改网卡配置文件,并从新加载配置已通过 DHCP 方式自动获取地址
在linux 客户机中,还可以使用 dhclient 工具来测试 DHCP 服务器,若直接执行“ dhclient ”命令,则 dhclicent 将尝试为除回环接口 lo 以外的所有网络接口通过 DHCP 方式申请新的地址,然后自动转入后台继续运行,当然,测试时可以指定一个具体的网络接口,并结合“ -d ”选项使其在前台运行,测试完毕后 Ctrl+C 组合键终止,例如,执行 “ dhclient -d ens33”命令后,可以为网卡ens33 自动获取新的 IP地址,并显示获取过程。
[root@localhost ~]# dhclient -d ens33
Internet Systems Consortium DHCP Client 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/ens33/00:0c:29:b4:c9:3f
Sending on LPF/ens33/00:0c:29:b4:c9:3f
Sending on Socket/fallback
DHCPDISCOVER on ens33 to 255.255.255.255 port 67 interval 5 (xid=0x3f39b60)
DHCPREQUEST on ens33 to 255.255.255.255 port 67 (xid=0x3f39b60)
DHCPOFFER from 192.168.0.5
DHCPACK from 192.168.0.5 (xid=0x3f39b60)
bound to 192.168.0.50 -- renewal in 265 seconds.
^Z
[2]+ Stopped dhclient -d ens33
可以通过查看租约文件 /var/lib/dhcpd.leases 来了解服务器的 IP地址分配情况,该租约文件中记录了分配出去的每个 IP地址 信息(租约记录),包括 IP地址,客户端的MAC 地址,租用的起始时间和结束时间等。
需要通过dhclient 命令释放获取的 IP租约时,可以结合“ -r ”选项,例如,执行“dhclient -r ens33”将会释放之前的ens33获取的 IP租约
对于Linux基础网络设置相关推荐
- linux基础网络设置
linux基础网络设置 网络基本信息:设置网络基本信息:DHCP自动管理网络基本信息 1.网络基本信息的查看: IP/netmask/gateway/dns/MAC/hostname/hosts网络基 ...
- 浅谈VMware下安装Linux的网络设置 -- NAT
最近因为学习的需要,需要虚拟搭建一个Linux服务器.为什么说虚拟?因为我们并不是搭建一台真正的服务器(没有在IBM或是HP大型机或是刀架上装系统),只是想在家用机上装上Linux系统做些实验.写这篇 ...
- Linux虚拟机网络设置
Linux网络模式 linux系统有三种网络模式分别是仅主机模式.桥接模式.NAT模式,名称分别为vmnet0.vmnet1.vmnet8. 我们在安装VMware workstation之后,计算机 ...
- beast软件linux用法,网络设置及启动引导项 - 黑苹果驱动高手篇 MultiBeast用法进阶_Linux教程_Linux公社-Linux系统门户网站...
网络设置项 Network即网络设置项,包含几款主流的板载网卡驱动包,选择一项就行. ▲网络设置项 以下为各选项含义: Lnx2Mac's RealtekRTL81xx Ethernet:选择此项将打 ...
- Linux 时间/网络设置
(1) 设置系统时间 安装Linux时,可以设置时间: 安装Linux后设置时区: 命令:date --- 查看当前时间 date -s '20220328 18:12:15' --- 设置系统时期和 ...
- Linux无线网络设置(wpa_supplicant的使用)
From: http://blog.csdn.net/yming0221/article/details/7325198 主机环境:Gentoo Linux 3.1.10 WPA Supplican ...
- Linux之网络设置
文章目录 1 网络配置命令 1.1 查看网络接口信息---ifconfig 1.1.1 查看所有活动的网络接口信息 1.1.2 查看指定网络接口信息 1.2 查看或设置当前主机名---hostname ...
- Linux高级网络设置
1.ipv6 1)简介 IPv6(Internet Protocol Version 6)是 IETF (和互联网工程任务组)设计的用与替代现行版本 IP 协议ipv4的下一代 IP 协议. IPv6 ...
- 关于Linux的网络设置
文章目录 前言 一.查看网络接口信息 1.ifconfig命令 2.修改网络配置文件 3.查看主机名称hostname 4.查看路由表条目route 5.查看网络连接信息netstat 6.获取 so ...
最新文章
- 中级前端笔试_在短短8个月内如何获得中级前端开发人员的角色
- 从零开始写一个武侠冒险游戏-3-地图生成
- Java Web Application 自架构 四 Log4j2日志管理
- containerd发布了CRI修复程序和CVE-2019-5736更新的runc
- 断网python第三方库安装_断网环境下利用pip安装Python离线安装包(转载)
- Pandas matplotlib 无法显示中文
- 一个略复杂的数据映射聚合例子及代码重构
- hdu 5188 dfs+二分
- B站疯传,年度数据分析+Python资料出炉,错过再等一年!
- Linux学习笔记--文件夹结构
- matlab中-psi_建议收藏 | 生物信息学中的可变剪切,这些内容你了解吗?
- java皮肤库的框架_VC 添加皮肤库
- java教程 pdf_java教程合集(25本)
- DICOM笔记-使用DCMTK库的DcmOutputBufferStream类将DICOM信息序列化到内存中
- 奔图打印机显示未连接_打印机无法打印的10种解决方法
- 中了勒索病毒,该如何恢复数据?
- 刻录linux安装光盘,如何将红旗Linux5的两个ISO安装光盘镜像刻录到一张DVD光盘上,做成安装光盘[原创]...
- Java电商秒杀系统性能优化(一)——电商秒杀系统框架回顾
- 推荐几个最值得关注的可以投稿赚钱的微信公众号
- Linux源码目录结构
热门文章
- linux setlocale函数,linux中的多语言环境(LC_ALL, LANG, locale)
- html导出pdf及word,保留完成样式以及格式调研
- 使用Python的psutil包获取机器IPv4信息
- trickle ICE文档翻译 [draft-rescorla-mmusic-ice-trickle-01.txt]
- usb设备复合g_webcam摄像头码流传输功能以及g_serial串口功能
- String 和 StringBuider
- 电子合同的电子签名方法
- 代理后域名及Https协议向后传递,后端Spring获取不到问题记录及分析
- Windows Server安全日志与系统事件变更审计
- JS实现限制可移动div的移动范围