云计算【第一阶段(26)】Linux网络设置

一、查看网络配置

1.查看网络接口信息ifconfig

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

2.ifconfig命令

  • 查看指定网络接口信息

ifconfig    网络接口

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

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

4. ip  a命令是 iproute2 套件的一部分,该套件提供了一套强大的工具来管理路由、网络设备、接口和隧道。

  •  ens33:第一块以太网卡的名称。“ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽编号。
  • lo:“回环”网络接口,“lo”是“loopback”的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其 IP 地址默认是“127.0.0.1”。回环地址通常仅用于对本机的网络测试

注意:若采用 minini centos 安装的系统,默认是没有 ifconfig 命令的,需要先通过yum 方式安装 net-tools软件包,才有 ifconfig 命令

5.virbr0

  • virbr0 是一个虚拟的桥接网络接口,由虚拟化软件(如libvirt)自动创建和管理。它作为虚拟机网络中的虚拟交换机,允许虚拟机之间以及虚拟机与宿主机(或外部网络)之间的通信。
  • 默认情况下,virbr0 可能会配置为NAT(网络地址转换)模式,这意味着虚拟机通过宿主机连接到外部网络时,它们的IP地址会被转换成宿主机的IP地址(或某个指定的地址范围),从而隐藏了虚拟机的真实IP地址。

二、修改网络配置文件

网络接口的配置文件默认位于/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.114

在 CentOS 7 操作系统中,当修改了网络接口的配置文件以后,若要使新的配置生效, 可以重新启动 network 服务或者重启主机

systemctl  restart   network

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

systemctl stop NetworkManager        #停止
systemctl disable NetworkManager   #开机自动关闭

三、使用网络配置命令

3.1、网卡配置

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

有一个新的网卡设备 ens37
如果只是禁用、启用某一个网络 接口(而不是所有接口),可分别使用两个接口控制脚本  

ifconfig ens37 down / up   或   ifup/ifdown ens37

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

ifconfig ens37:0 192.168.10.20 netmask 255.255.255.0   #临时配置网卡的ip地址
ifconfig ens37:0 192.168.10.20/24   #当不指定子网掩码时,将使用 IP 地址所在分类的默认子网掩码

3.2、主机名设置

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

临时修改:hostname   yc666


永久修改
hostnamectl set-hostname  yc777       或者vim /etc/hostname

hostname -i

因为hosts文件没有对应的hostname解析IP地址,显示一堆乱七八糟的玩意儿

3.3、路由设置

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

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

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

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

ip route show或者  ip route   #查看路由配置

 

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

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

route del 操作可以删除路由记录

route del   -net 192.168.3.0/24 


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


route add default gw 网关ip
route del default gw 网关ip/route del default

3.4、natstat命名

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

选项描述
-n以数字形式显示地址和端口号,不进行名称解析。
-r显示路由表信息。
-a显示所有选项,默认不显示LISTEN相关。
-l仅显示监听服务状态。
-t仅显示TCP连接。
-u仅显示UDP连接。
-p显示进程标识符和进程名称,需要root权限。

用法:①通常使用“  -anpt ”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信息
②配合管道符grep过滤出特定的记录

netstat -anpt | grep sshd

netstat -lnpt | grep sshd

[root@localhost ~]# netstat -lnpu | grep ntp
udp        0      0 192.168.122.1:123       0.0.0.0:*                           65421/ntpd          
udp        0      0 192.168.245.211:123     0.0.0.0:*                           65421/ntpd          
udp        0      0 127.0.0.1:123           0.0.0.0:*                           65421/ntpd          
udp        0      0 0.0.0.0:123             0.0.0.0:*                           65421/ntpd          
netstat -rn

 3.5、ss 命令

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

3.5.1、实验1

比较速度

time ss

time netstat -an

查看并发连接数ss和netstat对比

为什么ss比netstat快:

netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多

选项:
-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 解释为域名,把端口号解释为协议名称。

-o选项可用于显示计时器信息

3.5.2、一些案例

ss -tn | grep -w 22
 

ss -o state 'established' | grep ssh   #-o选项可用于显示计时器信息。该信息向我们展示了诸如重新传输计时器值、已经发生的重新传输的数量以及已发送的keepalive探测的数量

  • state 'established' 指定只显示状态为 established 的连接。established 状态表示连接已经成功建立,数据可以在两个方向上自由流动。


 

ss -t state established  

套接字的其他状态,如 established, syn-sentsyn-recvfin-wait-1fin-wait-2time-waitclosedclosed-waitlast-ack监听和关闭 等,这些状态代表了TCP连接的不同阶段。

         

