Linux网络配置(Linux Network Configuration)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老
导航剑指大厂系列:全面总结 运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

目录

一、查看网络配置(ifconfig、hostname、route、ss、netstat、lsof)

1.1 ifconfig:查看网络接口信息(网卡)

1.2 hostname:查看主机名称

1.2.1 主机名作用

1.2.2 相关命令

1.3 route:查看路由表条目

1.4 ss

1.4.1 简介

1.4.2 参数及含义

1.4.3 示例

1.5 netstat(查看当前操作系统的网络连接状态、路由表、接口统计等信息)

1.5.1 参数

1.5.2 示例

1.6 lsof(查看当前系统中打开的文件和进程的工具)

1.7 补充:time(测量 Linux 程序执行时间)

二、测试网络连接(ping、tracerute、nslookup)

2.1 ping:测试网络连通性

2.2 traceroute(跟踪数据包的路由途径)

2.2.1 简述

2.2.2 特点

2.3 nslookup

三、设置网络地址参数(临时、永久)3.1 临时配置3.2 永久配置

一、查看网络配置(ifconfig、hostname、route、ss、netstat、lsof)

1.1 ifconfig:查看网络接口信息(网卡)

  • ens33:第一块以太网卡的名称
  • “ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网
  • “s”表示热插拔插槽上的设备(hot-plug Slot)
  • 数字“33”表示插槽编号
  • inet 192.17.20.68————ip地址
  • netmask 255.255.255.0————子网掩码
  • broadcast 192.17.20.255————广播地址
  • ether 00:0c:29:5e:2c:85————mac地址

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

ifconfig ens33:只查看网卡 ens33 的配置信息

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

注意:

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

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

1.2 hostname:查看主机名称

1.2.1 主机名作用

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

1.2.2 相关命令

查看主机名

hostname

临时修改主机名(重启后失效):

hostname 666

永久修改主机名(永久有效):

hostnamectl set-hostname 

vim /etc/hostname

查看本主机ip

1.3 route:查看路由表条目

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

  • route:可以查看当前主机中的路由表信息(无法直接看出默认网关地址)

当目标网段为“default”时,表示此行是默认网关记录

当下一跳为“gateway”时,表示目标网段是与本机直接相连的

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

Destination是目的网络地址

Genmask是子网掩码

Gateway是下一跳地址

flags中作用表示

  • U:该路由可以使用。
  • G:该路由是到一个网关(路由器)。如果没有设置该标志,说明目的地是直接相连的。标志G是非常重要的,因为由它区分了间接路由和直接路由(对于直接路由来说是不设置标志G的)。其区别在于,发往直接路由的分组中不但具有指明目的端的I P地址,还具有其链路层地址。当分组被发往一个间接路由时,ip地址指明的是最终的目的地,但是链路层地址指明的是网关(即下一站路由器)。在这个路由表例子中,有一个间接路由(设置了标志G),因此采用这一项路由的分组其ip地址是最终的目的地(140.252.13.65),但是其链路层地址必须对应于路由器140.252.13.35。
  • H:该路由是到一个主机,也就是说,目的地址是一个完整的主机地址。没有设置H标志说明目的地址是一个网络地址(主机号部分为0)。当为某个目的IP地址搜索路由表时,主机地址项必须与目的地址完全匹配,而网络地址项只需要匹配目的地址的网络号和子网号就可以了。
  • D:该路由是由重定向报文创建的。
  • M:该路由已被重定向报文修改。

Iface是发送接口

  • ip route show=ip route:查看路由配置
  • route add -net …… gw ……表示可以通过某网关到某网段的网络
  • route del -net 192.168.3.0/24 表示删除某网段的网络


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

添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类似,但指定目标网段时只需简单地使用“default”表示即可

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

1.4 ss

1.4.1 简介
  • 查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效
  • ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效
  • ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装
     
  • 1.4.2 参数及含义

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

1.4.3 示例

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

1.5 netstat(查看当前操作系统的网络连接状态、路由表、接口统计等信息)

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

用法:

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

②配合管道符grep过滤出特定的记录

1.5.2 示例

1.6 lsof(查看当前系统中打开的文件和进程的工具)

1、列出所有打开的文件:lsof

2、列出指定进程的打开文件:lsof -p <PID>

3、列出指定用户打开的文件:lsof -u <username>

