当前位置: 首页 > news >正文

Liunx网络配置

文章目录

  • 一、查看网络配置
    • 永久修改网卡
    • 临时修改网卡
  • 二、查看主机名称 hostname
  • 三、查看路由表条目 route
  • 四、查看网络连接情况netstat
  • 五、获取socket统计信息ss
  • 六、查看当前系统中打开的文件和进程的工具lsof
  • 七、测试网络连通性ping
  • 八、跟踪数据包 traceroute
  • 九、域名解析 nslookup
  • 十、域名解析配置文件
  • 十一、本地主机映射文件

一、查看网络配置

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

ifconfig
ifconfig -a 显示所有网络接口信息

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。ens33:第一块以太网卡的名称。“ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽编号。
lo:“回环”网络接口,“lo”是“loopback”的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其 IP 地址默认是“127.0.0.1”,子网掩码为8位,表示本机。一般用来测试。
virbr0:是一个虚拟的网络连接端口,默认为0号虚拟网络连接端口;一般在通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的(因为本人用的是centos镜像的虚拟机,所以会有这一行)

查看指定网络接口信息

ifconfig ens33

在这里插入图片描述

ens33:第一块网卡的名称(33是网卡编号)
inet:IP地址
netmask:子网掩码
broadcast:广播地址
inet6:ipv6地址
第四行:Ethernet(以太网)表示连接类型;
ether:表示为网卡的MAC地址
第五行:接受数据包个数、大小统计信息
第六行:异常接受包的个数、如丢包量、错误等
第七行:发送数据包个数、大小统计信息
第八行:发送包的个数、如丢包量、错误等

永久修改网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33 #在这个文件中进行配置
systemctl restart network

在这里插入图片描述

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

注:建议关闭NetworkManager服务,否则有时启动network会报错(NetworkManager图形界面的网络配置文件)
systemctl stop NetworkManager
systemctl disable NetworkManager

临时修改网卡

1.新添加一块网卡,用于实验
在这里插入图片描述
2.ip -a 查看到新网卡为ens36,复制ens33的内容创建一个新网卡ens36

cd /etc/sysconfig/network-scripts/
ip a
cp ifcfg-ens33 ifcfg-ens36

在这里插入图片描述
3.把ens36里面的配置作出修改

vim /ifcfg-ens36
NAME=ens36
DEVICE=ens36
IPADDR=192.168.44.11 #ip不能一样

在这里插入图片描述
4.对新建网卡进行设置

ifconfig ens36 192.168.44.11/24 #设置临时IP
ifdown ens36 #关闭ens36网卡
ifup ens36 #开启ens36网卡
ifconfig ens36:1 192.168.44.12 #1 是ens36的虚拟接口
ifconfig ens36:1 down #关闭虚拟接口,虚拟接口无法主动开启,只能重新配置

在这里插入图片描述

二、查看主机名称 hostname

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

临时修改hostname

hostname yy
bash #刷新主机

在这里插入图片描述
永久设置主机名

hostnamectl set-hostname root

在这里插入图片描述

三、查看路由表条目 route

route 查看主机中路由表信息

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

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

在这里插入图片描述
Destination 列对应目标网段的地址

Gateway 列对应下一跳路由器的地址

Iface 列对应发送数据的网络接口

ip route #查看路由配置

在这里插入图片描述

route add -net 192.168.200.0/24 gw 192.168.44.10 #临时添加静态路由
-net:指定目标网段的地址
gw:指定下一跳路由器的 IP 地址
dev: 为路由指定的输出接口
route del -net 192.168.200.0/24 # 删除静态路由条目

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

四、查看网络连接情况netstat

查看系统的网络连接状态、路由表、接口统计等信息

常用参数

