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

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

上面的文件配置了 loeth0eth1lo 配置为回环接口(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 $?

可以看到,上面的启动脚本通过 ifupifdown 工具来启停网口。它们都是用了 /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 配置工具用于网络接口的配置,通常会使用 systemdNetworkManager 来管理网络接口,而不是依赖 ifup/ifdownifconfig

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

最好不要同时使用 ifupdowndhcp 客户端工具,如果使用,也不要让同一个网络接口同时被 ifupdowndhcp 客户端工具管理。

3. 参考资料

[1] https://manpages.debian.org/buster/dhcpcd5/dhcpcd.conf.5.en.html

http://www.lryc.cn/news/510363.html

相关文章:

  • 科技创新 数智未来|清科·沙丘投研院走进竹云
  • Java 常见面试算法题汇总与解析
  • 【社区投稿】自动特征auto trait的扩散规则
  • 云原生相关的 Go 语言工程师技术路线(含博客网址导航)
  • mui框架开发的手机APP——众筹约课类【只有前端,无后端】
  • Python的内存管理
  • VSCode调试
  • Direct Preference Optimization (DPO) 简介与流程解析:中英双语
  • fisco-bcos手动搭建webase启动注意事项
  • ospf 的 状态机详解
  • TP5 动态渲染多个Layui表格并批量打印所有表格
  • spring专题笔记(六):bean的自动装配(自动化注入)-根据名字进行自动装配、根据类型进行自动装配。代码演示,通俗易懂。
  • 监听器listener
  • 重温设计模式--10、单例模式
  • Flutter动画学习二
  • 讯飞语音听写WebApi(流式)【React Native版】
  • 【Linux编程】一个基于 C++ 的 TCP 客户端异步(epoll)框架(一))
  • PG备份恢复--pg_dump
  • pikachu靶场搭建详细步骤
  • HarmonyOS NEXT开发进阶(五):装饰器讲解
  • 【编译原理】往年题汇总(山东大学软件学院用)
  • 【漏洞复现】F5 BIG-IP Next Central Manager SQL注入漏洞(CVE-2024-26026)
  • 设计模式-创建型-单例模式
  • VBA技术资料MF243:利用第三方软件复制PDF数据到EXCEL
  • 【2024最新】基于Python+Mysql+django的水果销售系统Lw+PPT
  • 一种寻路的应用
  • 编译openssl遇到错误Parse errors: No plan found in TAP output的解决方法
  • 一文大白话讲清楚防抖和节流,设计封装防抖和节流,以及防抖和节流的应用场景
  • Windows开启IIS后依然出现http error 503.the service is unavailable
  • C++的封装(十四):《设计模式》这本书