Linux基础网络设置及搭建DHCP服务

查看网络配置

1.使用ifconfig命令查看网络接口地址

主机的网络接口卡通常被称为“网络接口”。在Linux系统中,使用ifconfig命令可以查看网络接口的地址配置信息。不带任何选项和参数时,将显示当前主机中已启用的网络接口信息。

eth0:第一块以太网卡的名称。“eth0”中的“eth”是“ethernet”的缩写,表示网卡类型为以太网,数字“0”表示第1块网卡。由于大多数主机中只有一块物理网卡,因此“eth0”代表系统中唯一的网络接口。如果有多个物理网卡,则第2块网卡表示为“eth1”,第3块网卡表示为“eth2”。

lo:“回环”网络接口,是“loopback”的缩写,它并不代表真正的网络接口,而是一个虚拟的网络接口,ip地址默认是127.0.0.1.回环地址通常仅用于对本机的网络测试。

当只需要查看其中某一个网络接口的信息时,可以使用网络接口的名称作为ifconfig命令的参数(不论该网络接口是否处于激活状态)。

从上述命令显示的结果中,可以获知eth0网卡的一些基本信息。

  • “HWaddr”:表示网络接口的MAC地址。网络接口的MAC地址通常不能更改,是网卡在生产时确定的全球唯一的硬件地址。

  • “inet addr”:表示网络接口的IP地址。

  • “Bcast”:表示网络接口所在网络的广播地址。

  • “Mask”:表示网络接口的子网掩码。

  • “TX”和“RX”:表示该网络接口发送和接收的数据包个数,流量等。

2.使用hostname命令查看主机名称(不用添加任何选项或参数)

在Linux系统中,一部分网络服务都会通过主机名来识别主机,如果主机名配置不当,可能会导致程序功能出现故障。

[root@localhost-181117 ~]# hostname
localhost-181117
[root@localhost-181117 ~]# hostname localhost-18111716
[root@localhost-181117 ~]# bash //更改主机名时,bash重新启量临时生效
[root@localhost-18111716 ~]#

3.使用route命令查看路由表条目

Linux系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。直接执行route命令可以查看当前主机中的路由信息。在输出结果中,Destination列对应目标网段的地址,Gateway列对应下一跳路由器的地址,Iface列对应发送数据的网络接口。

