目录
hostname 命令不仅可以用于显示当前主机的名称,还可以修改当前主机的名称
查看及测试网络配置是管理 Linux 网络服务的第一步,本节将学习 Linux 操作系统中的 网络查看及测试命令。其中讲解的大多数命令以普通用户权限就可以完成操作,但普通用户 在执行/sbin/目录中的命令时需要指定命令文件的绝对路径
使用 ifconfig 命 令可以查看网络接口的地址配置信息(Interface Configuration)
默认是没有 ifconfig 命令的,需要先通过yum方式安装 net-tools 软件包,才有ifconfig命令
也可以指定一个网卡进行查看如:ifconfig ens33
inet:表示网络接口的 IP 地址,如“192.168.4.11”。
netmask:表示网络接口的子网掩码,如“255.255.255.0”。
broadcast:表示网络接口所在网络的广播地址,如“192.168.4.255”
ether:表示网络接口的物理地址(MAC 地址),如“00:0c:29:3a:81:cc”。网络接 口的物理地址通常不能更改,是网卡在生产时确定的全球唯一的硬件地址。 除此以外,还能够通过“TX”和“RX”等信息了解通过该网络接口发送和接收的数据包个 数、流量等更多属性。
2.查看主机名称
可以使用hostname命令查看当前主机的主机名
3.查看路径条目
当目标网段为“default”时,表示此行是默认网关记录,当下一跳为“gateway”时,表 示目标网段是与本机直接相连的,但是,直接执行“route”命令无法直接看出默认网关地址 所以我们加一个-n大家可以看看两个有什么区别
输出信息中的“gateway”地址将显示为“192.168.4.1”,默认网关记录中的“default”也将显示为 “0.0.0.0
4.查看网络连接情况
通过 netstat 命令可以查看当前操作系统的网络连接状态、路由表、接口统计等信息, 它是了解网络状态及排除网络服务故障的有效工具。以下是 netstat 命令常用的几个选
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息
-r:显示路由表信息
-l:显示处于监听(Listening)状态的网络连接及端口信息
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显 示对应的进程信息。结合管道命令使用“grep”命令,还可以在结果中过滤出所需要的特定记 录。例如,执行以下操作可以查看本机中是否有监听“TCP 80”端口(即标准 Web 服务)的 服务程序,输出信息中包括 PID 号和进程名称
除了netstat ss 命令也可以查看网络连接情况它是 Socket Statistics 的缩写,主要 用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。但 ss 的优势在于 它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效。要想 使用 ss 命令,首先确保 iproute 程序包已被安装,可以通过 yum 方式进行安装
以下是 ss 命令常用的几个选项。
-h:--help 通过该选项获取更多的使用帮助
-V:--version 显示软件的版本号。
-t:--tcp 显示 TCP 协议的 sockets
-u:--udp 显示 UDP 协议的 sockets。
-n:--numeric 不解析服务的名称,如 "22" 端口端口不会显示成 "ssh"
-l:--listening 只显示处于监听状态的端口
-p:--processes 显示监听端口的进程
-a: --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接
-r: --resolve 把 IP 解释为域名,把端口号解释为协
5.测试网络连通性
可以使用ping命令向目标主机发送测试数据包 其间Ctrl+c可以终止测试 (我的快捷键Ctrl+c没有设置用的是终止Ctrl+z)
6.跟踪数据包的路由途径
若服务器上没有 traceroute 命令,可通过 yum 方式安装 traceroute 软件包。traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连 接状态(响应时间)
traceroute 命令能够比 ping 命令更加准确地定位网络连接的故障点(中断点),因此 执行速度会比 ping 命令稍慢。在网络测试与排错过程中,通常会先使用 ping 命令测试与目 的主机的网络连接,如果发现网络连接有故障,再使用 traceroute 命令跟踪查看是在哪个中 间结点存在故障
7.测试 DNS 域名解析
当域名解析出现异常时,将无法使用域名的形式访问网络中的 Web 站点、电子邮件系 统等服务。nslookup 命令是用来测试域名解析的专用工具,使用时只要指定要解析的目标 域名作为参数即可。若在执行过程中提示无法找到nslookup命令,可通过yum安装bind-utils 程序包的方式来解决。例如,执行“nslookup www.baidu.com”命令后,nslookup 程序将提 交查询请求,询问站点 www.baidu.com 对应的 IP 地址是多少,具体操作如下
此外还有 dig 命令也可以用来测试域名解析,相对于 nslookup 命令,dig 可以得到更多 的域名信息
dig 在查询过程中,还可以指定特点的 DNS 服务器。如果不指定 DNS 服务器,默认会 使用/etc/resolve.conf 里面的地址作为 DNS 服务器
8.设置网络地址参数
临时配置:通过命令行直接修改当前正在使用的网络地址,修改后立即可以生效。 这种方式操作简单快速、执行效率高,一般在调试网络的过程中使用。但由于所做 的修改并没有固定地存放在静态的文件中,因此当重启 network 服务或重启主机后 将会失效。 \
固定配置:通过配置文件来存放固定的各种网络地址,需要重启 network 服务或重 启主机后才会生效。这种方式操作上相对要复杂一些,但相当于“永久配置”,一般 在需要为服务器设置固定的网络地址时使用。
1.修改网卡的地址、状态 ifconfig 命令不仅可以用于查看网卡配置,还可以修改网卡的 IP 地址、子网掩码,以绑定虚拟网络接口、激活或禁用网络接口
(2)禁用、激活网络接口 需要临时禁用或者重新激活指定的网络接口时,需要结合“down”和“up”开关选项。网络 接口被禁用以后,将无法使用该网络接口与其他主机进行连接。例如,执行以下操作将会禁 用网卡 ens37
(3)为网卡绑定虚拟接口
2.添加、删除静态路由记录
route 命令不仅可以用于查看路由表信息,还可用来添加、删除静态的路由表条目,其 中也包括设置默认网关地址(默认网关记录是一条特殊的静态路由条目)
通过“route add”操作可以添加路由记录,结合“-net”选项指定目标网段的地址,结合“gw” 选项指定下一跳路由器的IP 地址。例如,若要使本机访问另一个网段 192.168.3.0/24 的数据 包都发送给 192.168.4.254,可以执行以下操作。需要注意的是,默认网关的 IP 地址应该 与本机其中一个接口的 IP
通过“route del”操作可以删除路由记录,只要结合“-net”选项指定对应路由记录中目标网 段的地址即可。例如,执行以下操作可以删除前面添加到 192.168.3.0/24 网段的静态路由 条目
(2)添加、删除默认网关记录 添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类似,但指定目标 网段时只需简单地使用“default”表示即可,无须再使用“-net”选项指明网段地址。例如,执 行以下操作将先删除已有的到 192.168.4.1 的默认网关记录,再添加新的 192.168.4.254 的 默认网关记录。
3.修改主机的名称
hostname 命令不仅可以用于显示当前主机的名称,还可以修改当前主机的名称
修改网络配置文件
网络接口的配置文件默认位于目录/etc/sysconfig/network-scripts/中,文件名格式为 “ifcfg-XXX”,其中“XXX”是网络接口的名称。例如,网卡 ens33 的配置文件是“ifcfg- ens33”, 回环接口 lo 的配置文件是“ifcfg-lo”
在网卡的配置文件 ifcfg- ens33 中,可以看到设置静态 IP 地址的部分内容如下
TYPE:设置网卡类型,“Ethernet”表示以太网
BOOTPROTO:设置网络接口的配置方式,值为“static”时表示使用静态指定的 IP 地址,为“dhcp”时表示通过 DHCP 的方式动态获取地址
DEVICE:设置网络接口的名称
ONBOOT:设置网络接口是否在 Linux 操作系统启动时激活
IPADDR:设置网络接口的 IP 地址
NETMASK:设置网络接口的子网掩码
GATEWAY:设置网络接口的默认网关地址
启用:systemctl restart network
如果只是禁用、启用某一个网络接口(而不是所有接口),可分别使用两个接口控制脚 本 ifdown、ifup。例如,执行以下操作将会先关闭 ens33 网卡,然后根据配置文件启用 ens33 网卡
主机名称配置文件:vim/etchostname
通过修改/etc/hostname 来更改的主机名,如果要让其生效,需重启 Linux 系统。 此外,还可以通过 hostnamectl 命令来修改主机名,命令操作如下
4.域名解析配置文件
在 Linux 操作系统中有两个与域名解析相关的配置文件,下面逐一介绍
(1)指定为本机提供 DNS 解析的服务器地址 /etc/resolv.conf 文件中记录了本机默认使用的 DNS 服务器的地址信息,对该文件所做 的修改将会立刻生效。Linux 操作系统中最多可以指定 3 个(第 3 个以后的将被忽略)不同 的 DNS 服务器地址,优先使用第一个 DNS 服务器。例如,执行以下操作可以指定默认使 用的两个 DNS 服务器地址分别位于 202.106.0.20 和 202.106.148.1。 [root@localhost ~]# vi /etc/resolv.conf
search localdomain
nameserver 202.106.0.20
nameserver 202.106.148.1
resolv.conf 文件中的“search localdomain”行用来设置默认的搜索域(域名扩展名)。 例如,当访问主机“localhost”时,就相当于访问“localhost.localdomain”
但是,在 CentOS 7 环境下,如果按照上面方式配置,过一段时间会被系统重新覆盖或者清除,此时需要修改/etc/NetworkManager/NetworkManager.conf 文件,在 main 部分添 加“dns=none”配置项
(2)本地主机映射文件
对于经常访问的一些网站,可以通过在/etc/hosts 文件添加正确的映射记录,减少 DNS 查询过程,从而提高上网速度。当然,若添加了错误的映射记录,则可能导致网站访问出现 异常。另外,因为 hosts 文件只保存在本地,所以其中的映射记录也只适用于当前主机,而 无法作用于整个网络