Linux-centos8 网络服务--查看网络设置,测试网络连接,设置网络地址参数,修改网络配置文件详解 理论+实操(兼容centos7)

前言

Linux系统本身就被设计为具有强大的网络与通信功能,它支持 TCP/IP , ATM , IPX/SPX , X.2.5 , Frame-relay , AppleTalk等多种网络通讯协议,并将协议的实现加入到Linux内核中,提供了高效的网络通信处理能力
查看及测试网络配置是管理Linux网络服务的第一步

一:查看网络设置

1.1:使用ifconfig 命令查看网络接口地址

主机的网络接口卡(网卡)通常称为"网络接口"。

查看所有活动网络接口的信息

ifconfig命令不带任何选项和参数时,将显示当前主机中已启用(活动)的网络接口信息

[root@localhost ~]# ifconfig 
[root@shanan ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.60  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::129e:4791:ac9d:75d6  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:1a:0b:5b  txqueuelen 1000  (Ethernet)
        RX packets 3817  bytes 2396490 (2.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1581  bytes 209328 (204.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:f7:1b:5e  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

'ens33:第一块以太网卡的名称'
' inet 192.168.100.60 :IP地址' 
'netmask 255.255.255.0   :子网掩码'
' broadcast 192.168.100.2 :广播地址'
'ether 00:0c:29:1a:0b:5b  : MAC地址'
'lo:虚拟的回环接口,lo 是 loopback 的缩写,不是真正的网络接口,而是一个虚拟的网络接口,lo 的IP地址默认为 “127.0.0.1”,回环地址通常仅用于对本机的网络测试'

查看所有网络接口信息

[root@shanan ~]# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.60  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::129e:4791:ac9d:75d6  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:1a:0b:5b  txqueuelen 1000  (Ethernet)
        RX packets 3916  bytes 2403206 (2.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1610  bytes 212972 (207.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:f7:1b:5e  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0-nic: flags=4098<BROADCAST,MULTICAST>  mtu 1500  //虚拟桥接网卡
        ether 52:54:00:f7:1b:5e  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

查看指定网络接口信息

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

[root@shanan ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.60  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::129e:4791:ac9d:75d6  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:1a:0b:5b  txqueuelen 1000  (Ethernet)
        RX packets 3995  bytes 2409062 (2.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1648  bytes 218328 (213.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

1.2:使用 hostname命令查看主机名称

查看当前主机名

[root@localhost ~]# hostname
localhost.localdomain
'localhost:主机名'
'localdomain:域'

临时修改当前主机名

[

root@localhost ~]# hostname shanan
[root@localhost ~]# su
[root@shanan ~]# ifconfig
永久修改主机名两种方式
vi /etc/hostname  在里面修改
或
[root@shanan ~]#  hostnamectl set-hostname sha
[root@shanan ~]# su
[root@sha ~]# 

1.3:使用route命令查看路由表条目

直接执行route命令可以查看到当前主机中的路由表信息

linux系统中的路由表决定着从本主机向其他主机,其他网络发送数据的去向,是排除网络故障的关键信息

[root@sha ~]# 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.100.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列对应下一跳路由器地址'
'Genmask列对应子网掩码'
'Iface列对应发送数据的网络接口'
'目标网段为default时,表示此行时默认网关记录'

Route -n 显示结果用IP地址显示

[root@sha ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 ens33
192.168.100.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

1.4:使用netstat命令查看网络连接情况

netstat命令

查看系统的网络连接状态,路由表,接口统计等信息,是了解网络状态及排除网络服务故障的有效工具

'netstat命令基本格式'
netstat [选项]

常用选项
-a:显示当前主机中所有活动的网络连接信息(包括监听,非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址,端口等信息
-p:显示与网络连接相关联的进程号,进程名称信息('该选项需要root权限'-t:查看TCP协议相关信息
-u:显示UDP协议相关的信息
-r:显示路由信息
-l:显示处于监听(listening)状态的网络连接及端口信息

通常使用“-ntap”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。

结合管道符号使用“grep”命令,还可以在结果中过滤出所需要的特定记录。
[root@localhost ~]# netstat -ntap 	'以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。'
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1978/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1194/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1195/cupsd          
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      3807/sshd: root@pts 
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/init              
tcp        0     52 192.168.100.60:22       192.168.100.1:58824     ESTABLISHED 3797/sshd: root [pr     
tcp6       0      0 :::22                   :::*                    LISTEN      1194/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1195/cupsd          
tcp6       0      0 ::1:6010                :::*                    LISTEN      3807/sshd: root@pts 
tcp6       0      0 :::111                  :::*                    LISTEN      1/init                
[root@sha ~]# 

   ESTABLISHED  状态    表示已确认已连接
LISTEN   状态 表示未连接,正则监听
[root@sha ~]# netstat -nuap  // 以数字形式显示当前系统中所有的udp连接信息,同时显示对应的进程信息。
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
udp        0      0 192.168.122.1:53        0.0.0.0:*                           1978/dnsmasq        
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1978/dnsmasq        
udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/init              
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           888/avahi-daemon: r 
udp        0      0 127.0.0.1:323           0.0.0.0:*                           909/chronyd         
udp        0      0 0.0.0.0:34297           0.0.0.0:*                           888/avahi-daemon: r 
udp6       0      0 :::111                  :::*                                1/init              
udp6       0      0 :::56535                :::*                                888/avahi-daemon: r 
udp6       0      0 :::5353                 :::*                                888/avahi-daemon: r 
udp6       0      0 ::1:323                 :::*                                909/chronyd         

[root@sha ~]# netstat -ntap | grep 22
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1978/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1194/sshd           
tcp        0     52 192.168.100.60:22       192.168.100.1:58824     ESTABLISHED 3797/sshd: root [pr 
tcp6       0      0 :::22                   :::*                    LISTEN      1194/sshd    


[root@sha ~]# netstat -r    //查看路由表
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         _gateway        0.0.0.0         UG        0 0          0 ens33
192.168.100.0   0.0.0.0         255.255.255.0   U         0 0          0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

1.5 : ss 命令 ,获取socket统计信息

在这里插入图片描述
ss是Socket Statistics的缩写。ss命令用来显示处于活动状态的套接字信息。它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
语法格式:ss [参数]
在这里插入图片描述

root@sha ~]# ss -t state established
Recv-Q         Send-Q                     Local Address:Port                    Peer Address:Port          
0              52                        192.168.100.60:ssh                    192.168.100.1:58824         
[root@sha ~]# 

1.6 : netstat 和 ss 的对比

在早期运维工作中,查看服务器连接数一般都会用netstat命令。其实,有一个命令比netstat更高效,那就是ss(Socket Statistics)命令!
ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。
ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。原因如下:
1)当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。可能你不会有切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费 生命,而用ss才是节省时间。
2)而ss快的秘诀在于它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢(但仍然比 netstat要快)。

几乎所有的Linux系统都会默认包含netstat命令,但并非所有系统都会默认包含ss命令。
netstat命令是net-tools工具集中的一员,这个工具一般linux系统会默认安装的;ss命令是iproute工具集中的一员;
net-tools是一套标准的Unix网络工具,用于配置网络接口、设置路由表信息、管理ARP表、显示和统计各类网络信息等等,但是遗憾的是,这个工具自2001年起便不再更新和维护了。
iproute,这是一套可以支持IPv4/IPv6网络的用于管理TCP/UDP/IP网络的工具集
如果没有ss命令,可以如下安装:
yum install iproute iproute-doc

二:测试网络连接

2.1:使用ping命令测试网络连通性
测试网络连通性

命令基本格式
ping [选项] 目标主机

[root@sha ~]# ping 192.168.1.164
PING 192.168.1.164 (192.168.1.164) 56(84) bytes of data.
64 bytes from 192.168.1.164: icmp_seq=1 ttl=128 time=0.605 ms
64 bytes from 192.168.1.164: icmp_seq=2 ttl=128 time=0.566 ms
64 bytes from 192.168.1.164: icmp_seq=3 ttl=128 time=0.439 ms
64 bytes from 192.168.1.164: icmp_seq=4 ttl=128 time=0.510 ms
64 bytes from 192.168.1.164: icmp_seq=5 ttl=128 time=0.490 ms
64 bytes from 192.168.1.164: icmp_seq=6 ttl=128 time=1.35 ms
64 bytes from 192.168.1.164: icmp_seq=7 ttl=128 time=0.717 ms
64 bytes from 192.168.1.164: icmp_seq=8 ttl=128 time=0.519 ms
^C
--- 192.168.1.164 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 208ms
rtt min/avg/max/mdev = 0.439/0.649/1.352/0.278 ms

‘按Ctrl C 组合键终止ping测试’
‘反馈目标主机不可达:可能目标地址不存在或主机已经关闭’
‘反馈 网络不可达:表示没有可用的路由记录,如网关,无法到达目标主机所在网络’
‘反馈 请求超时:表示数据到达对方,但回不来’

2.2:使用traceroute命令跟踪数据包

测试从当前主机到目标主机之间经过的网络节点

对于无法响应的节点,连接状态将显示为*

traceroute命令比ping命令更准确的定位网络连接的故障点(中断点),执行速度也因此比ping命令慢

网络测试中,先用ping,若发现网络连接故障,在使用traceroute命令跟踪查看故障节点

命令基本格式

traceroute 目标主机地址
[root@sha ~]# traceroute 192.168.1.164
traceroute to 192.168.1.164 (192.168.1.164), 30 hops max, 60 byte packets
 1  _gateway (192.168.100.2)  0.533 ms  0.487 ms  0.456 ms
 2  * * *
 3  * * *
 4  * * *

traceroute适合探测局域网 ,广域网会可能被屏蔽

2.3:使用nslookup命令测试DNS域名解析

nslookup命令

测试DNS域名解析,将域名解析为IP地址
Ns = name server
DNS端口 tcp 53 端口 作用 连接DNS服务器
UDP 53 端口 作用 解析

命令基本格式

nslookup 目标主机地址 [DNS服务器地址]
centos 8显示结果
[root@sha ~]# nslookup www.baidu.com
Server:		8.8.8.8
Address:	8.8.8.8#53    // DNS解析服务器地址,端口 53

Non-authoritative answer:
www.baidu.com	canonical name = www.a.shifen.com.      //别名
Name:	www.a.shifen.com                 //百度真正的名字
Address: 112.80.248.76         // 百度服务器地址1
Name:	www.a.shifen.com
Address: 112.80.248.75         // 百度服务器地址2

Windows10 显示

在这里插入图片描述

2.5 : 配置dns 域名解析地址的3种方法

1. vi修改 /etc/resolv.conf      nameserver  域名服务器IP
[root@sha ~]# echo nameserver 114.114.114.114 >/etc/resolv.conf
[root@sha ~]# cat /etc/resolv.conf
nameserver 114.114.114.114

2.直接在网卡配置参数里修改
vi/etc/sysconfig/network-scripts/ifcfg-ens33    
DNS1=114.114.114.114
3.直接修改本地的hosts文件
[root@sha ~]# vi /etc/hosts

在这里插入图片描述

2.6 : dig 域名解析测试命令

dig命令的全称是“domain information groper”,它是一个用来灵活查询DNS的工具,它会打印出DNS域名服务器的回应,dig命令主要用来从DNS域名服务器查询主机地址信息。
dig命令与nslookup命令功能基本相同,但是dig命令灵活性好、易用、输出清晰。
语法格式: dig [参数] [IP]
在这里插入图片描述

root@sha ~]# dig www.baidu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el8 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60382
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.baidu.com.			IN	A

;; ANSWER SECTION:
www.baidu.com.		30	IN	CNAME	www.a.shifen.com.
www.a.shifen.com.	104	IN	A	112.80.248.76
www.a.shifen.com.	104	IN	A	112.80.248.75

;; Query time: 3 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN:702 09:52:55 EDT 2020
;; MSG SIZE  rcvd: 101

三:使用网络配置命令

3.1:设置网络参数的方式

3.1.1:临时配置:使用命令调整网络参数
临时修改,一般都是做维护的时候使用

简单,快速,可直接修改运行中的网络参数

一般只适合在调试网络的过程中使用

系统重启以后,所做的修改将会直接失效

3.1.2:固定设置:通过配置文件修改网络参数
修改各项网络参数的配置文件
适合对服务器设置固定参数时使用
需要重载网络服务或者重启以后才会生效

3.2:设置网络接口参数 ifconfig

设置网络接口的IP地址,子网掩码

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

[root@sha ~]# ifconfig ens33:0 192.168.200.10/24
[root@sha ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.60  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::129e:4791:ac9d:75d6  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:1a:0b:5b  txqueuelen 1000  (Ethernet)
        RX packets 10181  bytes 12069702 (11.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3127  bytes 259795 (253.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.200.10  netmask 255.255.255.0  broadcast 192.168.200.255
        ether 00:0c:29:1a:0b:5b  txqueuelen 1000  (Ethernet)
//临时新增加的逻辑接口地址,重启就失效,注意:当物理口DOWN掉之后,逻辑口也会随之消失
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 4  bytes 156 (156.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 156 (156.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

禁用或者重新激活网卡

ifconfig 网络接口 up
ifconfig 网络接口 down
例如
在这里插入图片描述
在这里插入图片描述

3.3:为网卡绑定虚拟接口

在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的IP地址,但是又不能够覆盖掉原本的IP地址而导致服务程序不可用。

此时可以为网卡绑定一个虚拟的网络接口,然后在位虚拟接口配置新的IP地址(相当于一个网卡配置多个IP地址)

设置虚拟网络接口的命令格式
ifconfig 接口名:序号 IP地址
[root@localhost ~]# ifconfig ens33:0 192.168.200.10/24

3.4:使用route命令设置路由记录

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

默认网关的IP地址应该与本机其中一个接口的IP地址在同一个网段内

3.4.1添加到指定网段的路由记录

route add -net 网段地址 gw IP地址
例如	
[root@localhost ~]# route		'原本的路由条目'
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

11.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 ens33
192.168.10.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
[root@localhost ~]# [root@sha ~]# route add -net 192.168.30.0/24 gw 192.168.200.10
添加静态路由,本机访问另一个网段192.168.30.0/24的数据都发给192.168.200.10'
[root@sha ~]# 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.30.0    sha             255.255.255.0   UG    0      0        0 ens33
192.168.100.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
192.168.200.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
[root@sha ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 ens33
192.168.30.0    192.168.200.10  255.255.255.0   UG    0      0        0 ens33
192.168.100.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
192.168.200.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

3.4.2 删除到指定网段的路由记录

route del -net 网段地址

例如
[root@sha ~]# route del -net 192.168.30.0/24
[root@sha ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 ens33
192.168.100.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
192.168.200.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

3.4.3 删除路由表中的默认网关记录

route del default gw IP地址 

[root@sha ~]# route del default gw 192.168.100.2    删除到192.168.100.2的默认网关记录
[root@sha ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.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
192.168.200.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

同一个主机的路由表中只应有一条默认网关记录,否则会导致主机的网络了解出现故障

四:修改网络配置文件

4.1:网络接口配置文件

/etc/sysconfig/network-scripts/目录下

文件名格式为“ifcfg-xxx”
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
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
..省略部分内容
BOOTPROTO="dhcp"		'设置网络接口的配置方式,值为 static 表示使用静态指定的IP地址,值为 dhcp 表示 通过dhcp的方式动态获取地址'
DEVICE="ens33"		'设置网络接口的名称'
ONBOOT="yes"		'设置网络接口是否在Linux系统启动时激活'
IPADDR="192.168.100.60"		'设置网络接口的IP地址'
NETMASK="255.255.255.0"		'设置网络接口的子网掩码'
GATEWAY="192.168.100.2"		'设置网络接口的默认网关地址'

4.2:启动,禁用网络接口配置

4.2.1 重启network网络服务

centos7下
[root@localhost ~]# systemctl restart network
    或者
[root@localhost ~]# service network restart

禁用,启用网络接口

[root@localhost ~]# ifdown ens33		'关闭网卡'
成功断开设备 'ens33'[root@localhost ~]# ifup ens33		'启用网卡'

在这里插入图片描述

centos8下
[root@sha system]# nmcli c reload   重启网络服务

4.3:主机名称配置文件

/etc/sysconfig/network文件 , centos6系统中再这

保存全局网络设置,主要包括主机名信息
/etc/hostname文件,centos7系统中在这

4.4:域名解析配置文件

/etc/resolv.conf文件

保存本机需要使用的DNS服务器的IP地址

对该文件所做的修改会立刻生效

Linux系统中最多可以指定3个(第三个以后将被忽略)不同的DNS服务器地址,优先使用第一个DNS服务器

[root@localhost ~]# vim /etc/resolv.conf
search localdomain ‘默认的搜索域(域名后缀),即,当访问主机localhost 时,相当于访问 localhost.localdomain’
nameserver 100.100.1.30
nameserver 100.100.100.30

4.5:本地主机映射文件

/etc/hosts文件

保存主机名与IP地址的映射记录

一般用来保存经常需要访问的主机的信息

hosts文件和DNS服务器的比较

默认情况下,系统首先从hosts文件查找解析记录

当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到在去向DNS服务器查询

hosts文件只对当前的主机有效

因为hosts文件只保存在本地

hosts文件可减少DNS查询过程,从而加快访问速度

在/etc/hosts文件中添加正确的映射记录(经常访问的一些网站),减少了DNS查询,提高了上网速度

[root@localhost ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
6.6.6.6	www.baidu.com  '这是新添加的,当访问网站www.baidu.com时,就会直接向IP地址211.168.31.80发送web请求,省略了

五 : centos8下配置网络命令nmcli 使用方法

因为CentOS 8 弃用network.service,采用NetworkManager(NM)为网卡启用命令。当然,CentOS 8 可以安装network.service作为网卡服务,但为了适应版本,此次还是得介绍nmcli命令的使用。
基于RHEL8/CentOS8的nmcli常用命令总结

# 查看ip(类似于ifconfig、ip addr)
nmcli
 
# 创建connection,配置静态ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual
 
# 创建connection,配置动态ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.method auto
 
# 修改ip(非交互式)
nmcli c modify ethX ipv4.addr '192.168.1.200/24'
nmcli c up ethX
 
# 修改ip(交互式)
nmcli c edit ethX
nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
Edit 'addresses' value: 192.168.1.200/24
Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
nmcli ipv4> save
nmcli ipv4> activate
nmcli ipv4> quit
 
# 启用connection(相当于ifup)
nmcli c up ethX
 
# 停止connection(相当于ifdown)
nmcli c down
 
# 删除connection(类似于ifdown并删除ifcfg)
nmcli c delete ethX
 
# 查看connection列表
nmcli c show
 
# 查看connection详细信息
nmcli c show ethX
 
# 重载所有ifcfg或route到connection(不会立即生效)
nmcli c reload
 
# 重载指定ifcfg或route到connection(不会立即生效)
nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX
nmcli c load /etc/sysconfig/network-scripts/route-ethX
 
# 立即生效connection,有3种方法
nmcli c up ethX
nmcli d reapply ethX
nmcli d connect ethX
 
# 查看device列表
nmcli d
 
# 查看所有device详细信息
nmcli d show
 
# 查看指定device的详细信息
nmcli d show ethX
 
# 激活网卡
nmcli d connect ethX
 
# 关闭无线网络(NM默认启用无线网络)
nmcli r all off
 
# 查看NM纳管状态
nmcli n
 
# 开启NM纳管
nmcli n on
 
# 关闭NM纳管(谨慎执行)
nmcli n off
 
# 监听事件
nmcli m
 
# 查看NM本身状态
nmcli
 
# 检测NM是否在线可用
nm-online
上述提及的ifcfg均指代/etc/sysconfig/network-scripts/ifcfg-ethX及/etc/sysconfig/network-scripts/route-ethX
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章