01 Linux网络设置

目录

1.1 查看及测试网络

        1.1.1 查看网络配置

                1. 查看网络接口地址

                        1. 查看活动的网络接口设备

                        2. 查看指定的网络接口信息

                2. 查看主机名称

                3. 查看路由表条目

                4. 查看网络连接情况

        1.1.2 测试网络连接

                1. 测试网络连通性

                2. 跟踪数据包的路由途径

                3. 测试DNS域名解析

1.2 设置网络地址参数

        1.2.1 使用网络配置命令

                1. 修改网卡的地址、状态

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

                        2. 禁用、激活网络接口

                        3. 为网卡绑定虚拟接口

                2. 添加、删除静态路由记录

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

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

                3. 修改主机的名称

        1.2.2 修改网络配置文件

                1. 网络接口配置文件

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

                3. 主机名称配置文件

                4. 域名解析配置文件

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

                        2. 本机主机映射文件


1.1 查看及测试网络

        查看及测试网络配置是管理Linux 网络服务的第一步,本节将学习Linux操作系统中的网络查看及测试命令。其中讲解的大多数命令以普通用户权限就可以完成操作,但普通用户在执行/sbin/目录中的命令时需要指定命令文件的绝对路径。

        1.1.1 查看网络配置

                1. 查看网络接口地址

        主机的网络接口卡(网卡)通常称为网络接口。在Linux操作系统中,使用ifconfig 命令可以查看网络接口的地址配置信息(Interface Configuration)。

                        1. 查看活动的网络接口设备

        若采用mini 版 CentOS 7安装的系统,默认是没有ifconfig命令的,需要先通过yum方式安装net-tools 软件包,才有ifconfig 命令。在不带任何选项和参数执行ifconfig 命令时,将显示当前主机中已启用(活动)的网络接口信息。例如,直接执行ifconfig命令后可以看到ens33、lo这两个网络接口的信息,具体操作如下:

