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基础网络设置相关推荐

  1. linux基础网络设置

    linux基础网络设置 网络基本信息:设置网络基本信息:DHCP自动管理网络基本信息 1.网络基本信息的查看: IP/netmask/gateway/dns/MAC/hostname/hosts网络基 ...

  2. 浅谈VMware下安装Linux的网络设置 -- NAT

    最近因为学习的需要,需要虚拟搭建一个Linux服务器.为什么说虚拟?因为我们并不是搭建一台真正的服务器(没有在IBM或是HP大型机或是刀架上装系统),只是想在家用机上装上Linux系统做些实验.写这篇 ...

  3. Linux虚拟机网络设置

    Linux网络模式 linux系统有三种网络模式分别是仅主机模式.桥接模式.NAT模式,名称分别为vmnet0.vmnet1.vmnet8. 我们在安装VMware workstation之后,计算机 ...

  4. beast软件linux用法,网络设置及启动引导项 - 黑苹果驱动高手篇 MultiBeast用法进阶_Linux教程_Linux公社-Linux系统门户网站...

    网络设置项 Network即网络设置项,包含几款主流的板载网卡驱动包,选择一项就行. ▲网络设置项 以下为各选项含义: Lnx2Mac's RealtekRTL81xx Ethernet:选择此项将打 ...

  5. Linux 时间/网络设置

    (1) 设置系统时间 安装Linux时,可以设置时间: 安装Linux后设置时区: 命令:date --- 查看当前时间 date -s '20220328 18:12:15' --- 设置系统时期和 ...

  6. Linux无线网络设置(wpa_supplicant的使用)

    From:  http://blog.csdn.net/yming0221/article/details/7325198 主机环境:Gentoo Linux 3.1.10 WPA Supplican ...

  7. Linux之网络设置

    文章目录 1 网络配置命令 1.1 查看网络接口信息---ifconfig 1.1.1 查看所有活动的网络接口信息 1.1.2 查看指定网络接口信息 1.2 查看或设置当前主机名---hostname ...

  8. Linux高级网络设置

    1.ipv6 1)简介 IPv6(Internet Protocol Version 6)是 IETF (和互联网工程任务组)设计的用与替代现行版本 IP 协议ipv4的下一代 IP 协议. IPv6 ...

  9. 关于Linux的网络设置

    文章目录 前言 一.查看网络接口信息 1.ifconfig命令 2.修改网络配置文件 3.查看主机名称hostname 4.查看路由表条目route 5.查看网络连接信息netstat 6.获取 so ...

最新文章

  1. 中级前端笔试_在短短8个月内如何获得中级前端开发人员的角色
  2. 从零开始写一个武侠冒险游戏-3-地图生成
  3. Java Web Application 自架构 四 Log4j2日志管理
  4. containerd发布了CRI修复程序和CVE-2019-5736更新的runc
  5. 断网python第三方库安装_断网环境下利用pip安装Python离线安装包(转载)
  6. Pandas matplotlib 无法显示中文
  7. 一个略复杂的数据映射聚合例子及代码重构
  8. hdu 5188 dfs+二分
  9. B站疯传,年度数据分析+Python资料出炉,错过再等一年!
  10. Linux学习笔记--文件夹结构
  11. matlab中-psi_建议收藏 | 生物信息学中的可变剪切,这些内容你了解吗?
  12. java皮肤库的框架_VC 添加皮肤库
  13. java教程 pdf_java教程合集(25本)
  14. DICOM笔记-使用DCMTK库的DcmOutputBufferStream类将DICOM信息序列化到内存中
  15. 奔图打印机显示未连接_打印机无法打印的10种解决方法
  16. 中了勒索病毒,该如何恢复数据?
  17. 刻录linux安装光盘,如何将红旗Linux5的两个ISO安装光盘镜像刻录到一张DVD光盘上,做成安装光盘[原创]...
  18. Java电商秒杀系统性能优化(一)——电商秒杀系统框架回顾
  19. 推荐几个最值得关注的可以投稿赚钱的微信公众号
  20. Linux源码目录结构

热门文章

  1. linux setlocale函数,linux中的多语言环境(LC_ALL, LANG, locale)
  2. html导出pdf及word,保留完成样式以及格式调研
  3. 使用Python的psutil包获取机器IPv4信息
  4. trickle ICE文档翻译 [draft-rescorla-mmusic-ice-trickle-01.txt]
  5. usb设备复合g_webcam摄像头码流传输功能以及g_serial串口功能
  6. String 和 StringBuider
  7. 电子合同的电子签名方法
  8. 代理后域名及Https协议向后传递,后端Spring获取不到问题记录及分析
  9. Windows Server安全日志与系统事件变更审计
  10. JS实现限制可移动div的移动范围