Linux 网络接口管理

news2024/11/28 0:34:47

为了更深入的了解linux系统,为此做出网络接口管理的知识总结。看起来麻烦,其实一点都不难,相信多看多了解总会是没错的!❤️❤️
一起加油吧!✨✨🎉🎉

文章目录

  • 前言
  • 一、网络配置的文件介绍
  • 二、网卡配置文件
  • 三、本地域名解析文件
  • 四、DNS解析文件
  • 五、主机名配置文件
  • 六、常用网络命令


前言

Linux 网络接口管理涵盖了对Linux操作系统中各种网络接口的配置、监控和故障排查等工作。网络接口是操作系统与物理或虚拟网络设备交互的通道,负责发送和接收数据包。


提示:以下是本篇文章正文内容,下面案例可供参考

一、网络配置的文件介绍

Linux 网络配置涉及到多个核心配置文件,以下是主要的几个配置文件及其用途:

配置文件作用
/etc/sysconfig/network-scripts/ifcfg-ethX系统网络设备配置文件,ethX 是网络接口的名字,如 ifcfg-eth0 表示第一块以太网卡的配置
/etc/sysconfig/network全局网络配置文件,这个文件用来配置全局网络设置,例如主机名(HOSTNAME)和默认网关(GATEWAY)
/etc/resolv.conf域名解析配置文件,用于设置DNS客户端的相关配置,包括DNS服务器的IP地址(nameserver),以及可能的DNS搜索域(search)
/etc/hosts主机名映射文件,此文件中定义了主机名与IP地址的静态映射,当系统需要解析主机名时,首先会查找这个文件
/etc/networks网络名和网络地址映射文件,定义网络名与其对应的网络地址的映射,不过在很多现代Linux发行版中,这个文件的使用不如以前那么常见
/etc/network/interfacesDebian/Ubuntu系列系统中的网络配置文件,在 Debian 及其衍生版本(如 Ubuntu)中,这是用来配置网络接口的主要文件,定义了接口的启动模式和详细参数
/etc/hostname主机名配置文件,用于存储当前系统的主机名,重启后生效
/etc/modprobe.d/目录下的配置文件可能会影响到网络模块加载时的参数设置
/etc/sysctl.conf系统级的网络和系统参数配置文件,可以调整内核级别的网络行为

需要注意的是,不同的Linux发行版可能会有不同的配置方式和文件结构,例如Systemd系统中,网络配置可能更多地依赖于"netplan"或"netctl"这样的新工具,而不再直接编辑上述传统的文本配置文件。


二、网卡配置文件

网卡配置文件主要用于定义网络接口卡(NIC)的各种参数,以便系统正确配置和启动网络服务。不同Linux发行版有不同的配置方式和文件位置。

  1. System V init脚本的传统配置方式(如Red Hat Enterprise Linux/CentOS/Fedora系列):

    网卡配置文件通常位于 /etc/sysconfig/network-scripts/ifcfg-<interface> 目录下,其中 <interface> 时网卡名称,如ifcfg-eth0 ifcfg-ens33,该文件包含了网卡的IP地址、子网掩码、网关、DNS服务器等信息以及启动选项等配置项。

例如:

# 网卡基本信息
DEVICE=eth0             # 网络设备名,这里为eth0
TYPE=Ethernet           # 网络类型,一般为以太网
UUID=<some-uuid>        # 网卡的唯一标识符

# 启动与管理
ONBOOT=yes              # 是否在系统启动时启动此网卡
NM_CONTROLLED=yes       # 是否由NetworkManager管理(如果是CentOS/RHEL 7+,这通常是默认配置)

# IP地址配置
BOOTPROTO=dhcp          # 地址获取方式,可选dhcp(动态)、static(静态)、none等
IPADDR=192.168.1.100    # 当BOOTPROTO=static时,设置静态IP地址
NETMASK=255.255.255.0   # 子网掩码
GATEWAY=192.168.1.1     # 默认网关

# DNS配置
DNS1=8.8.8.8            # 第一个DNS服务器地址
DNS2=8.8.4.4            # 第二个DNS服务器地址

# IPv6相关设置
IPV6INIT=yes            # 是否启用IPv6
IPV6_AUTOCONF=yes       # 是否自动配置IPv6地址
IPV6ADDR=2001:db8::1    # 当配置静态IPv6地址时使用