ss -tnl sport le 500

port le 500 部分指定了源端口(source port,虽然在监听上下文中通常指的是端口号本身,因为监听套接字不区分源端口和目标端口)小于或等于(le)500的过滤条件。

四、测试网络连接

4.1、ping

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


若看到“Destination Host Unreachable”的反馈信息, 则表示目的主机不可达,可能目标地址不存在或者主机已经关闭;
若看到“Network is unreachable”的反馈信息,则表示没有可用的路由记录(如默认网关),无法达到目标主机 所在的网络。
当目标主机有严格的防火墙限制时,或者当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,可能收到 “Request timeout”的反馈结果

4.1.1、案列

[root@localhost ~]# ping 192.168.10.10   #最常用是后面跟ip地址


[root@localhost ~]# ping www.baidu.com    #后面还可跟域名


[root@localhost ~]# ping -c 2  192.168.10.10   #-c表示指定ping的次数

[root@localhost ~]# ping -c 10 -i 0.5 192.168.10.10   #-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。


[root@shengjie ~]# ping -w 5 www.baidu.com     #-w表示ping的超时时间为5s,意思是只ping5秒,5秒后结束

4.2、traceroute

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


traceroute 192.168.10.10


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

4.3、域名解析

nslookup

下载 yum install -y bind-utils

nslookup www.baidu.com

#以下为 DNS 解析的反馈结果

4.3.1、域名解析配置文件

bind-utils 安装包


vi /etc/resolv.conf 


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

指定了两个DNS服务器:

  1. 114.114.114.114:这是一个由中国电信和清华大学等维护的公共DNS服务器,被很多中国用户用作替代默认DNS服务器的选择,因为它在国内访问速度较快,且提供了一定的安全过滤功能。

  2. 8.8.8.8:这是Google提供的公共DNS服务器,全球范围内广泛使用,以其解析速度快和安全性高著称。

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

4.3.2、本地主机映射文件

/etc/hosts 文件中记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向 DNS 服务器查询。
若在/etc/hosts 文件中添加“119.75.218.70 www.baidu.com”的映射记录,则当访问网站 www.baidu.com 时,将会直接向 IP 地址 119.75.218.70 发送 Web 请求,省略了向 DNS。

Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具,系统默认安装 

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


[root@localhost ~]# dig www.baidu.com   #后跟域名直接查询

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TensorFlow安装CPU版本和GPU版本

文章目录 前言一、TensorFlow安装CPU版本1.新建虚拟环境2.激活虚拟环境3.下载tensorflow4.验证是否下载成功 二、TensorFlow安装GPU版本1.新建虚拟环境2.激活虚拟环境3.安装tensorflow-gpu4.验证是否下载成功 前言 下载的Anaconda是Anaconda3-2024.02-1-Windows-x86_64版本 一…

latex 报错解决①aligned ②begin document

1. 是aligned,不是align!! 网上写的公式大多是这样的 \begin{equation}\label{eq:2} \begin{align} Q\left( {s,t} \right) a{s^2} 2bst c{t^2} 2ds 2et f \end{align} \end{equation}但是报错: ! Package amsmath Erro…

大语言模型测评工具-ChatHub和ChatAll

背景 现在国内外拥有上百个大语言模型,在AI业务中,我们需要在其中选择一个合适业务模型,就需要对这些模型进行测试。手工去测试这么多模型效率一定不高,今天就介绍两个提高测评模型效率的工具 ChatHub和ChatAll。 介绍 ChatHub…

k8s-第十节-Ingress

Ingress 介绍 Ingress 为外部访问集群提供了一个 统一 入口,避免了对外暴露集群端口;功能类似 Nginx,可以根据域名、路径把请求转发到不同的 Service。可以配置 https 跟 LoadBalancer 有什么区别? LoadBalancer 需要对外暴露…

《侃侃而谈 · 为什么动笔》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻一周,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

Greenplum(一)【MPP 架构 数据类型】

1、Greenplum 入门 Greenplum 是基于 MPP 架构的一款分布式分析型数据库,具备关系型数据库的特点,因为它处理的是结构化的数据,同时具备大数据分布式的特点。 1.1、MPP 架构 MPP(Massively Parallel Processing)架构是…

同方威视受邀盛装亮相2024长三角快递物流展(杭州)助力行业物畅其流