netstat命令查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具
-n以数字的形式显示相关的主机地址、端口等信息
-r显示路由表信息
-a显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-l显示处g)于监听(Listenin状态的网络连接及端口信息。
-t查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。
-u显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。
-p显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限

在这里插入图片描述
Proto显示连接使用的协议,

RefCnt表示连接到本套接口上的进程数量,

Types显示套接口的类型,

State显示套接口当前的状态,

Path表示连接到套接口的其它进程使用的路径名

netstat -anpt | grep sshd #显示所有 TCP 连接,以及对应的进程信息

在这里插入图片描述

五、获取socket统计信息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 解释为域名,把端口号解释为协议名称。

在这里插入图片描述
Netid:
网络标识符,unix 或 u_str表示本地通信。

State:
连接状态。ESTAB 表示已建立的连接,即两个进程正在通过套接字通信。

Recv-Q:
接收队列,显示接收到但尚未被读取的数据量。

Send-Q:
发送队列,显示已发送但尚未确认的数据量。

Local Address:Port:
本地地址和端口,*代表本地。

Peer Address:Port:
对端地址和端口,*代表本地。

ss -tn|grep -w 22 #显示tcp协议中与端口 22 相关的信息

在这里插入图片描述

ss -t state established #显示所有当前处于已建立状态的 TCP 连接

在这里插入图片描述

ss -tnl sport le 500 #显示所有本地端口号小于或等于 500 且处于监听状态的 TCP

在这里插入图片描述

六、查看当前系统中打开的文件和进程的工具lsof

lsof #列出当前系统中所有进程打开的文件和文件描述符。

lsof -p #根据PID列出指定进程的文件

在这里插入图片描述

lsof -u #列出指定用户打开的文件:

将  替换为你希望查看的用户名,这会列出该用户所有进程打开的文件和资源。

lsof /path/to/file #列出当前打开该文件的进程

将 /path/to/file 替换为你希望查看的文件路径,这会列出当前打开该文件的进程。

lsof -i #列出所有当前系统上的网络连接信息,包括TCP、UDP等

在这里插入图片描述

lsof -U #列出Unix域套接字

在这里插入图片描述

七、测试网络连通性ping

ping 192.168.40.20

在这里插入图片描述
2.

ping -c 2 192.168.40.20 # -c代表ping的次数

在这里插入图片描述
3.

ping -i 0.5 192.168.40.20 -i秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

在这里插入图片描述
4.

-w表示ping的超时时间为5s,意思是只ping5秒,5秒后结束

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

八、跟踪数据包 traceroute

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

traceroute 192.168.44.20

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

九、域名解析 nslookup

1.测试DNS域名解析
在这里插入图片描述
Server: 8.8.8.8 #当前的上连DNS服务器
Address: 8.8.8.8#53 #当前的上连DNS服务器的IP地址和端口
Non-authoritative answer: #以下为 DNS 解析的反馈结果
Name: www.google.com
Address: 199.59.148.96 #解析的IP地址

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

十、域名解析配置文件

vim /etc/resolv.conf #进入域名解析配置文件

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

十一、本地主机映射文件

vim /etc/hosts

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

若在/etc/hosts 文件中添加“192.168.233.9 www.lichen.com”的映射记录,则当访问网站 www.baidu.com 时,将会直接向 IP 地址 192.168.223.9www.lichen.com 发送 Web 请求。

hosts文件和DNS服务器的比较

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

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

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

相关文章:

  • Sqlmap中文使用手册 - 各个参数介绍(持续更新)
  • 每日两题 / 20. 有效的括号 155. 最小栈(LeetCode热题100)
  • 实验五 数据库完整性约束的实现与验证
  • linux守护进程生命周期管理-supervisord
  • ABAP开发:动态Open SQL编程案例介绍
  • elasticsearch 8.14.1 和 Spring Data elasticsearch 实例演示
  • React 中 useState 和 useReducer 的联系和区别
  • spring security + vue,登录功能
  • 2024鲲鹏昇腾创新大赛集训营Ascend C算子学习笔记
  • docker k8s
  • CentOS 7 内存占用过大导致 OOM Killer 杀掉了 Java 进程
  • AI是在帮助开发者还是取代他们?
  • 2024.06.30 刷题日记
  • 解决 VM 虚拟机网络连接异常导致的 Finalshell 无法连接及 ifconfig 中 ens33 丢失问题
  • 基于C++实现的EventLoop与事件驱动编程
  • JavaScript 如何正确处理 Unicode 编码问题!
  • @jsonView过滤属性
  • 08.Android之View事件问题
  • CentOS7简单部署NFS
  • flask接收请求并推入栈
  • js中的正则表达式入门
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • redis学习笔记(三):列表、集合、有序集合
  • 欢迎参加第二届中国游戏开发者大会
  • 区块链共识机制优缺点对比都是什么
  • 通信类
  • 学习Vue.js的五个小例子
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​​​【收录 Hello 算法】9.4 小结
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • # Apache SeaTunnel 究竟是什么?
  • #define用法
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #微信小程序:微信小程序常见的配置传旨
  • (06)金属布线——为半导体注入生命的连接
  • (C++17) std算法之执行策略 execution
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (第61天)多租户架构(CDB/PDB)
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (三)uboot源码分析
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)http协议
  • (转)创业的注意事项
  • (转)大道至简,职场上做人做事做管理
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .Net Winform开发笔记(一)
  • .NET 使用 XPath 来读写 XML 文件