[root@localhost-181117 ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.231.0   *               255.255.255.0   U     1      0        0 eth0
default         bogon           0.0.0.0         UG    0      0        0 eth0
[root@localhost-181117 ~]#

当目标网段为“Default”时,表示此行是默认网关记录;当下一跳为“*”时,表示目标网段是与本机直接相连的。结合“-n”选项,可以将路由记录中的地址显示为数字形式。

[root@localhost-181117 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.231.0   0.0.0.0         255.255.255.0   U     1      0        0 eth0
0.0.0.0         192.168.231.2   0.0.0.0         UG    0      0        0 eth0
[root@localhost-181117 ~]#

4.使用netstat命令查看网络连接情况

通过netstat命令可以查看当前系统的网络连接状态、路由表、接口统计等信息,是了解网络状态及排除网络服务故障的有效工具。

  • -a:显示当前主机中国所有活动的网络连接信息。

  • -n:以数字的形式显示相关的主机地址、端口等信息。

  • -r:显示路由表信息。

  • -l:显示处于监听状态的网络连接及端口信息。

  • -t:查看TCP协议相关的信息。

  • -u:查看UDP协议相关的信息。

  • -p:显示与网络连接相关联的进程号、进程名称信息。

通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同事显示对应的进程信息。结合管道使用“grep”命令,过滤出所需要的特定记录。

[root@localhost-181117 ~]# netstat -anpt | grep ":22"
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1367/sshd           
tcp        0     64 192.168.231.131:22          192.168.231.1:60782         ESTABLISHED 33595/sshd          
tcp        0      0 :::22                       :::*                        LISTEN      1367/sshd           
[root@localhost-181117 ~]#

测试网络连接

  1. 使用ping命令测试网络连通性

使用ping命令可以向目的主机持续地发送测试数据包,并显示结果,直接按Ctrl+C组合键中止测试,并显示最终的统计结果。

执行ping命令,若不能获得从目标主机发回的数据包,则表示在本机到目标主机之间存在网络连通性故障。

当网络中存在影响通信过程稳定性的因素时,使用ping命令可能会频繁看到“Request timeout”的结果,表示与目标主机间的连接超时。

2.使用traceroute命令跟踪数据包的路由途径

使用traceroute命令可以测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态。对于无法响应的结点,连接状态将显示为“*”。

在网络测试与排错过程中,通常会先使用ping命令测试与目的主机的网络连接,如果发现网络连接有故障,则使用traceroute命令跟踪查看是在哪个中间结点存在故障。

3.使用nslookup命令测试DNS域名解析

nslookup命令时用来测试域名解析的专用工具,使用时只要指定要解析的目标域名作为参数即可。

使用网络配置命令

  • 临时配置:通过命令行直接修改当前正在使用的网络地址,修改后立即可以生效。

  • 固定配置:通过配置文件来存放固定的各种网络地址,需要重启network服务或重启主机后才会生效。

1.修改网卡的IP地址、子网掩码格式

ifconfig   网络接口名称   IP地址    [  netmask  子网掩码  ]

ifconfig   网络接口名称   IP地址    [ /子网掩码长度 ]

2.禁用、激活网络接口

需要临时禁用或者重新激活指定的网络接口时,需要结合“down”、“up”开关选项。网络接口被禁用以后,将无法使用该网络接口与其他主机进行连接。

3.添加、删除到指定网段的路由记录

通过“route add”操作可以添加路由记录,结合“-net”选项指定目录网段的地址,结合“gw”选项指定下一跳路由器的IP地址。

通过“route del”操作可以删除路由记录,只要结合“-net”选项指定对应路由记录中目标网段的地址即可。

4.添加、删除默认网关记录

添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类似,但指定目标网段时只需简单实用“default”表示。无须使用“-net”选项指明网段地址。

修改网络配置文件

1.网络接口配置文件

网络接口的配置文件默认位于目录“/etc/sysconfig/network-scripts/”中,文件名格式为“ifcfg-XXX”,其中“XXX”是网络接口的名称。

[root@localhost-181117 ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-lo
[root@localhost-181117 ~]
[root@localhost-181117 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.231.131
NETMASK=255.255.255.0
GATEWAY=192.168.231.1

上述各配置项的含义及作用

  • DEVICE:设置网络接口的名称。

  • ONBOOT:设置网络接口是否在Linux系统启动时激活。

  • BOOTPROTO:设置网络接口的配置方式,值为“static”时表示使用静态指定的IP地址,为“DHCP”时表示通过DHCP的方式动态获取地址。

  • IPADDR:设置网络接口的IP地址。

  • NETMASK:设置网络接口的子网掩码。

  • GATEWAY:设置网络接口的默认网关地址。

2.启用、禁用网络接口设置

在RHEL系统中,当修改了网络接口的配置文件以后,若要使新的配置生效,可以重新启动network服务或者重启主机。默认情况下,重启network服务将会关闭所有的网络接口,然后在根据配置文件重新启用所有的网络接口。

如果只是想禁用、启用某一个网络接口,可分别使用两个接口控制脚本ifdown、ifup。

3.主机名称配置文件

若要修改Linux系统的主机名,可以修改配置文件/etc/sysconfig/network。在此文件中,“HOSTNAME”行用于设置主机名,而“NETWORKING”行用于设置IPv4网络的默认启用状态。

[root@localhost-181117 ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING=yes
HOSTNAME=localhost-181117

4.域名解析配置文件

指定为本机提供DNS解析的服务器地址

/etc/resolv.conf文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的修改将会立刻生效。Linux系统中最多可以指定3个不同的DNS服务器地址,优先使用第1个DNS服务器。

[root@localhost-181117 ~]# vi /etc/resolv.conf 
# Generated by NetworkManager
domain localdomain
search localdomain
nameserver 192.168.231.2

本地主机映射文件

/etc/hosts文件中记录着一份主机名与IP地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到在去向DNS服务器查询。

[root@localhost-181117 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@localhost-181117 ~]#

搭建DHCP服务器

DHCP的典型应用模式:负责其中分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址)将网卡配置为自动获取地址,即可与DHCP服务器进行通信,完成自动配置过程。

  1. 挂载光盘

[root@localhost-181117 ~]# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost-181117 ~]#

2.安装DHCP服务,进入到挂载点下,安装软件包

[root@localhost-181117 ~]# cd /mnt/Packages/
[root@localhost-181117 Packages]# rpm -ivh dhcp-4.1.1-38.P1.el6.centos.x86_64.rpm 
warning: dhcp-4.1.1-38.P1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
  1:dhcp                   ########################################### [100%]
[root@localhost-181117 Packages]#

3.dhcp.conf为主配置文件,在配置文件中没有事先配置好的部分,需要我们手动配置,但是在配置文件中给出了样例配置文件的路径。

[root@localhost-181117 Packages]# cd /etc/dhcp/
[root@localhost-181117 dhcp]# ls
dhclient.d  dhcpd6.conf  dhcpd.conf
[root@localhost-181117 dhcp]# vi dhcpd.conf 

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#

4.复制样例文件覆盖原文件。

[root@localhost-181117 dhcp]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y

5.配置dhcp.conf文件,确定subnet网段声明。

[root@localhost-181117 dhcp]# vi dhcpd.conf 

subnet 192.168.231.0 netmask 255.255.255.0 {

   range 192.168.231.128 192.168.231.254;
   option routers          192.168.231.1;
}

6.将DHCP服务器的虚拟机和win7客户端的虚拟通道调节到一个模式下。

7.确定host主机声明(host声明用于设置单个主机的网络属性)用过host关键字指定需要使用保留地址的客户机名称,并使用“hardware ethernet”参数指定该主机的MAC地址,使用“fixed-address”参数指定保留给该主机的IP地址。启动服务或者监听下端口是否正常。(需要关闭、重启dhcp服务时,只要将操作命令中的“restart”改为“start”或者“stop”即可。如果dhcp服务启动失败,可以检查日志文件/var/log/messages末尾的错误提示信息,并根据提示进行排错。)

[root@localhost-181117 dhcp]# vi dhcpd.conf 
host prtsvr {
  hardware ethernet 00:0C:29:75:91:EC;
  fixed-address 192.168.231.132;
}
:wq
[root@localhost-181117 dhcp]# service dhcpd restart
关闭 dhcpd:                                               [确定]
正在启动 dhcpd:                                           [确定]
[root@localhost-181117 dhcp]#

8.测试并验证windows客户端是否获取到IP地址。

/etc/dhcp/dhcp.conf文件的配置构成

在主配置文件dhcp.conf中,可以使用声明、参数、选项这三种类型的配置。

  • 声明:用来描述dhcp服务器中对网络布局的划分,是网络设置的逻辑范围。常见的声明是subnet、host,其中subnet声明用来约束一个网段,host声明用来约束一台特定的主机。

  • 参数:由配置关键字和对应的值组成,总是以分好“:”结束,一般位于指定的声明范围之内,用来设置所在范围的运行特性。

  • 选项:由“option”引导,后面跟具体的配置关键字和对应的值,也是以分号“:”结束,用于指定分配给客户机的各种地址参数。

确定dhcp服务的全局配置

为了使配置文件的结构更加清晰,全局配置通常会放在配置文件dhcp.conf的开头部分,可以是配置参数,也可以是配置选项。

  • ddns-update-style,动态DNS更新模式。用来设置与DHCP服务相关联的DNS数据动态更新模式。在实际的DHCP应用中很少用到该参数,将值设为“none”。

  • default-lease-time,默认租约时间。单位为秒,表示客户端可以从DHCP服务器租用某个IP地址的默认时间。

  • max-lease-time,最大租约时间,单位为秒,表示允许DHCP客户端请求的最大租约时间,当客户端未请求明确的租约时间时,服务器将采用默认租约时间。

  • option domain-name,默认搜索区域。为客户机指定解析主机名时的默认搜索域,改配置选项将体现在客户机的/etc/resolv.conf配置文件中。

  • option domain-name-servers,DNS服务器地址,为客户机指定解析域名时使用的DNS服务器地址,该配置选项同样将体现在客户机的/etc/resolv.conf配置文件中。需设置多个DNS服务器地址时,应以逗号进行分隔。

猜你喜欢

转载自blog.csdn.net/wang13342322203/article/details/84229906