[root@localhost ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.10.101  netmask 255.255.255.0  broadcast 192.168.10.255inet6 fe80::734f:69d7:145f:1c42  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:48:29:8f  txqueuelen 1000  (Ethernet)RX packets 639  bytes 52642 (51.4 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 645  bytes 50395 (49.2 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 4  bytes 348 (348.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 4  bytes 348 (348.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0[root@localhost ~]# 

在上述输出结果中,ens33对应为第一块物理网卡,lo对应为虚拟的回环接口。

  1. ens33:第一块以太网卡的名称。"ens33"中的"en”是"EtherNet"的缩写,表示网卡类型为以太网,“s"表示热插拔插槽上的设备(hot-plug Slot),数字"33"表示插槽编号。由此可以得知,从 CentOS7开始,使用基于固件、硬件拓扑和设备位置信息分配的一致网络设备命名(Consistent Network Naming)。因为一致的网络设备名是基于系统硬件的,所以在不同的操作系统上,网络接口名称可能不同。
  2. lo:“回环"网络接口,"lo”是"loopback"的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其IP地址默认是"127.0.0.1”。回环地址通常仅用于对本机的网络测试。
                        2. 查看指定的网络接口信息

        当只需要查看其中某一个网络接口的信息时,可以使用网络接口的名称作为ifconfig 命令的参数(不论该网络接口是否处于激活状态)。例如,执行"ifconfig ens33"命令后可以只查看网卡ens33的配置信息,具体操作如下:

[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.10.101  netmask 255.255.255.0  broadcast 192.168.10.255inet6 fe80::f6d:8bdc:c21a:5b47  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:8b:11:fe  txqueuelen 1000  (Ethernet)RX packets 119  bytes 14467 (14.1 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 134  bytes 17346 (16.9 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0[root@localhost ~]# 

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

  1. inet:表示网络接口的I地址,如"192.168.4.11”。
  2. netmask:表示网络接口的子网掩码,如"255.255.255.0”。
  3. broadcast:表示网络接口所在网络的广播地址,如"192.168.4.255”。
  4. ether:表示网络接口的物理地址(MAC地址),如“00:0c:29:3a:81:cc”。网络接口的物理地址通常不能更改,是网卡在生产时确定的全球唯一的硬件地址。

        除此以外,还能够通过“TX”"和“RX"等信息了解通过该网络接口发送和接收的数据包个数、流量等更多属性。

                2. 查看主机名称

        在Linux操作系统中,相当一部分网络服务都会通过主机名来识别主机,如果主机名配置不当,可能会导致程序功能出现故障。使用hostname命令可以查看当前主机的主机名,不用添加任何选项或参数,具体操作如下:

[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# 

                3. 查看路由表条目

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

[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.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
[root@localhost ~]# 

        当目标网段为“default"时,表示此行是默认网关记录;当下一跳为“gateway"时,表示目标网段是与本机直接相连的。但是,直接执行"route"命令无法直接看出默认网关地址。

        若结合"-n"选项使用,可以将路由记录中的地址显示为数字形式,这可以跳过解析主机名的过程,在路由表条目较多的情况下能够加快执行速度。例如,执行"route -n"命令后,输出信息中的“gateway"地址将显示为"192.168.4.1"默认网关记录中的"default"也将显示为"0.0.0.0”,具体操作如下:

[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.254  0.0.0.0         UG    100    0        0 ens33
192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
[root@localhost ~]# 

                4. 查看网络连接情况

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

  1. -a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
  2. -n:以数字的形式显示相关的主机地址、端口等信息。
  3. -r:显示路由表信息。
  4. -l:显示处于监听(Listening)状态的网络连接及端口信息。
  5. -t:查看TCP( Transmission Control Protocol,传输控制协议)相关的信息。
  6. -u:显示 UDP (User Datagram Protocol,用户数据报协议)协议相关的信息。
  7. -p:显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)。

        通常使用"-anpt"组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。结合管道命令使用“grep"命令,还可以在结果中过滤出所需要的特定记录。例如,执行以下操作可以查看本机中是否有监听"TCP 80"端口(即标准 Web服务)的服务程序,输出信息中包括PID号和进程名称。

[root@localhost ~]# netstat -anpt | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1189/sshd           
tcp        0      0 192.168.10.101:22       192.168.10.1:58253      ESTABLISHED 1449/sshd: root@not 
tcp        0     36 192.168.10.101:22       192.168.10.1:58252      ESTABLISHED 1444/sshd: root@pts 
tcp6       0      0 :::22                   :::*                    LISTEN      1189/sshd           
[root@localhost ~]# 

        除了netstat,ss命令也可以查看网络连接情况,它是 Socket Statistics 的缩写,主要用于获取 socket统计信息,它可以显示和netstat命令类似的输出内容。但ss 的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比 netstat更快速更高效。要想使用ss命令,首先确保 iproute程序包已被安装,可以通过yum方式进行安装。

        以下是ss命令常用的几个选项。

  1. -h:--help 通过该选项获取更多的使用帮助。
  2. -V:--version显示软件的版本号。
  3. -t:--tcp显示TCP协议的sockets。
  4. -u:--udp显示UDP协议的sockets。
  5. -n: --numeric不解析服务的名称,如"22”端口不会显示成"ssh"。
  6. -l:--listening只显示处于监听状态的端口。
  7. -p: --processes显示监听端口的进程。
  8. -a: --all对TCP协议来说,既包含监听的端口,也包含建立的连接。
  9. -r:--resolve 把IP解释为域名,把端口号解释为协议名称。

        ss命令的输出结果,可以提供TCP和 UDP的socket 信息,以及各种服务建立的持久连结,熟悉这个命令有助于更好的发现与解决系统性能问题。例如,执行以下操作可以显示TCP协议下已经建立的连接,“Local Address:Port"表示本地监听的IP和端口,“PeerAddress:Port”表示远端连接的IP和端口,具体ss 的操作命令如下。

[root@localhost ~]# ss -t state established
Recv-Q Send-Q Local Address:Port                 Peer Address:Port                
0      0      192.168.10.101:ssh                  192.168.10.1:58253                
0      0      192.168.10.101:ssh                  192.168.10.1:58252                
[root@localhost ~]# 

        1.1.2 测试网络连接

        用户访问网络服务的前提是网络连接处于正常状态。若网络连接不稳定,甚至无法连接,用户则无法正常访问网络服务。因此,当网络连接出现问题时,需要通过测试网络连接的命令来确定故障点。下面介绍几个常用的测试网络连接的命令。

                1. 测试网络连通性

        使用ping命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按Ctrl+C组合键后中止测试,并显示最终统计结果。例如,以下操作将测试从本机到www.baidu.com的连通性情况,连接正常时会收到返回的数据包。

[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (110.242.68.3) 56(84) bytes of data.
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=8 ttl=128 time=30.9 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=9 ttl=128 time=28.6 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=10 ttl=128 time=30.7 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=11 ttl=128 time=24.6 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=12 ttl=128 time=32.8 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=13 ttl=128 time=29.0 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=14 ttl=128 time=28.1 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=15 ttl=128 time=27.1 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=16 ttl=128 time=34.4 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=17 ttl=128 time=32.6 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=18 ttl=128 time=31.1 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=19 ttl=128 time=24.8 ms
^C
--- www.a.shifen.com ping statistics ---
19 packets transmitted, 12 received, 36% packet loss, time 22274ms
rtt min/avg/max/mdev = 24.624/29.603/34.422/2.961 ms
[root@localhost ~]# 

        执行ping测试命令时,若不能获得从目标主机发回的反馈数据包,则表示在本机到目标主机之间存在网络连通性故障。例如,若看到"Destination Host Unreachable"的反馈信息,则表示目的主机不可达,可能目标地址不存在或者主机已经关闭;若看到"Network isunreachable”的反馈信息,则表示没有可用的路由记录(如默认网关),无法达到目标主机所在的网络。

        当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,使用ping命令测试可能会频繁看到"Request timeout"的反馈结果,表示与目标主机间的连接超时(数据包响应缓慢或丢失)。除此以外,当目标主机有严格的防火墙限制时,也可能收到“Request timeout”的反馈结果。

                2. 跟踪数据包的路由途径

        若服务器上没有traceroute命令,可通过yum方式安装traceroute 软件包。traceroute命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为“*”。例如,通过以下操作结果可以看出,从本机到目标主机192.168.7.7之间,中间需跨越一个路由器192.168.4.1。

[root@localhost ~]# yum -y install traceroute
已加载插件:fastestmirror
Determining fastest mirrors
c7-media                                            | 3.6 kB     00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 traceroute.x86_64.3.2.0.22-2.el7 将被 安装
--> 解决依赖关系完成依赖关系解决===========================================================================Package          架构         版本                   源              大小
===========================================================================
正在安装:traceroute       x86_64       3:2.0.22-2.el7         c7-media        59 k事务概要
===========================================================================
安装  1 软件包总下载量:59 k
安装大小:92 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装    : 3:traceroute-2.0.22-2.el7.x86_64                       1/1 验证中      : 3:traceroute-2.0.22-2.el7.x86_64                       1/1 已安装:traceroute.x86_64 3:2.0.22-2.el7                                         完毕![root@localhost ~]# traceroute 192.168.7.7
traceroute to 192.168.7.7 (192.168.7.7), 30 hops max, 60 byte packets1  gateway (192.168.10.254)  0.120 ms  0.079 ms  0.040 ms
[root@localhost ~]# 

        traceroute命令能够比 ping命令更加准确地定位网络连接的故障点(中断点),因此执行速度会比ping命令稍慢。在网络测试与排错过程中,通常会先使用ping命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用traceroute命令跟踪查看是在哪个中间结点存在故障。

                3. 测试DNS域名解析

        当域名解析出现异常时,将无法使用域名的形式访问网络中的Web站点、电子邮件系统等服务。nslookup命令是用来测试域名解析的专用工具,使用时只要指定要解析的目标域名作为参数即可。若在执行过程中提示无法找到nslookup命令,可通过yum安装bind-utils程序包的方式来解决。例如,执行“nslookup www.google.com"命令后,nslookup程序将提交查询请求,询问站点www.google.com对应的I地址是多少,具体操作如下:

[root@localhost ~]# yum -y install bind-utils
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 bind-utils.x86_64.32.9.11.4-26.P2.el7 将被 安装
--> 正在处理依赖关系 bind-libs-lite(x86-64) = 32:9.11.4-26.P2.el7,它被软件包 32:bind-utils-9.11.4-26.P2.el7.x86_64 需要
--> 正在处理依赖关系 bind-libs(x86-64) = 32:9.11.4-26.P2.el7,它被软件包 32:bind-utils-9.11.4-26.P2.el7.x86_64 需要
--> 正在处理依赖关系 liblwres.so.160()(64bit),它被软件包 32:bind-utils-9.11.4-26.P2.el7.x86_64 需要
--> 正在处理依赖关系 libisccfg.so.160()(64bit),它被软件包 32:bind-utils-9.11.4-26.P2.el7.x86_64 需要
--> 正在处理依赖关系 libisc.so.169()(64bit),它被软件包 32:bind-utils-9.11.4-26.P2.el7.x86_64 需要
--> 正在处理依赖关系 libirs.so.160()(64bit),它被软件包 32:bind-utils-9.11.4-26.P2.el7.x86_64 需要
--> 正在处理依赖关系 libdns.so.1102()(64bit),它被软件包 32:bind-utils-9.11.4-26.P2.el7.x86_64 需要
--> 正在处理依赖关系 libbind9.so.160()(64bit),它被软件包 32:bind-utils-9.11.4-26.P2.el7.x86_64 需要
--> 正在处理依赖关系 libGeoIP.so.1()(64bit),它被软件包 32:bind-utils-9.11.4-26.P2.el7.x86_64 需要
--> 正在检查事务
---> 软件包 GeoIP.x86_64.0.1.5.0-14.el7 将被 安装
--> 正在处理依赖关系 geoipupdate,它被软件包 GeoIP-1.5.0-14.el7.x86_64 需要
---> 软件包 bind-libs.x86_64.32.9.11.4-26.P2.el7 将被 安装
--> 正在处理依赖关系 bind-license = 32:9.11.4-26.P2.el7,它被软件包 32:bind-libs-9.11.4-26.P2.el7.x86_64 需要
---> 软件包 bind-libs-lite.x86_64.32.9.11.4-26.P2.el7 将被 安装
--> 正在检查事务
---> 软件包 bind-license.noarch.32.9.11.4-26.P2.el7 将被 安装
---> 软件包 geoipupdate.x86_64.0.2.5.0-1.el7 将被 安装
--> 解决依赖关系完成依赖关系解决===========================================================================Package            架构       版本                     源            大小
===========================================================================
正在安装:bind-utils         x86_64     32:9.11.4-26.P2.el7      c7-media     260 k
为依赖而安装:GeoIP              x86_64     1.5.0-14.el7             c7-media     1.5 Mbind-libs          x86_64     32:9.11.4-26.P2.el7      c7-media     156 kbind-libs-lite     x86_64     32:9.11.4-26.P2.el7      c7-media     1.1 Mbind-license       noarch     32:9.11.4-26.P2.el7      c7-media      90 kgeoipupdate        x86_64     2.5.0-1.el7              c7-media      35 k事务概要
===========================================================================
安装  1 软件包 (+5 依赖软件包)总下载量:3.1 M
安装大小:7.5 M
Downloading packages:
---------------------------------------------------------------------------
总计                                           96 MB/s | 3.1 MB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装    : 32:bind-license-9.11.4-26.P2.el7.noarch                1/6 正在安装    : geoipupdate-2.5.0-1.el7.x86_64                         2/6 正在安装    : GeoIP-1.5.0-14.el7.x86_64                              3/6 正在安装    : 32:bind-libs-lite-9.11.4-26.P2.el7.x86_64              4/6 正在安装    : 32:bind-libs-9.11.4-26.P2.el7.x86_64                   5/6 正在安装    : 32:bind-utils-9.11.4-26.P2.el7.x86_64                  6/6 验证中      : 32:bind-libs-9.11.4-26.P2.el7.x86_64                   1/6 验证中      : GeoIP-1.5.0-14.el7.x86_64                              2/6 验证中      : geoipupdate-2.5.0-1.el7.x86_64                         3/6 验证中      : 32:bind-license-9.11.4-26.P2.el7.noarch                4/6 验证中      : 32:bind-utils-9.11.4-26.P2.el7.x86_64                  5/6 验证中      : 32:bind-libs-lite-9.11.4-26.P2.el7.x86_64              6/6 已安装:bind-utils.x86_64 32:9.11.4-26.P2.el7                                    作为依赖被安装:GeoIP.x86_64 0:1.5.0-14.el7                                              bind-libs.x86_64 32:9.11.4-26.P2.el7                                     bind-libs-lite.x86_64 32:9.11.4-26.P2.el7                                bind-license.noarch 32:9.11.4-26.P2.el7                                  geoipupdate.x86_64 0:2.5.0-1.el7                                         完毕!
[root@localhost ~]# nslookup www.google.com
Server:		8.8.8.8
Address:	8.8.8.8#53Non-authoritative answer:
Name:	www.google.com
Address: 31.13.112.9
Name:	www.google.com
Address: 2001::1[root@localhost ~]# 

        若能够成功反馈要查询域名的IP地址,则表示域名解析没有问题,否则需要根据实际反馈情况来判断故障原因。例如,若出现"..... no servers could be reached"”的信息,则表示不能连接到指定的DNS服务器;若出现"..... can't find xxx.yyy.zzz:NXDOMAIN"的信息,则表示要查询的域名不存在。

        此外还有dig 命令也可以用来测试域名解析,相对于nslookup命令,dig可以得到更多的域名信息。dig 的全称是(domain information groper),它是一个用于查询DNS域名服务器的灵活的工具。大多数系统管理员都是利用dig 作为DNS问题的故障诊断工具,因为它具有灵活性好、易用、输出清晰等特点。dig命令最典型的用法就是查询单个主机的信息。

[root@localhost ~]# dig baidu.com; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7 <<>> baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20047
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;baidu.com.			IN	A;; ANSWER SECTION:
baidu.com.		275	IN	A	110.242.68.66
baidu.com.		275	IN	A	39.156.66.10;; Query time: 56 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 一 6月 10 17:10:06 CST 2024
;; MSG SIZE  rcvd: 70[root@localhost ~]# 

        dig在查询过程中,还可以指定特点的DNS服务器。如果不指定DNS服务器,默认会使用/etclresolve.conf里面的地址作为DNS服务器。

1.2 设置网络地址参数

        在 Linux主机中,手动修改网络配置包括两种最基本的方法。

  1. 临时配置:通过命令行直接修改当前正在使用的网络地址,修改后立即可以生效。这种方式操作简单快速、执行效率高,一般在调试网络的过程中使用。但由于所做的修改并没有固定地存放在静态的文件中,因此当重启 network服务或重启主机后将会失效。
  2. 固定配置:通过配置文件来存放固定的各种网络地址,需要重启 network服务或重启主机后才会生效。这种方式操作上相对要复杂一些,但相当于"永久配置",一般在需要为服务器设置固定的网络地址时使用。

        1.2.1 使用网络配置命令

                1. 修改网卡的地址、状态

        ifconfig 命令不仅可以用于查看网卡配置,还可以修改网卡的IP地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口。

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

        需要设置网卡的地址时,命令格式如下:

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

 或者

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

        通常后一种方式用得更多一些。当不指定子网掩码时,将使用P地址所在分类的默认子网掩码。指定新的IP地址和子网掩码以后,原有的地址将会失效。例如,执行以下操作可以将网卡ens33的IP地址设置为192.168.168.1,子网掩码长度为24。

或者

                        2. 禁用、激活网络接口

        需要临时禁用或者重新激活指定的网络接口时,需要结合"down”和"up"开关选项。网络接口被禁用以后,将无法使用该网络接口与其他主机进行连接。例如,执行以下操作将会禁用网卡ens37。

                        3. 为网卡绑定虚拟接口

        在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的IP地址,但是又不能覆盖原有IP地址而导致服务程序不可用。这时可以为网卡绑定一个虚拟的网络接口,然后为虚拟接口设置新的IP地址(相当于一块网卡配多个I地址)

        例如,执行以下操作可以为网卡 ens33添加一个虚拟接口 ens33:0,并将这个虚拟接口的IP地址设置为172.17.17.17。虚拟接口的IP地址和网卡原有的IP地址都可以正常使用。

        可以根据需要添加更多的虚拟接口,如"ens33:1"ens33:2"等。

                2. 添加、删除静态路由记录

        route命令不仅可以用于查看路由表信息,还可用来添加、删除静态的路由表条目,其中也包括设置默认网关地址(默认网关记录是一条特殊的静态路由条目)。

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

        通过"route add"操作可以添加路由记录,结合"-net"选项指定目标网段的地址,结合"gw"选项指定下一跳路由器的I地址。例如,若要使本机访问另一个网段192.168.3.0/24的数据包都发送给192.168.4.254,可以执行以下操作。需要注意的是,默认网关的IP地址应该与本机其中一个接口的IP地址在同一个网段内。

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

        例如,执行以下操作可以删除前面添加到192.168.3.0/24网段的静态路由条目。

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

        添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类似,但指定目标网段时只需简单地使用"default"表示即可,无须再使用"-net"选项指明网段地址。例如,执行以下操作将先删除已有的到192.168.4.1的默认网关记录,再添加新的192.168.4.254的默认网关记录。

        需要注意的是,在同一个主机的路由表中只应有一条默认网关记录。若同时存在多条默认网关记录,则可能导致该主机的网络连接出现故障。

                3. 修改主机的名称

        hostname命令不仅可以用于显示当前主机的名称,还可以修改当前主机的名称。在新登录的用户会话(Shell环境)中,命令提示符中的主机名部分也会出现相应的变化。例如,执行"hostname www.bdqn.com"命令可以将主机名改为"www.bdqn.com",具体操作如下:

        1.2.2 修改网络配置文件

        当需要为Linux服务器设置固定的网络地址时,若仍用ifconfig等网络命令来进行设置,将会大大降低服务器运行的可靠性。若要使Linux主机在重启系统以后仍然能够使用相同的网络配置,那么直接修改配置文件是最好的方法。

                1. 网络接口配置文件

        网络接口的配置文件默认位于目录letclsysconfig/network-scripts/中,文件名格式为“ifcfg-XXX"其中"XXX"是网络接口的名称。例如,网卡 ens33的配置文件是"ifcfg- ens33",回环接口 lo 的配置文件是"ifcfg-lo”。

        在网卡的配置文件 ifcfg- ens33中,可以看到设置静态IP地址的部分内容如下:

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

  1. TYPE:设置网卡类型,“Ethernet"表示以太网
  2. BOOTPROTO:设置网络接口的配置方式,值为“static"时表示使用静态指定的IP地址,为"dhcp”时表示通过DHCP的方式动态获取地址。
  3. DEVICE:设置网络接口的名称。
  4. ONBOOT:设置网络接口是否在 Linux操作系统启动时激活。
  5. IPADDR:设置网络接口的IP地址。
  6. NETMASK:设置网络接口的子网掩码。
  7. GATEWAY:设置网络接口的默认网关地址。

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

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

        如果只是禁用、启用某一个网络接口(而不是所有接口),可分别使用两个接口控制脚本ifdown、ifup。例如,执行以下操作将会先关闭ens33 网卡,然后根据配置文件启用ens33网卡。

                3. 主机名称配置文件

        若要修改Linux操作系统的主机名,可以修改配置文件letc/hostname。将要设置的主机名写入此文件内,如果文件内输入了多行内容,此时系统仅识别第一行的内容为系统主机名。例如,执行以下操作可以将主机名由默认的localhost.localdomain改为www.bdqn.com。

        通过修改letc/hostname来更改的主机名,如果要让其生效,需重启Linux系统。

        此外,还可以通过hostnamectl命令来修改主机名,命令操作如下。

                4. 域名解析配置文件

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

        /etc/resolv.conf文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的修改将会立刻生效。Linux操作系统中最多可以指定3个(第3个以后的将被忽略)不同的 DNS服务器地址,优先使用第一个DNS服务器。例如,执行以下操作可以指定默认使用的两个DNS服务器地址分别位于202.106.0.20和 202.106.148.1。

        resolv.conf文件中的"search localdomain"行用来设置默认的搜索域(域名扩展名)。例如,当访问主机""localhost"时,就相当于访问"localhost.localdomain”。

        但是,在 CentOS7环境下,如果按照上面方式配置,过一段时间会被系统重新覆盖或者清除,此时需要修改letc/NetworkManager/NetworkManager.conf 文件,在 main部分添加"dns=none"配置项。

        之后需要重启NetworkManager服务。确保l/etc/resolv.conf 内有配置信息,此时就可以正常解析域名了。

                        2. 本机主机映射文件

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

        例如,若在letc/hosts 文件中添加"119.75.218.70www.baidu.com"的映射记求,则当访问网站www.baidu.com 时,将会直接向IP地址119.75.218.70发送Web请求,省略了向DNS服务器解析P地址的过程。

        对于经常访问的一些网站,可以通过在letc/hosts文件添加正确的映射记录,减少DNS查询过程,从而提高上网速度。当然,若添加了错误的映射记录,则可能导致网站访问出现异常。另外,因为 hosts文件只保存在本地,所以其中的映射记录也只适用于当前主机,而无法作用于整个网络。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/26244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亚信安慧AntDB数据库与云信达eCloud Data Master 云数据管理系统软件V4完成兼容性互认证

日前&#xff0c;湖南亚信安慧科技有限公司&#xff08;简称&#xff1a;亚信安慧&#xff09;与南京云信达科技有限公司&#xff08;简称&#xff1a;云信达&#xff09;&#xff0c;完成了AntDB数据库产品与云信达eCloud Data Master云数据管理系统软件V4的兼容性互认证。 双…

Linux LCD屏幕上电不显示

一、问题描述 LCD屏幕点不亮 二、相关配置 timing获取&#xff1a;&#xff08;1280x800) 最好的获取方式是通过询问LCD屏厂获得确切的时序参考值。其次或是从屏手册或者Driver IC手册中查找&#xff08;向屏厂索要这些文档&#xff09;。 至少需要从屏厂获得Width&#xff…

C++入门 string(2)

目录 string类的常用接口说明 string类对象的容量操作 size & max_size & length & capacity empty & clear reserve & resize string类对象的元素访问 at & back & front string类对象的修改操作&#xff08;字符串操作&#xff09; sub…

FlowUs息流:新媒体运营者的智能协作解决方案

新媒体和自媒体运营者在日常工作中经常面临信息管理复杂、创意记录不便、团队协作效率低等痛点。FlowUs作为一款多功能的协作工具&#xff0c;能够针对性地解决这些问题。 FlowUs息流是一款专为新媒体从业者设计的协作文档工具&#xff0c;它具备以下功能特色&#xff1a; 中文…

VMware Workstation Ubuntu server 24 (Linux) 磁盘扩容 挂载硬盘

1 Ubuntu server 关机,新增加磁盘 2 启动ubuntu虚拟机,分区和挂载磁盘 sudo fdisk /dev/sdb #查看磁盘UUID sudo blkid #创建挂载目录 sudo mkdir /mnt/data # sudo vi /etc/fstab /dev/disk/by-uuid/0b440ed0-b28b-4756-beeb-10c585e3d101 /mnt/data ext4 defaults 0 1 #加…

下载使用nginx发布html自定义页面

在浏览器搜索nginx.org&#xff0c;然后点击download&#xff0c;接着点击 stable and mainline 选择自己所使用系统对应的信息后点击&#xff08;我用的是CentOS&#xff0c;所以需要点击RHEL and derivatives&#xff09; vim /etc/yum.repos.d/nginx.repo [nginx-stable] n…

从文本文件中读取博客数据并将其提取到文件中

通常情况下我们可以使用 Python 中的文件操作来实现这个任务。下面是一个简单的示例&#xff0c;演示了如何从一个文本文件中读取博客数据&#xff0c;并将其提取到另一个文件中。 假设你的博客数据文件&#xff08;例如 blog_data.txt&#xff09;的格式 1、问题背景 我们需…

携手华为,微想科技正式启动“720云”鸿蒙原生应用开发

5月31日&#xff0c;"创兴汇聚&#xff0c;干帆领航”——“走进华为”系列活动北京站&#xff0c;在华为北京研究所举行&#xff0c;华为战略研究院、华为开发者联盟承办。微想科技创始人兼CEO刘博受邀出席此次会议&#xff0c;并在鸿蒙原生系统启动仪式上与华为达成合作…

福派斯猫粮,让猫咪更健康,你做到了吗?

猫粮的选择对于猫咪的健康和幸福有着极大的影响。猫粮是猫咪日常摄入营养的主要来源&#xff0c;因此选择一款适合猫咪的猫粮非常重要。福派斯猫粮凭借其卓越的品质和全面的营养价值&#xff0c;成为了许多宠物主人的首选&#xff0c;尤其是福派斯旗下的福派斯三文鱼猫粮、福派…

轻兔推荐 —— Snipaste

via&#xff1a;轻兔推荐 - https://app.lighttools.net/ 简介 Snipaste 是一个简单但强大的截图工具&#xff0c;支持Windows和Mac&#xff0c;允许用户快速截图并进行编辑&#xff0c;如添加标注、文字和马赛克。 - 它还具有贴图功能&#xff0c;可以将截图或剪贴板内容固定…

文件IOoooo

1.1 文件路径 文件路径分为两种&#xff1a; 1、绝对路径&#xff1a;以C:、D:等盘符开头的&#xff0c;就是我们所说的绝对路径&#xff0c;根据它可以直接找到文件的具体位置。 2、相对路径&#xff1a;需要先指定一个目录作为基准目录&#xff0c;从基准目录出发&#xf…

音视频封装的总接

1、封装涉及的基本概念 2、音视频封装基础3、封装总结 4、PS/TS码流封装层次图

python调用天气接口并解析json数据

""" 使用python调用请求 使用pip install requests安装requests """ import jsonimport requestsresp requests.get(urlhttps://apis.tianapi.com/tianqi/index,params{key: 4a9ce7c2516a223ewe323dwe323ew323eq1, city: 101020100, type: 1} )…

使用mysqldump迁移MySQL数据

将Windows系统中MySQL数据导出到其他系统中MySQL数据库中 1.导出数据 进入MySQL安装目录的bin目录下&#xff0c;打开dos窗口执行以下命令 --single-transaction 参数表示不锁表 1.1 指定部分表导出 mysqldump -u用户名 -p密码 数据库名 表1 表2 表3 --single-transact…

Apifox的使用

1、了解Apifox的工具特点和使用方法 2、使用Apifox辅助生成接口文档&#xff0c;尝试使用Apifox进行其他前后端调试。 Apifox IDEA 插件快速上手 | Apifox 帮助文档 Apifox IDEA 插件来啦&#xff01;是真的超好用&#xff01;_哔哩哔哩_bilibili 21分钟学会Apifox_哔哩哔哩…

Matlab进阶绘图第59期—棒棒糖图

​棒棒糖图本质上是柱状图的一种变体。 棒棒糖图通过在每根柱子顶端添加圆点&#xff0c;以表示数据之间的相对位置。 此外&#xff0c;一般还会对每根棒棒糖按数值大小进行排序&#xff0c;从而更加方便阅读。 本文利用自制的Lollipop工具进行棒棒糖图的绘制&#xff0c;先…

专业编程显示器明基RD280U,赋能开发者共创科技新纪元

距离ChatGPT问世仅有17个月&#xff0c;OpenAI就推出了颠覆生产力的GPT-4o。这是整个智能时代的一次再进化&#xff0c;GPT-4o不但能实时处理文本、音频和图像&#xff0c;甚至能在232毫秒内实时响应音频输入&#xff0c;几乎与真人对话无异。 当人们惊叹于这项“充满人性”的…

进口自力式蒸汽减压阀-美国品牌

进口自力式蒸汽减压阀是一种用于蒸汽系统中&#xff0c;通过自身能量来调节和控制蒸汽压力的装置。以下是关于进口自力式蒸汽减压阀的详细回答&#xff1a; 定义与功能&#xff1a; 进口自力式蒸汽减压阀是一种无需外加能源&#xff0c;利用被调介质&#xff08;蒸汽&#xff…

代码随想录算法训练营第36期DAY57

DAY57 今天的好消息&#xff1a;能去华五。 1143最长公共子序列 Code: class Solution {public: int longestCommonSubsequence(string text1, string text2) { vector<vector<int>> dp(text1.size()1,vector<int>(text2.size()1,0)); f…

C++基于easyX的员工管理界面

代码&#xff1a; #include "workerManager.h" #include "manager.h" #include "worker.h" #include "technician.h" #include <iostream> #include <graphics.h> #include <windows.h> #include <conio.h>…