Linux 网络配置基础
文章目录
- 1. 前言
- 2. Linux 的网络配置
- 2.1 传统的网络配置方法
- 2.2 新的网络配置方法
- 2.3 用 DHCP 客户端管理网络
- 3. 参考资料
1. 前言
限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。
2. Linux 的网络配置
2.1 传统的网络配置方法
Linux 下传统的网络通过目录 /etc/network 下的一系列文件进行配置,通常通过 /etc/network/interfaces 文件进行配置。如:
# interfaces(5) file used by ifup(8) and ifdown(8)auto lo
iface lo inet loopbackauto eth0
iface eth0 inet dhcpiface eth1 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
上面的文件配置了 lo,eth0,eth1:lo 配置为回环接口(loop),eth0 配置为通过 DHCP 协议来分配 IP,而 eth1 使用静态 IP。那么谁使用了 /etc/network/interfaces ?答案是 ifupdown 工具包。使用 /etc/network/interfaces 的情形下,在 /etc/init.d 目录下会对应有一个启动网络的脚本,如 /etc/init.d/S28network :
#!/bin/sh
#
# Start the network....
## Debian ifupdown needs the /run/network lock directory
mkdir -p /run/networkcase "$1" instart)printf "Starting network: "/sbin/ifup -a[ $? = 0 ] && echo "OK" || echo "FAIL";;stop)printf "Stopping network: "/sbin/ifdown -a[ $? = 0 ] && echo "OK" || echo "FAIL";;restart|reload)"$0" stop"$0" start;;*)echo "Usage: $0 {start|stop|restart}"exit 1
esacexit $?
可以看到,上面的启动脚本通过 ifup 和 ifdown 工具来启停网口。它们都是用了 /etc/network/interfaces 配置文件:
# strace ifdown eth0
[......]
openat(AT_FDCWD, "/etc/network/interfaces", O_RDONLY) = 3
[......]
# strace ifup eth0
[......]
openat(AT_FDCWD, "/etc/network/interfaces", O_RDONLY) = 3
[......]
顺便说一句,ifconfig 和 /etc/network/interfaces 配置文件没有任何关系,ifconfig 的任何修改都是临时的。
2.2 新的网络配置方法
现代系统(如 Ubuntu 18.04 及以后),使用 netplan 配置工具用于网络接口的配置,通常会使用 systemd 或 NetworkManager 来管理网络接口,而不是依赖 ifup/ifdown 或 ifconfig。
ifconfig 仍然可以用来查看网络状态和临时配置,但网络接口的配置会通过 netplan 配置文件来进行管理。
2.3 用 DHCP 客户端管理网络
当系统中使用 DHCP 客户端(如 dhcpcd)时,默认配置下会通过 DHCP 协议为系统中所有网络接口分配 IP,但也可以显式的将接口配置为静态 IP,或者将接口排除在 DHCP 客户端的管理之外。以 dhcpcd 为例来说明如何如何将网路接口配置为静态 IP。通过修改 dhcpcd 的配置文件 /etc/dhcpcd.conf,将 eth1 排除在 dhcpcd 的管理之外:
denyinterfaces eth1
或者,将 eth1 配置为静态 IP:
interface eth1static ip_address=192.168.1.100/24static routers=192.168.1.1static domain_name_servers=8.8.8.8
最好不要同时使用 ifupdown 和 dhcp 客户端工具,如果使用,也不要让同一个网络接口同时被 ifupdown 和 dhcp 客户端工具管理。
3. 参考资料
[1] https://manpages.debian.org/buster/dhcpcd5/dhcpcd.conf.5.en.html
相关文章:
Linux 网络配置基础
文章目录 1. 前言2. Linux 的网络配置2.1 传统的网络配置方法2.2 新的网络配置方法2.3 用 DHCP 客户端管理网络 3. 参考资料 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. Linux 的网络配置 …...
科技创新 数智未来|清科·沙丘投研院走进竹云
12月20日,清科沙丘投研院带领企投家团队走进竹云交流分享,聚焦技术创新、企业数字化管理、行业前沿应用案例等热点议题,深入探讨数字技术如何点燃企业高质量发展的澎湃动力,共话企业数字化、智能化发展之道。 达晨财智股权管理部…...
Java 常见面试算法题汇总与解析
Java 常见面试算法题汇总与解析 算法题是程序员面试中常见的一部分,也是提升编程能力的核心手段。本文将汇总一些 Java 中常见的算法题,并提供详细的解析和实现代码,帮助开发者更好地理解和掌握算法。 一、字符串相关算法 1.1 字符串反转 …...
【社区投稿】自动特征auto trait的扩散规则
自动特征auto trait的扩散规则 公式化地概括,auto trait marker trait derived trait。其中,等号右侧的marker与derived是在Rustonomicon书中的引入的概念,鲜见于Rust References。所以,若略感生僻,不奇怪。 marker …...
云原生相关的 Go 语言工程师技术路线(含博客网址导航)
要成为一名云原生相关的 Go 语言工程师,需要在 Go 语言、云原生技术栈以及相关的开发和运维工具上建立扎实的基础。下面是一个前字节员工总结的技术路线规划: 1. 掌握 Go 语言基础 深入理解 Go 语言:你需要熟练掌握 Go 的语法、数据结构、并…...
mui框架开发的手机APP——众筹约课类【只有前端,无后端】
点击获取源码...
Python的内存管理
文章目录 1. **内存管理的基本原理**(1)动态内存分配(2)引用计数机制 2. **垃圾回收(Garbage Collection, GC)机制**(1)循环引用问题(2)垃圾回收器的作用 3. …...
VSCode调试
目录 C/C远程本地调试插件配置参考 C/C远程本地调试 测试源码:https://github.com/jrhee17/ssl-study 插件 Remote - SSH C/C 配置 .vscode/launch.json {"version": "0.2.0","configurations": [{"name": "afte…...
Direct Preference Optimization (DPO) 简介与流程解析:中英双语
Direct Preference Optimization (DPO) 简介与流程解析 Direct Preference Optimization (DPO) 是一种基于人类偏好的强化学习优化方法,用于训练语言模型,使其更好地满足用户需求或偏好。本文将详细介绍 DPO 的核心思想、优化流程,并结合代码…...
fisco-bcos手动搭建webase启动注意事项
手动搭建webase-front启动注意事项 Java环境变量:1.8.301时候的错误 一直提示节点连接不上,无法连接chanale端口 这是官方提供的解决办法Help wanted: solution for secp256k1 being disabled Issue #470 FISCO-BCOS/java-sdk Java SDK 2.x连接节点失败…...
ospf 的 状态机详解
OSPF(开放最短路径优先,Open Shortest Path First)协议的状态机是其核心部分之一,用于确保路由器之间的邻接关系(neighbor relationship)建立和路由信息的交换。OSPF的状态机模型由多个状态组成,…...
TP5 动态渲染多个Layui表格并批量打印所有表格
记录: TP5 动态渲染多个Layui表格每个表格设置有2行表头,并且第一行表头在页面完成后动态渲染显示内容每个表格下面显示统计信息可点击字段排序一次打印页面上的所有表格打印页面上多个table时,让每个table单独一页 后端代码示例: /*** Nod…...
spring专题笔记(六):bean的自动装配(自动化注入)-根据名字进行自动装配、根据类型进行自动装配。代码演示,通俗易懂。
目录 一、根据名字进行自动装配--byName 二、根据类型进行自动装配 byType 本文章主要是介绍spring的自动装配机制, 用代码演示spring如何根据名字进行自动装配、如何根据类型进行自动装配。代码演示,通俗易懂。 一、根据名字进行自动装配--byName Us…...
监听器listener
文章目录 监听器( listener)对Application内置对象监听的语法和配置对session内置对象监听的语法和配置 监听器( listener) 对象与对象的关系: 继承关联 tomcat一启动创建的顺序:监听器,config,application(全局初始化参数)&am…...
重温设计模式--10、单例模式
文章目录 单例模式(Singleton Pattern)概述单例模式的实现方式及代码示例1. 饿汉式单例(在程序启动时就创建实例)2. 懒汉式单例(在第一次使用时才创建实例) 单例模式的注意事项应用场景 C代码懒汉模式-经典…...
Flutter动画学习二
如何在 Flutter 中使用自定义动画和剪裁(clipping)实现一个简单的动画效果。 前置知识点学习 AnimationController AnimationController 是 Flutter 动画框架中的一个核心类,用于控制动画的生命周期和状态。它提供了一种灵活的方式来定义动…...
讯飞语音听写WebApi(流式)【React Native版】
假设已有 Base64 编码的音频文件(16kHz, s16le, pcm) 1、获取websocket url import * as CryptoJS from crypto-js;/*** 获取websocket url*/ const getWebSocketUrl () > {const config {// 请求地址hostUrl: "wss://iat-api.xfyun.cn/v2/iat",host: "i…...
【Linux编程】一个基于 C++ 的 TCP 客户端异步(epoll)框架(一))
TcpClient 类的设计与实现:一个基于 C 的 TCP 客户端框架 在现代网络编程中,TCP(传输控制协议)客户端是实现网络通信的基础组件之一。本文将详细介绍一个基于 C 的 TcpClient 类的设计与实现,该类提供了创建 TCP 连接…...
PG备份恢复--pg_dump
pg_dump pg_dump 是一个逻辑备份工具。使用 pg_dump 可以在数据库处于使用状态下进行一致 性的备份,它不会阻塞其他用户对数据库的访问 。 一致性备份是 pg_dump 开始运行时,给数据库打了一个快照,且在 pg_dump 运行过程 中发生的更新将不会被备份。 …...
pikachu靶场搭建详细步骤
一、靶场下载 点我去下载 二、靶场安装 需要的环境: mysqlApaches(直接使用小皮面板Phpstudy:https://www.xp.cn/),启动他们 设置网站,把靶场的路径对应过来 对应数据库的信息 由于没有核对数据库的信…...
C语言开发界面太难?libui-ng开源库帮你快速搞定
一、C语言开发者的噩梦,终被一个开源库打破? 搞C语言开发的那些人,基本上都躲不开这么一个让人头疼的点,就是想要去写一个可视化的界面,要嘛就得被迫去学习繁杂的Qt、GTK,不然呢就得拼了命去写Win32代码&a…...
告别第三方平台!手把手教你用photo-sphere-viewer在小程序H5里嵌入VR全景图
告别第三方平台!手把手教你用photo-sphere-viewer在小程序H5里嵌入VR全景图 在数字化营销日益重要的今天,VR全景展示已经成为房地产、家居、旅游等行业提升用户体验的标配功能。传统做法是依赖第三方VR云服务平台,但这往往意味着高昂的费用、…...
基于MMC的两端柔性直流输电系统设计仿真:包含电压平衡控制策略、最近电平调制策略、环流抑制及详...
基于MMC的两端柔性直流输电系统设计仿真 1、MMC-HVDC 电压平衡控制策略:为了实现桥臂子模块的电压动态平衡 在正常运行时,由于桥臂子模块投切存在不一致性,以及级联的子模块中的电容不断的在充电、放电或者闭锁状态切换 2、最近电平调制策略&…...
2026-04-02 打卡第 2 天
# 2026-04-02 打卡第 2 天 # 列表 """ li [1,2,a] print(li) # 输出结果:[1, 2, a] """# 列表中添加元素 # 整体添加 append """ li [a,b,c] li.append(d) print(li) # 输出结果:[a, b, c, d] "&qu…...
OpenClaw+Phi-3-mini-128k-instruct:中文长文本处理专项优化
OpenClawPhi-3-mini-128k-instruct:中文长文本处理专项优化 1. 为什么需要中文长文本专项优化? 在日常工作中,我经常需要处理各种中文长文本材料——从几十页的商业合同到上百页的学术论文。这些文档不仅篇幅长,还包含大量专业术…...
苹果内购Java后端避坑指南:收据验证、状态码处理和防重复消费实战
苹果内购Java后端深度防御指南:从收据验收到分布式幂等设计 当你的应用内购收入突然出现异常波动,或是用户投诉被重复扣款时,背后往往隐藏着苹果内购接口的"暗礁"。作为经历过百万级内购交易的老兵,我想分享几个真实生产…...
OpenClaw 局域网访问配置文档
OpenClaw 局域网访问配置文档 概述 本文档详细说明了如何配置 OpenClaw 以允许局域网内的其他设备访问,包括所有相关配置参数的作用和说明。 当前配置状态 网关服务信息 服务端口: 18789 绑定模式: lan (局域网访问) 认证方式: password (密码认证) 访问密码: xxxxxx 详细…...
破局与重塑:大模型浪潮下机器学习工程师的生存指南
十字路口的困惑与机遇当大语言模型(LLM)与生成式AI(GenAI)以前所未有的速度席卷全球,身处技术浪潮中心的机器学习工程师们,正经历着一场深刻的职业震荡。曾经引以为傲的XGBoost、卷积神经网络(C…...
2025届最火的五大降AI率平台横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 一款基于自然语言处理技术的智能工具,是AI写作软件,它能够辅助用户自…...
后台管理系统布局设计指南:从架构到实践的全方位解析
后台管理系统布局设计指南:从架构到实践的全方位解析 【免费下载链接】vue3-element-admin 🔥基于 Vue 3 Vite 7 TypeScript element-plus 构建的后台管理前端模板(配套后端源码),vue-element-admin 的 vue3 版本。 …...
