Linux网络网卡配置相关知识记录

2023-11-19

1、网卡配置文件说明

网卡配置文件位于 `/etc/sysconfig/network-scripts` 目录下,一块网卡对应一个网卡配置文件,网卡文件里的配置内容如下:

DEVICE=eth0   				# 定义该网卡的识别名称
NAME=ens0     				# 网卡物理设备名称
TYPE=Ethernet    			# 网卡类型:为以太网
PROXY_METHOD=none    		# 代理方式:关闭状态
BROWSER_ONLY=no      		# 只是浏览器:否
BOOTPROTO=dhcp				# 设置网卡获得ip地址的方式,可填的选项为static(静态地址协议)、dhcp(动态地址协议)、bootp(bootp协议)、none(不使用启动地址协议)
DEFROUTE=yes        		# 默认路由:是, 不明白的可以百度关键词 `默认路由`
ONBOOT=no 					# 系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备 
IPADDR=192.168.103.203   	# 静态方式指定网卡的IP地址
NETMASK=255.255.255.0  		# 定义该网卡的子网掩码
PREFIX=24             		# 子网 24就是255.255.255.0
GATEWAY=192.168.103.1    	# 设置网络的默认网关  
DNS1=114.114.114.114        # 指定主 DNS 服务器地址(国内移动、电信和联通通用的DNS)
DNS2=8.8.8.8 				# 指定备 DNS 服务器地址(GOOGLE公司提供的DNS,全球通用)
HWADDR=78:2B:CB:57:28:E5  	# 该网卡的 MAC 地址
BROADCAST=192.168.1.255  	# 网卡广播地址
UUID=8c75c2ba-d363-46d7-9a17-6719934267b7   # 通用唯一识别码,没事不要动它,否则你会后悔的。。
DEVICE=ens34   				# 网卡设备名称, 必须和 `NAME` 值一样
NM_CONTROLLED=yes  			# 是否由Network Manager控制该网络接口。修改保存后立即生效,无需重启 ,建议设为no
USERCTL=no  				# 是否允许普通用户启动或者停止该网卡
PEERDNS=yes  				# 本地dns设置将以网卡中的dns设置为主,并向/etc/resolv.conf中写入网卡中配置的dns
IPV4_FAILURE_FATAL=no     	# 是不开启IPV4致命错误检测:否
IPV6INIT=yes         		# IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6]
IPV6_AUTOCONF=yes    		# IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6]
IPV6_DEFROUTE=yes     		# IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6]
IPV6_FAILURE_FATAL=no     	# 是不开启IPV6致命错误检测:否
IPV6_ADDR_GEN_MODE=stable-privacy   # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略]

修改完之后需要 `service network restart` 重启网络 网卡才能生效

2、使用 ifconfig 配置网卡

ifconfig 直接将网卡的地址信息写入到系统内核中,因而,它所设置的值能够立即被系统获悉和使用。可以利用它来设置上述地址信息:

# 打开网络设备
ifconfig eth0 up

# 为该网卡添加地址信息
ifconfig eth0 192.168.1.6 netmask 255.255.255.0

# 查看网络设备状况
ifconfig
......
eth0 Link encap:Ethernet HWaddr 52:54:AB:28:EE:37
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
......(以下是系统自动生成的信息,在此省略)

# 关闭网络设备
ifconfig eth0 down

3、配置 DNS 地址

3.1、编辑 /etc/hosts 文件,在空白处输入:
# ip地址 域名,例:
220.181.57.217 baidu.com www.baidu.com
3.2、编辑 DNS 配置文件

vi /etc/resolv.conf 文件,空白处输入:

nameserver 8.8.8.8              # google域名服务器
nameserver 114.114.114.114      # 国内域名服务器

配置完成后,此时如果要访问一个页面,服务器首先会在本机 host 文件中查找是否有与要访问的域名相匹配的 ip 地址,如果有,则直接访问;如果没有,就会去访问 dns 配置文件配置好的域名服务器去解析域名,获取与之配套的 ip 地址去访问

4、确定 linux 服务器哪个网卡对应哪个接口