# 其他高级设置
PEERDNS=no              # 是否在DHCP过程中接受DHCP服务器提供的DNS服务器信息
DOMAIN=mydomain.local   # DNS搜索域
USERCTL=no              # 是否允许非root用户控制该设备
MTU=1500                # 最大传输单元(默认通常是1500字节)
参数作用
TYPE=Ethernet指定网络接口类型为以太网
PROXY_METHOD=none表示不使用任何代理方法
BROWSER_ONLY=no不仅限于作为浏览器使用的网络接口
BOOTPROTOdhcp启动时通过DHCP协议自动获取IP地址、子网掩码、网关和DNS服务器等信息。static手动配置静态IP地址。none无协议,通常与手动分配静态IP地址一起使用
DEFROUTE=yes是否使用此接口作为默认路由
PEERNDNS=yes网络启动后加载的DNS服务器的读取位置
1IPV4_FAILURE_FATAL=no如果IPv4配置失败,是否认为是致命错误(yes表示是,no表示不是,系统将继续尝试启动其他网络接口)
IPV6INIT=yes是否初始化IPv6支持
IPV6_AUTOCONF=yes是否允许自动配置IPv6地址(如通过RA消息)
IPV6_DEFROUTE=yes是否将此接口设为IPv6的默认路由
IPV6_FAILURE_FATAL=no类似于IPv4_FAILURE_FATAL,但针对IPv6
NAME=ens33网络接口的名称
UUID=…网络接口的唯一标识符
DEVICE=ens33设备名称,与NAME相同,指代具体的硬件接口
ONBOOT=yes是否在系统启动时自动启动此网络接口
IPADDR=192.168.2.121静态分配给该接口的IPv4地址
NETMASK=255.255.255.0子网掩码,用于定义网络的大小
GATEWAY=192.168.2.1默认网关地址,用于将非本网段的数据包转发至路由器
DNS1=8.8.8.8主DNS服务器地址

网络重启命令:

systemctl restart network.service # 对于较早的系统
systemctl restart NetworkManager # 对于使用NetworkManager的系统
systemctl restart networking # 对于一些不使用NetworkManager的传统系统

对指定接口重启

ip link set dev ens33 down && ip link set dev ens33 up # 新式命令行方式
ifdown ens33 && ifup ens33 # 对于传统sysvinit方式

三、本地域名解析文件

本地域名解析文件主要是指 /etc/hosts 文件,它是系统内置的一个静态主机名到IP地址的映射表。当系统需要解析一个域名时,它会首先检查 /etc/hosts 文件中的记录,然后再去查询DNS服务器。这意味着在 /etc/hosts 中添加的条目可以覆盖DNS服务器的解析结果,从而实现本地化的、独立于外部DNS服务器的域名解析。

在这里插入图片描述


四、DNS解析文件

DNS解析主要不是通过单一的“解析文件”来进行的,而是通过一系列的配置文件和系统服务共同协作来完成。其中,设置DNS服务器地址以及影响域名解析过程的配置文件是 /etc/resolv.conf

参数作用
nameserver指定DNS服务器的IP地址,系统按列出的顺序依次查询DNS请求
domain设定本地域名,这对于DNS查询中的未完全限定域名(FQDN)补全有一定作用
search指定DNS搜索域列表,当主机名没有指定完全域名时,系统会自动加上这些搜索域进行查询
options可以设定一些全局的DNS解析选项

五、主机名配置文件

主机名配置文件主要是 /etc/hostname 。这个文件用来存储系统的静态主机名,即不依赖于网络环境的本地主机名。

#更改主机名
hostnamectl  set-hostname redhat.example.com
#刷新
bash
#查看主机名
hostname

六、常用网络命令

在Linux系统中,网络接口管理涉及多种网络命令,以下是一些常用的命令及其应用场景:

命令作用
ifconfig查看、配置网络接口的IP地址、子网掩码、广播地址等信息。例如:查看所有网络接口信息:ifconfig -a、配置IP地址:sudo ifconfig eth0 192.168.1.1 netmask 255.255.255.0和启用或禁用网络接口:sudo ifconfig eth0 up/down
ip更为强大的网络配置和管理工具,可用于查看、配置网络接口、路由表、邻居(ARP表)等。查看所有网络接口信息:ip addr show、 配置IP地址:sudo ip addr add 192.168.1.1/24 dev eth0和 启用或禁用网络接口:sudo ip link set eth0 up/down
ping测试网络连通性,通过发送ICMP Echo Request报文检查目标主机是否可达。如:ping www.example.com
traceroute追踪数据包到达目的地经过的所有路由器或网关。如:traceroute www.example.com
route查看、操作路由表。如:route -n 查看路由表;route add/delete 添加或删除路由。
netstat查看网络连接、路由表、网络接口统计信息、打开的端口等。如:查看所有TCP连接:netstat -t、查看所有监听的端口:netstat -lntu 和 查看路由表:netstat -rn
ss类似于netstat,但是提供更高效、更精确的socket统计信息。如:查看类似netstat -tln的结果:ss -tln 和 查看TCP连接状态:ss -t states
ethtool获取和设置网络接口卡(NIC)的高级属性,如速度、双工模式、驱动信息等。如:ethtool eth0
nmcli (NetworkManager CLI)在使用NetworkManager管理网络服务的系统中,通过命令行管理网络连接、无线网络等。如:查看网络连接:nmcli connection show
hostname查看或临时修改主机名。hostname 显示当前主机名;hostnamectl set-hostname newhostname 修改主机名。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

路由器怎么做端口映射

路由器在网络中起到了连接不同设备和提供网络服务的重要作用。端口映射是一项常见的操作&#xff0c;它允许外部网络中的设备通过路由器访问内部网络中的设备。我们将介绍如何在路由器上进行端口映射的设置。 理解端口映射 在开始操作之前&#xff0c;我们需要了解一些基本概念…

JJJ:改善ubuntu网速慢的方法

Ubuntu 系统默认的软件下载源由于服务器的原因&#xff0c; 在国内的下载速度往往比较慢&#xff0c;这时我 们可以将 Ubuntu 系统的软件下载源更改为国内软件源&#xff0c;譬如阿里源、中科大源、清华源等等&#xff0c; 下载速度相比 Ubuntu 官方软件源会快很多&#xff01;…

机器学习 - 训练模型

接着这一篇博客做进一步说明&#xff1a; 机器学习 - 选择模型 为了解决测试和预测之间的差距&#xff0c;可以通过更新 internal parameters, the weights set randomly use nn.Parameter() and bias set randomly use torch.randn(). Much of the time you won’t know what…

Python内置对象

Python是一种强大的、动态类型的高级编程语言&#xff0c;其内置对象是构成程序的基础元素。Python的内置对象包括数字、字符串、列表、元组、字典、集合、布尔值和None等&#xff0c;每种对象都有特定的类型和用途。 01 什么是内置对象 这些对象是编程语言的基础构建块&…

C语言 指针练习

一、 a、b是两个浮点型变量&#xff0c;给a、b赋值&#xff0c;建立两个指针分别指向a的地址和b的地址&#xff0c;输出两个指针的值。 #include<stdio.h> int main() {float a,b,*p1,*p2;a10.2;b2.3;p1&a;p2&b;printf("a%f,b%f\n",a,b);printf("…

软考高级:类的分类(边界类、控制类、实体类)概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

【Java初阶(二)】分支与循环

❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; 目录 1.前言2.顺序结构3.分支循环3.1if语句3.2switch语句 4.循环结构4.1while循环4.2 break和continue4.3 for循环4.4 do while循环 5.输入输出5.1输出5.2输…

记录C++中,子类同名属性并不能完全覆盖父类属性的问题

问题代码&#xff1a; 首先看一段代码&#xff1a;很简单&#xff0c;就是BBB继承自AAA&#xff0c;然后BBB重写定义了同名属性&#xff0c;然后调用父类AAA的打印函数&#xff1a; #include <iostream> using namespace std;class AAA { public:AAA() {}~AAA() {}void …

Django单表数据库操作

单表操作 测试脚本 当你只想测试django某一个py文件的内容,可以不用书写前后端的交互,直接写一个测试脚本即可 单表删除 数据库操作方法: 1.all():查询所有的数据 2.filter():带有过滤条件的查询 3.get():直接拿数据对象,不存在则报错 4.first():拿queryset里面的第一个元素…

【数据结构取经之路】栈

