跟我一起学——linux网络配置

一、查看及测试网络

1.1查看网络配置

1.1.1ifconfig命令—查看网络接口地址

1.1.1.1查看所有网络接口信息

[root@localhost ~]# ifconfig

在这里插入图片描述
注:

lo 是表示主机的回坏地址IP地址固定为127.0.0.1,子网掩码为8位,表示本机
用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把
HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1
就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道

virbr0是一个虚拟的网络连接端口,默认为0号虚拟网络连接端口;一般在通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的(因为本人用的是centos镜像的虚拟机,所以会有这一行)

1.1.1.2查看指定的网络接口信息(不论该网络接口是否处于激活状态)

[root@localhost ~]# ifconfig 指定网卡

在这里插入图片描述

  • mtu:代表最大传输单元,它的单位是字节。在我们常用的以太网中,MTU一般是1500,而无线路由器默认一般是 1492。

    • 本地MTU值 > 网络MTU值 → 拆包,效率下降

    • 本地MTU值 < 网络MTU值 → 未发挥最大传输能力

    • 本地MTU值 < 网络MTU值 → 理想的本地MTU值

  • inet:表示网络接口的IP地址,如“192.168.59.102”;

  • netmask:表示网络接口的子网掩码,如“255.255.255.0”;

  • broadcast:表示网络接口所在网络的广播地址,如:“192.168.59.255”;

  • ether:表示网络接口的物理地址(MAC地址),如“00:0c:29:3e:22:fe:”

1)第一行:以太网卡的名字不是常见的eth0,变成了ens33。
其中en代表以太网卡
ens33代表PCI接口的物理位置为(0,3), 其中横座标代表bus,纵座标代表slot
UP:代表此网络接口为启用状态(down为关闭状态)
RUNNING:代表网卡设备已连接
MULTICAST:表示支持组播
MTU:为数据包最大传输单元
(2)第二行:网卡的IP地址、子网掩码、广播地址
(3)第三行:IP v6地址
(4)第四行:Ethernet(以太网)表示连接类型;
ether:表示为网卡的MAC地址
(5)第五行:接受数据包个数、大小统计信息
(6)第六行:异常接受包的个数、如丢包量、错误等
(7)第七行:发送数据包个数、大小统计信息
(8)第八行:发送包的个数、如丢包量、错误等

ifconfig -a #显示所有活动及非活动的连接

1.1.1.3 网络接口配置文件

添加一块网卡
[root@localhost ~]#ip a  查看网络接口号,我这里查到的是ens38
[root@localhost ~]# cd /etc/sysconfig/network-scripts/   
[root@localhost network-scripts]# cp ifcfg-ens33 ./ ifcfg-ens38
将ens33网卡文件拷贝一份到当前目录,修改参数
[root@localhost network-scripts]# vim ifcfg-ens38
[root@localhost network-scripts]# systemctl restart network  重启一下网卡就可以用了

具体步骤:
1.
在这里插入图片描述
2.
在这里插入图片描述
3.在这里插入图片描述

4.如何关闭 ens36网卡【有两种方式】
在这里插入图片描述
法二:
在这里插入图片描述
为网卡绑定虚拟接口:

ifconfig 网络接口:序号 IP地址
示例:ifconfig ens33:1 192.168.59.128/24  绑定接口
     ifconfig 查看,或者使用ip a

在这里插入图片描述
禁用或重新激活网卡

ifconfig 网络接口 up   激活
ifconfig 网络接口 down  禁用

1.1.1.4启用、禁用网络接口配置

​1.重启network网络服务

[root@localhost network-scripts]# systemctl restart network

2.禁用、启用网络接口

[root@localhost network-scripts]# ifdown ens33
[root@localhostnetwork-scripts]# ifup ens33

1.1.1.5修改网络配置文件

在这里插入图片描述