同方威视技术股份有限公司携安全检测产品和综合解决方案,盛装亮相2024长三角快递物流展(杭州) 展位号:3C馆A07-1 时间:2024年7月8-10日 地址:杭州国际博览中心(浙江省杭州市萧山区奔竞大道35…

实现前端项目自动构建和部署(Gitee Go)

前言 相信所有的前端开发者都希望将自己的代码部署在服务器上让所有人都能访问到,但是却不知道如何进行部署。其实要是实现代码上线非常简单,我们只需要将build之后的代码上传到服务器,然后通过Nginx起一个服务指向我们build后的代码就可以了…

解析MySQL核心技术:视图的实用指南与实践案例

在数据库管理中,MySQL视图(View)是一种强大的功能,利用它可以简化复杂查询、提高数据安全性以及增强代码的可维护性。本篇文章将详细介绍MySQL视图的相关知识,包括视图的创建、修改、删除、使用场景以及常见的最佳实践…

WAIC热点聚焦|具身智能简介:AI新浪潮的领跑者

WAIC热点聚焦|具身智能简介:AI新浪潮的领跑者 引言 随着"具身智能"(Embodied Intelligence)的火热讨论,2024年标志着人机交互新时代的开启。在大模型技术的推动下,机器人响应语音指令成为现实,…

如何自动筛选螺丝不良品?

四角螺丝是一种特殊设计的螺丝,其螺纹头部呈四个平行的角状结构,与传统的六角螺丝相比具有独特的外观和功能。这种设计使得四角螺丝在安装和拆卸时更容易使用,并提供了更好的扭矩传递效率。四角螺丝头部呈现四个平行的角,与常见的…

系统级应用锁的实现方法

前言: 应用锁是一种常见的需求, 下面提供一个个人认为还比较完美的解决方法。本篇从两个方面详述应用锁的实现方法。 一. 流程图 二. 实现细节 一.流程图 二. 实现效果及细节

RocketMQ复杂过滤尝试

需求 消息实体,根据实体中的一个字段,决定推给多个业务系统。 例:一个点位信息Bean,这个点位信息,设备、能源、安全都有用,那么点位信息表中有适用模块标识。 点位新增 需要通知所有勾选业务系统 tag -…

摄像机反求跟踪软件/插件 Mocha Pro 2024 v11.0.2 CE Win

AE/PR/OFX/达芬奇/AVX插件 | 摄像机反求跟踪软件Mocha Pro 2024 v11.0.2 CE Win-PR模板网 Mocha Pro 软件(插件),用于平面运动跟踪、3D跟踪、动态观察、对象移除、图像稳定和PowerMesh有机扭曲跟踪等功能。整合了SynthEyes核心的3D跟踪算法,能够快速自动…

Pluck-CMS-Pluck-4.7.16 远程代码执行漏洞(CVE-2022-26965)

前言 CVE-2022-26965 是一个影响 Pluck CMS 4.7.16 版本的远程代码执行(RCE)漏洞。该漏洞允许经过身份验证的用户通过 /admin.php?actionthemeinstall 的主题上传功能执行任意代码。 漏洞细节 在 Pluck CMS 的管理界面中,管理员可以上传主…

【数据结构】(C语言):堆(二叉树的应用)

堆: 此处堆为二叉树的应用,不是计算机中用于管理动态内存的堆。形状是完全二叉树。堆分两种:最大堆,最小堆。最大堆:每个节点比子树所有节点的数值都大,根节点为最大值。最小堆:每个节点比子树…

千万不要用国产BI,不然你会发现它性价比奇高——以奥威BI软件为例

在信息技术日新月异的今天,企业对于商业智能(BI)软件的选择往往陷入了一个误区:盲目追求国际品牌,却忽视了身边那些性价比极高的国产精品。如果你不慎踏入了“千万不要用国产BI”的陷阱,那么奥威BI软件将是…

PHP家政服务预约单开版微信小程序系统源码

🏠 —— 便捷生活,从指尖开始💪 🌈【开篇:家政新风尚,一键触达】 在忙碌的生活节奏中,你是否渴望拥有一个温馨、整洁的家,却又苦于找不到合适的家政服务?现在&#xff…

C++_03

1、构造函数 1.1 什么是构造函数 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。 每次构造的是构造成员变量的初始化值,内存空间等。 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不…

对标GPT-4o!不锁区、支持手机、免费使用,Moshi来啦!

7月4日凌晨,法国知名开源AI研究实验室Kyutai在官网发布了,具备看、听、说多模态大模型——Moshi。 Moshi功能与OpenAI在5月14日展示的最新模型GPT-4o差不多,可以听取人的语音提问后进行实时推理回答内容。但GPT-4o的语音模式要在秋天才能全面…