目录 引言 栈的性质 顺序栈 栈的基本操作 初始化 销毁 插入 删除 判空 取栈顶元素 栈的大小 完整代码&#xff1a; 引言 栈(stack)&#xff0c;可以用数组实现&#xff0c;也可以用链表实现。用数组实现的栈叫顺序栈&#xff0c;用链表实现的栈叫链式栈&#…

红外相机和RGB相机标定:实现两种模态数据融合

1. 前期准备 RGB相机&#xff1a;森云智能SG2-IMX390&#xff0c;1个红外相机&#xff1a;艾睿光电IR-Pilot 640X-32G&#xff0c;1个红外标定板&#xff1a;https://item.taobao.com/item.htm?_ujp3fdd12b99&id644506141871&spma1z09.2.0.0.5f822e8dKrxxYI 2.操作步…

C# 方法(函数)

文章目录 C# 方法&#xff08;函数&#xff09;简单示例程序代码运行效果 值传递和引用传递示例程序 运行效果按输出传递参数运行结果 C# 方法&#xff08;函数&#xff09; 简单示例 程序代码 访问的限制符 using System; using System.Collections.Generic; using Syste…

DevEco Studio 项目创建

安装DevEco Studio后开始使用&#xff0c;双击桌面DevEco Studio 快捷方式弹出界面&#xff1a; 选择Application —> Empty Ability&#xff0c;点击Next 项目配置 Project name&#xff1a;工程的名称&#xff0c;可以自定义&#xff0c;由大小写字母、数字和下划线组成。…

JavaSE——面向对象高级二(3/4)-接口(认识接口、接口的好处)以及接口的综合案例(设计班级学生的信息管理模块)

目录 接口 认识接口 接口的好处 接口的综合案例 需求 学生类 班级管理类 学生操作接口 学生操作类 完善班级管理类 测试 接口 认识接口 Java提供了一个关键字 interface&#xff0c;用这个关键字我们可以定义出一个特殊的结构&#xff1a;接口。 public interface…

个人网站制作 Part 13 添加搜索功能[Elasticsearch] | Web开发项目

文章目录 &#x1f469;‍&#x1f4bb; 基础Web开发练手项目系列&#xff1a;个人网站制作&#x1f680; 添加搜索功能&#x1f528;使用Elasticsearch&#x1f527;步骤 1: 安装Elasticsearch&#x1f527;步骤 2: 配置Elasticsearch&#x1f527;步骤 3: 创建索引 &#x1f…

[论文笔记] Dual-Channel Span for Aspect Sentiment Triplet Extraction

一种利用句法依赖和词性相关性信息来过滤噪声&#xff08;无关跨度&#xff09;的基于span方法。 会议EMNLP 2023作者Pan Li, Ping Li, Kai Zhang团队Southwest Petroleum University论文地址https://aclanthology.org/2023.emnlp-main.17/代码地址https://github.com/bert-ply…

长安链Docker Java智能合约引擎的架构、应用与规划

#功能发布 长安链3.0正式版发布了多个重点功能&#xff0c;包括共识算法切换、支持java智能合约引擎、支持后量子密码、web3生态兼容等。我们接下来为大家详细介绍新功能的设计、应用与规划。 在《2022年度长安链开源社区开发者调研报告》中&#xff0c;对Java合约语言支持是开…

ideaSSM 财务凭证管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea 开发 SSM 财务凭证管理系统是一套完善的信息管理系统&#xff0c;结合SSM框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff…

[Qt学习笔记]Qt下使用Halcon实现采图时自动对焦的功能(Brenner梯度法)

目录 1、介绍2、实现方法2.1 算法实现过程2.2 模拟采集流程 3、总结4、代码展示 1、介绍 在机器视觉的开发中&#xff0c;现在有很多通过电机去做相机的聚焦调节&#xff0c;对比手工调节&#xff0c;自动调节效果更好&#xff0c;而且其也能满足设备自动的需求&#xff0c;尤…

高效的Gitlab Flow最佳实践

文章目录 一、git flow二、github flow三、gitlab flow四、基于gitlab flow的最佳实践1.语义化版本号2.测试发布3.bug修复 参考 业界包含三种flow&#xff1a; Git flowGithub flowGitlab flow 三种工作流程&#xff0c;有一个共同点&#xff1a;都采用"功能驱动式开发&…