4.1、查询 eth 对应驱动:
ls -l /sys/class/net/eth0/device/driver/module 
# lrwxrwxrwx 1 root root 0 Nov 17 20:28 /sys/class/net/eth0/device/driver/module -> ../../../../module/e1000 
readlink -f /sys/class/net/eth0/device/driver/module 
# /sys/module/e1000 

sysfs 虚拟文件系统下有很多链接, /sys/class/net/eth0 是一个目录,底下有一个 device 是符号链接,会指向 /sys/devices/ 下的一个真实设备,它所指向的目录下又有一个 driver 指向 /sys/module/ 下一个模块名,那就是所使用的驱动程序名。

4.2、dmesg 大法

最全面的要属 dmesg 了,基本上启动时每个设备的初始化信息都会记录在里面,所以,看这个就可以了

# 将 dmesg 命令信息单页显示,方便阅读
dmesg | more
# 显示前 20 行信息
dmesg | head -20
# 显示后 20 行信息
dmesg | tail -20
# 查看网卡的启动信息
dmesg | grep eth | more

另外就是 :

# 这是看 cpu 的详细信息
cat /proc/cpuinfo

# 这是看 内存 的详细信息 	
cat /proc/meminfo
4.3、ethtool 查看网卡状态

执行 ethtool -p eth0 时,eth0对应的网口的灯就会闪烁,你可以分别调用 ethtool 判断eth1,eth2对应的网口;
注意要在不插网线的时候进行,否则看不出来是否因 ethtool 引起的闪烁;

ethtool 命令相关参数

参数

说明

-a

查看网卡中接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。

-A

修改网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。

-c

display the Coalesce(聚合、联合) information of the specified ethernet card.聚合网口信息,使看起来更有规律。

-C

Change the Coalesce setting of the specified ethernet card.修改网卡聚合信息。

-g

Display the rx/tx ring parameter information of the specified ethernet card. 显示网卡的接收/发送环形参数。

-G

Change the rx/tx ring setting of the specified ethernet card. 修改网卡的接收/发送环形参数。

-i

显示网卡驱动的信息,如驱动的名称、版本等。

-d

显示register dump信息, 部分网卡驱动不支持该选项。

-e

显示EEPROM dump信息,部分网卡驱动不支持该选项。

-E

修改网卡EEPROM byte.

-k

显示网卡Offload参数的状态:on 或 off,包括rx-checksumming、tx-checksumming等。

-K

修改网卡Offload参数的状态

-p

用于区别不同ethX对应网卡的物理位置,常用的方法是使网卡port上的led不断的闪;N指示了网卡闪的持续时间,以秒为单位。

-r

如果auto-negotiation模块的状态为on,则restarts auto-negotiation.

-s

修改网卡的部分配置,包括网卡速度、单工/全双工模式、mac地址等。加上-s选项修改的内容才会生效

-S

显示NIC- and driver-specific 的统计参数,如网卡接收/发送的字节数、接收/发送的广播包个数等。

-t