网络接口的配置文件默认位于/etc/sysconfig/network-script/ifcfg-ens33
文件名格式为 “ifcfg-XXX”,其中“XXX”是网络接口的名称。
例如,网卡 ens33 的配置文件是“ifcfg-ens33”, 回环接口 lo 的配置文件是“ifcfg-lo”。
TYPE=Ethernet    #设置网卡类型,“Ethernet”表示以太网。
BOOTPROTO=static    #设置网络接口的配置方式,值为“static”时表示使用静态指定的 IP 地址,为“dhcp”时表示通过 DHCP 的方式动态获取地址。
DEVICE=ens33   #设置网络接口的名称
NAME=ens33     #设置网络接口的名称
UUID=01f717ed-f7ac-4ac0-a209-c7c5889e3635   #设备ID
ONBOOT=yes     #设置网络接口是否在 Linux 操作系统启动时激活。
IPADDR=192.168.10.9  #设置网络接口的 IP 地址。 
NETMASK=255.255.255.0  #设置网络接口的子网掩码。
GATEWAY=192.168.10.1  #设置网络接口的默认网关地址
DNS1=8.8.8.8       #设置域名解析服务器
DNS2=114.114.114.114CentOS 7 操作系统中,当修改了网络接口的配置文件以后,若要使新的配置生效, 可以重新启动 network 服务或者重启主机
systemctl restart network 

注:建议关闭NetworkManager服务,否则有时启动network会报错
systemctl stop NetworkManager
systemctl disable NetworkManager

配置网络参数

两种方式:临时配置和永久配置

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

1.1.2hostname命令—查看主机名称

[root@localhost ~]# hostname //查看当前主机名称 [root@localhost ~]#
hostnamectl set-hostname 主机名称 //永久修改主机名称
[root@localhost ~]# vim /etc/hostname //设置完后需重启系统才生效

在这里插入图片描述
在这里插入图片描述

1.1.3route命令—查看路由条目

路由表:Linux 操作系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。
直接执行“route”命令可以查看当前主机中的路由表信息。

[root@localhost ~]# route 
或
[root@localhost ~]# route -n 可以将路由记录中的地址显示为数字形式
当目标网段为“default”时,表示此行是默认网关记录;当下一跳为“gateway”时,表示目标网段是与本机直接相连的。
但是,直接执行“route”命令无法直接看出默认网关地址

route -n      #查看路由,使用-n可以将路由记录中的地址显示为数字形式,这可以跳过解析主机名的过程,在路由表条目较多的情况下能够加快执行速度

在这里插入图片描述

Destination 列对应目标网段的地址
Gateway 列对应下一跳路由器的地址
Iface 列对应发送数据的网络接口

在这里插入图片描述

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

在这里插入图片描述

  • 添加、删除默认网关记录,需要注意的是,在同一个主机的路由表中只应有一条默认网关记录。若同时存在多条默认网关记录,则可能导致该主机的网络连接出现故障。
    添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类似,但指定目标网段时只需简单地使用“default”表示即可

在这里插入图片描述

1.1.4netstat命令—查看网络连接情况

格式:netstat [选项]
netstat命令 | 查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具

选项 作用
-a 显示当前主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n 以数字的形式显示相关的主机地址、端口等信息
-r 显示路由表信息
-l 显示处于监听状态的网络连接及端口信息
-t 查看TCP(传输控制协议)协议相关的信息
-u 显示UDP(用户数据报协议)协议相关的信息
-p 显示与网络连接相关联的进程号、进程名称信息(需要root权限)
用法:
①通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信息
②配合管道符grep过滤出特定的记录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.1.5 ss命令/lsof 命令— 获取socket(套接字)统计信息

ss [选项]                 #查看系统的网络连情况,获取socket统计信息,它可以显示和 netstat 命令类似的输出内容
lsof [选项]                   #查看打开服务进程的端口(TCP、UDP)       

但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。
ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效
ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。

  • 查看并发连接数ss和netstat对比
    在这里插入图片描述

为什么ss比netstat快:

netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多
选项 功能含义
-t tcp显示TCP协议的sockets
-u udp显示 UDP协议的sockets
-n numeric不解析服务的名称,如“22”端口不会显示成“ssh”
-l listening只显示处于监听状态的端口
-p processes显示监听端口的进程(Ubuntu 上需要sudo)
-a all对TCP协议来说,既包含监听的端口,也包含建立的连接
-r resolve把IP解释为域名,把端口号解释为协议名称
-V –version 显示软件的版本号

在这里插入图片描述

[root@localhost ~]# ss -o state 'established' | grep ssh 
 #-o选项可用于显示计时器信息。该信息向我们展示了诸如重新传输计时器值、已经发生的重新传输的数量以及已发送的keepalive探测的数量。
tcp    0      52     192.168.245.211:ssh                  192.168.245.1:64550                 timer:(on,234ms,0) // on 代表开启,234表示时间
监听是:22端口也就是ssh
Sport相当于一个过滤的,过滤出 端口小于500的;相当于grep

在这里插入图片描述

le是小于,lt是大于,eq:等于
在这里插入图片描述
在这里插入图片描述

1.2测试网络连接

1.2.1ping命令—测试网络连通性

[root@localhost ~]# ping [选项] 目标主机
1.[root@localhost ~]# ping 192.168.10.10 #最常用是后面跟ip地址
2.[root@localhost ~]# ping www.baidu.com #后面还可跟域名
在这里插入图片描述
3.[root@localhost ~]# ping -c 4 192.168.10.10 #-c表示指定ping的次数,ping 4次自动停
在这里插入图片描述
4.[root@localhost ~]# ping -c 10 -i 0.5 192.168.10.10 #-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。【默认是1秒一次】
在这里插入图片描述
5.[root@shengjie ~]# ping -w 5 www.baidu.com #表示ping的超时时间为5s,意思是只ping5秒,5秒后结束 【一共只执行五秒钟,超过五秒就结束了】
在这里插入图片描述

1.2.2traceroute命令—跟踪数据包的路由途径

跟踪数据包的路由途径:traceroute
若服务器上没有 traceroute 命令,可通过 yum 方式安装 traceroute 软件包
traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为“*

[root@localhost ~]# traceroute 目标主机

[root@localhost ~]# traceroute 192.168.245.201
traceroute to 192.168.245.201 (192.168.245.201), 30 hops max, 60 byte packets
 1  192.168.245.201 (192.168.245.201)  0.691 ms  0.594 ms  0.529 ms
可以看到这台主机和201这台机器中间没有经过路由,是直连或连着交换机的状态

在这里插入图片描述

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

1.2.3 nslookup命令—测试域名解析

[root@localhost ~]# nslookup  目标主机地址  [DNS服务器地址]                #测试DNS域名解析
ps:也可以用dig命令

在这里插入图片描述

Server:		114.114.114.114     #当前的上连DNS服务器
Address:	114.114.114.114#53   #当前的上连DNS服务器的IP地址和端口
#以下为 DNS 解析的反馈结果
Non-authoritative answer:
Name:	www.google.com      #解析的IP地址

在这里插入图片描述

1.2.4域名解析配置文件

配置文件位置:/etc/resolv.conf

[root@kyy ~]# cat /etc/resolv.conf 
#Generated by NetworkManager
nameserver 8.8.8.8
[root@kyy ~]# echo "DNS2=114.114.114.114" >> /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@kyy ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
会发现多了一行DNS2=114.114.114.114
[root@kyy ~]# systemctl restart network  重启网络服务
[root@kyy ~]# cat /etc/resolv.conf 
#Generated by NetworkManager
nameserver 8.8.8.8
nameserver 114.114.114.114

在这里插入图片描述
在这里插入图片描述

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

1.2.5本地主机映射文件

文件位置/etc/hosts

[root@kgc ~]# vim /etc/hosts

在这里插入图片描述

打开虚拟机之后:
在这里插入图片描述
在这里插入图片描述
喜欢的小朋友们,记得双击点个赞哦!
关注小编不会让你们失望的哦!

猜你喜欢

转载自blog.csdn.net/weixin_59663288/article/details/124107422