4、列出指定文件的打开进程:lsof /path/to/file(将 /path/to/file 替换为你希望查看的文件路径,这会列出当前打开该文件的进程)

5、列出网络连接:lsof -i

6、列出Unix域套接字:lsof -U

补充:

-c <command>: 指定进程名或命令的名称,列出该命令打开的所有文件。

-t: 仅列出进程ID(PID),而不显示其他信息

-i [protocol:][@hostname|hostaddr][:service|port]: 可以根据网络连接的具体条件进行过滤查看

-n: 不解析主机名,加快显示速度

注意事项

  • lsof 命令通常需要 root 权限才能显示所有进程的信息,尤其是对于其他用户的进程和系统级资源
  • lsof 的输出结果可以非常庞大和详细,特别是在系统负载较高或者进程数众多的情况下,建议根据需要结合适当的选项和过滤条件使用
  • lsof 是系统管理员和开发人员调试和监视系统的有用工具,能够帮助定位和解决文件打开问题、网络连接问题以及资源占用情况等

1.7 补充:time(测量 Linux 程序执行时间)

  • real:从进程 ls 开始执行到完成所耗费的 CPU 总时间。该时间包括 ls 进程执行时实际使用              的CPU 时间,ls 进程耗费在阻塞上的时间(如等待完成 I/O 操作)和其他进程所耗费              的时间(Linux 是多进程系统,ls 在执行过程中,可能会有别的进程抢占 CPU)
  • user:进程 ls 执行用户态代码所耗费的 CPU 时间。该时间仅指 ls 进程执行时实际使用的                   CPU 时间,而不包括其他进程所使用的时间和本进程阻塞的时间
  • sys:进程 ls 在内核态运行所耗费的 CPU 时间,即执行内核系统调用所耗费的 CPU 时间

注:什么是用户态和内核态

简单来说内核态就是操作系统运行线程,用户态就是线程执行用户自己的程序

用户态:

  • 不能直接使用系统资源,也不能改变 CPU 的工作状态,并且只能访问这个用户程序自己的存储空间

内核态:

  • 系统中既有操作系统的程序,也有普通用户程序。为了安全性和稳定性,操作系统的程序不能随便访问,这就是内核态。即需要执行操作系统的程序就必须转换到内核态才能执行
  • 内核态可以使用计算机所有的硬件资源

二、测试网络连接(ping、tracerute、nslookup)

2.1 ping:测试网络连通性

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

-c表示指定ping的次数:

-i表示设定间隔几秒送一个网络封包给一台机器

-w表示超过多少秒结束ping

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

2.2 traceroute(跟踪数据包的路由途径)

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


可以看到这台主机和201这台机器中间没有经过路由,是直连或连着交换机的状态

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

2.3 nslookup

软件包的名字就可以使用 yum install -y bind-utils

三、设置网络地址参数(临时、永久)

3.1 临时配置

定义:通过命令行直接修改当前正在使用的网络地址,修改后立即可以生效。 这种方式操作简单快速、执行效率高,一般在调试网络的过程中使用。但由于所做 的修改并没有固定地存放在静态的文件中,因此当重启 network 服务或重启主机后 将会失效

临时配置网卡的ip地址

ifconfig ens37:0 192.168.10.20 netmask 255.255.255.0

ifconfig ens37:0 192.168.10.20/24  

3.2 永久配置

定义:通过配置文件来存放固定的各种网络地址,需要重启 network 服务或重 启主机后才会生效。这种方式操作上相对要复杂一些,但相当于“永久配置”,一般 在需要为服务器设置固定的网络地址时使用
永久配置网卡的ip地址

、TYPE=Ethernet                                        设置网卡类型,“Ethernet”表示以太网

BOOTPROTO=static                                设置网络接口的配置方式,值为“static”时表示使用静态                                                                      指定的 IP 地址,为“dhcp”时表示通过 DHCP 的方式动                                                                      态获取地址

DEVICE=ens33                                         设置网络接口的名称

NAME=ens33                                            设置网络接口的名称

UUID=……                                                 设备ID
ONBOOT=yes                                            设置网络接口是否在 Linux 操作系统启动时激活。
IPADDR=192.17.20.68                               设置网络接口的 IP 地址。 
NETMASK=255.255.255.0                         设置网络接口的子网掩码。
GATEWAY=192.17.20.2                             设置网络接口的默认网关地址
DNS1=8.8.8.8                                             设置域名解析服务器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux运维老纪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值