让网卡执行自我检测,有两种模式:offline or online.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux网络网卡配置相关知识记录 的相关文章

  • SONAR - 使用 Cobertura 测量代码覆盖率

    我正在使用声纳来测量代码质量 我不知道的一件事是使用 Cobertura 测量代码覆盖率的步骤 我按照以下步骤操作http cobertura sourceforge net anttaskreference html http cober
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • 在 Linux 上的 Python 中使用受密码保护的 Excel 工作表

    问题很简单 我每周都会收到一堆受密码保护的 Excel 文件 我必须解析它们并使用 Python 将某些部分写入新文件 我得到了文件的密码 当在 Windows 上完成此操作时 处理起来很简单 我只需导入 win32com 并使用 clie
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • Locale.getDefault() 始终返回 en

    unix 机器上的服务器始终使用 en 作为默认区域设置 以下是区域设置输出 LANG en US LC CTYPE C LC NUMERIC C LC TIME C LC COLLATE C LC MONETARY C LC MESSAG
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • 强制卸载 NFS 安装目录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 如何根据 HTTP 请求使用 Python 和 Flask 执行 shell 命令并流输出?

    下列的这个帖子 https stackoverflow com questions 15092961 how to continuously display python output in a webpage 我能够tail f网页的日志
  • 为什么内核需要虚拟寻址?

    在Linux中 每个进程都有其虚拟地址空间 例如 32位系统为4GB 其中3GB为进程保留 1GB为内核保留 这种虚拟寻址机制有助于隔离每个进程的地址空间 对于流程来说这是可以理解的 因为有很多流程 但既然我们只有 1 个内核 那么为什么我
  • 从 Python 调用 PARI/GP

    我想打电话PARI GP http pari math u bordeaux fr dochtml gpman html仅从Python计算函数nextprime n 对于不同的n是我定义的 不幸的是我无法得到帕里蟒蛇 http code
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • fopen 不返回

    我在 C 程序中使用 fopen 以只读模式 r 打开文件 但就我而言 我观察到 fopen 调用没有返回 它不返回 NULL 或有效指针 执行在 fopen 调用时被阻止 文件补丁绝对正确 我已经验证过 并且不存在与权限相关的问题 任何人
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • nslookup 报告“无法解析 '(null)': 名称无法解析”,尽管它成功解析了 DNS 名称

    我在 ubuntu 上 并且正在运行 docker 默认桥接网络 我有 Zookeeper kafka 的容器化版本 以及我编写的与 kafka 对话的应用程序 I do a docker exec it
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 尝试安装 LESS 时出现“请尝试以 root/管理员身份再次运行此命令”错误

    我正在尝试在我的计算机上安装 LESS 并且已经安装了节点 但是 当我输入 node install g less 时 出现以下错误 并且不知道该怎么办 FPaulMAC bin paul npm install g less npm ER
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 如何在 Linux shell 中将十六进制转换为 ASCII 字符?

    假设我有一个字符串5a 这是 ASCII 字母的十六进制表示Z 我需要找到一个 Linux shell 命令 它将接受一个十六进制字符串并输出该十六进制字符串代表的 ASCII 字符 所以如果我这样做 echo 5a command im

随机推荐

  • Flowable入门系列文章113 - 进程实例 02

    1 激活或暂停流程实例 PUT运行时 process instances processInstanceId 表1 激活或暂停流程实例 URL参数 参数 需要 值 描述 processInstanceId 是 串 激活 挂起的流程实例的ID
  • 4.bio、request和request_queue

    通常一个bio对应上层传递给块层的I O请求 每个bio结构体实例及其包含的bvec iter bio vec结构体实例描述了该I O请求的开始扇区 数据方向 读还是写 数据放入的页 其定义如代码清单13 3所示 struct bvec i
  • Redis 分布式锁实现

    原文地址 http blog csdn net zhu tianwei article details 44927331 Redis是一个key value存储系统 和Memcached类似 但是解决了断电后数据完全丢失的情况 而且她支持更
  • 英文版线性代数笔记1

    是一个给自己期中复习做的笔记 第二课 关于矩阵 mxn的矩阵 是m行n列 先行后列 如A2 1 就是3 单位矩阵 关于向量 向量 有序有限的一列数字 定义 了解列向量 横向量 零向量 向量可以是一组解 关于单位向量 只有一个1 其他都是0
  • VC文件扩展名一览表

    VC文件扩展名一览表 2003 12 7 23 05 34 阅读589次 APS 存放二进制资源的中间文件 VC把当前资源文件转换成二进制格式 并存放在APS文件中 以加快资源装载速度 BMP 位图资源文件 BSC 浏览信息文件 由浏览信息
  • 西门子S7通信

    1 总体结构 1 1 西门子通信场景 在讨论更多的技术细节之前 首先我想简单介绍一下西门子通信场景的基本情况 当我谈到 S7协议 时 我指的是以太网S7通信 主要用于将PLC连接到 I PC站 PG PC PLC通信 不要将此与西门子设备使
  • okhttp源码分析

    Okhttp介绍 由square公司贡献的一个处理网络请求的开源项目 是目前Android使用最广泛的网络框架 从Android4 4开始HttpURLConnection的底层实现采用的是okhttp 项目地址 https github
  • 消息服务器 ws 高并发,HServer-JAVA: 基于Netty做的一个WebServer,同时集成MVC等相关快速开发功能的高并发服务器,做一些简单的应用分分钟搞定,同时性能报表...

    以下注解基本模拟Spring的功能 Bean 将Bean对象加入IOC容器中比如 按默名字加入IOC容器 Bean class TestService 指定名字加入容器 装配的时候就只能通过名字装配了 Bean testService cl
  • Element 修改el-table自带样式

    1 修改el table选中当前行高亮的样式 deep el table body tr current row gt td background color fff important 2 修改el table当前行的hover样式 de
  • 视觉SLAM漫谈

    视觉SLAM漫谈 1 前言 开始做SLAM 机器人同时定位与建图 研究已经近一年了 从一年级开始对这个方向产生兴趣 到现在为止 也算是对这个领域有了大致的了解 然而越了解 越觉得这个方向难度很大 总体来讲有以下几个原因 入门资料很少 虽然国
  • 22黑马QT笔记之事件全总结

    22黑马QT笔记之事件全总结 1 每个控件重写过滤器 event函数 各个事件处理函数都一样 都是先类中声明 类外定义 2 每个控件都可以重写事件过滤器 但是他一般写在窗口 安装时参数要求继承QObject嘛 event函数和各个事件处理函
  • Flutter状态管理Provider,简单上手

    学习Flutter一段时间了 偶然看到大家都说状态管理 多数人都是用redux 对于一个Android开发人员来说之前根本没接触过 于是开始了解redux 之后又了解闲鱼推出的fish redux 然后又看到Vadaski发表的一系列关于F
  • ChatBox安装--ChatGPT的桌面客户端

    ChatBox 是什么 是开源的 ChatGPT API OpenAI API 桌面客户端 Prompt 的调试与管理工具 支持 Windows Mac 和 Linux gt github地址 下载链接 支持的平台 Windows 请下载
  • 设置QFrame的背景图片并不影响其子控件的效果

    项目建立完成后 右键点你的项目 Add New gt QT Resource file 生成一个qrc文件 然后双击它 点add 然后Add Prefix 再Add file 完事之后build一下 在你的ui上点右键 gt Change
  • 选择软件外包公司需要注意哪些方面

    每个行业中不同公司的实力都是良莠不齐 特别是IT软件外包公司更是如此 当我们一旦将整个项目交付对方之后 项目的成败就全看软件外包公司的表现 风险极大 那么 我们该如何选择一家靠谱的深圳软件外包公司 选择软件外包公司需要注意哪些方面 北京木奇
  • 刷脸支付让城市真正迈入智能化数字化新阶段

    众所周知 每一次通信时代的变革都会催生一系列新兴事物的发展 比如3G时代的到来让越来越多国人开始了解互联网 4G时代的普及 让互联网产业得到了前所未有的发展空间 而5G时代的来临 将进一步推动数字化工作的进程刷脸支付正是如此 让城市真正迈入
  • 二分查找--中间值取值原则

    在数组总长度为奇数时 二分查找的中间值就是数组中间的那个元素 例如 对于长度为5的数组 中间元素的下标为2 在数组总长度为偶数时 二分查找的中间值有两个 可以取任意一个作为中间值 一种常用的方法是取靠左的那个中间值 例如 对于长度为6的数组
  • Image Processing图像处理(对比俩张图像的差异并且在图上标注出来)

    图像处理是构建所有计算机视觉的基础 按照我的图像处理指南使用OpenCV库学习计算机视觉的基础知识 SSIM进阶 利用python openCV将图片的差异性画框展示出来 诀窍是学习如何准确地确定在 x y 坐标位置上 图像的差异在哪里 使
  • shader学习网站

    https www shadertoy com https shaderfrog com http glslb in http glslsandbox com
  • Linux网络网卡配置相关知识记录

    Linux系统网络相关配置 1 网卡配置文件说明 2 使用 ifconfig 配置网卡 3 配置 DNS 地址 3 1 编辑 etc hosts 文件 在空白处输入 3 2 编辑 DNS 配置文件 4 确定 linux 服务器哪个网卡对应哪