哔哩哔哩网站免费进入,aardio能开发手机应用吗,wordpress自动同步,木材板材网站制作方案本文讲解了Ubuntu下网络由什么管理#xff0c;介绍了临时ip和路由的设置方法#xff0c;介绍了静态持久化网络配置的方法以及各网络管理软件之间的关系。
来看看Ubuntu网络管理。
序言
原本学习ubuntu网络管理就是为了检查nginx安装过程中使用wget获取压缩包为什么解析不出…本文讲解了Ubuntu下网络由什么管理介绍了临时ip和路由的设置方法介绍了静态持久化网络配置的方法以及各网络管理软件之间的关系。
来看看Ubuntu网络管理。
序言
原本学习ubuntu网络管理就是为了检查nginx安装过程中使用wget获取压缩包为什么解析不出ip的问题。现在越学越泛倒是忘记初心了。
网络接口
Linux中网络通信需要通过网络接口。那么网络的接口既有软件抽象的也有硬件的我们就需要来了解怎么管理和使用。
ifconfig
这个命令大家应该非常熟悉。之前的学习中我一直给各种命令列出很多选项和参数但是我觉得不如在用到的时候去查询手册或者搜索引擎。比起知道到底有什么参数我更想知道和记住这个命令的作用和最常见的使用场景。
作用
查看网络接口。
enp0s3: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.1.255inet6 fe80::87e5:906f:a18b:63e2 prefixlen 64 scopeid 0x20linkether 08:00:27:60:a1:de txqueuelen 1000 (以太网)RX packets 2549 bytes 634859 (634.8 KB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 468 bytes 71960 (71.9 KB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags73UP,LOOPBACK,RUNNING mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10hostloop txqueuelen 1000 (本地环回)RX packets 872 bytes 65297 (65.2 KB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 872 bytes 65297 (65.2 KB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 怎么理解上面的输出
首先看enp0s3en代表以太网p0代表总线0s3是指插槽3.
lo代表本地环回地址。
ifconfig
#如果显示未安装
sudo apt install net-toolsflags 字段表示接口的状态和特性通过标记flag以十六进制或十进制数值来表示。常见的标志及其含义如下 UP接口已启用。表示网络接口已被激活并处于运行状态。 BROADCAST支持广播。表示接口可以发送和接收广播消息。 RUNNING接口正在运行。这通常意味着该接口已经被激活且有可能处于正常工作状态。 MULTICAST支持组播。接口支持组播功能可以处理多个目标地址的消息。 LOOPBACK回环。表示这是一个本地回环接口用于自我通信通常是 lo 接口地址为 127.0.0.1。 PROMISC混杂模式。表示网络接口将接收所有传入的数据包不论目的地址是否匹配。 POINTOPOINT点对点。接口用于点对点链接不进行广播和多播。在示例中 flags4163 对应的是十进制值 4163转换为十六进制值为 0x1043。其中包含以下标志 UP (0x1) BROADCAST (0x2) RUNNING (0x40) MULTICAST (0x100) 其余的解释 enp0s3 是有线以太网接口 flags4163UP,BROADCAST,RUNNING,MULTICAST接口已启动可以广播和组播。 mtu 1500最大传输单元为 1500 字节。 inet 192.168.1.11IPv4 地址为 192.168.1.11子网掩码为 255.255.255.0广播地址为 192.168.1.255。 inet6 fe80::87e5:906f:a18b:63e2IPv6 链路本地地址。 ether 08:00:27:60:a1 MAC 地址。 RX/TX packets 和 bytes接口接收到RX和发送的TX数据包数和字节数。 RX errors 0, TX errors 0没有接收或发送错误。 lo 是本地回环接口loopback flags73UP,LOOPBACK,RUNNING回环接口已启动。 mtu 65536最大传输单元为 65536 字节。 inet 127.0.0.1本地回环的 IPv4 地址。 inet6 ::1IPv6 回环地址。 RX/TX packets 和 bytes回环接口接收和发送的数据包和字节数。 没有接收或发送错误。 还有选项允许你显示更多的或者其他信息你可以使用man方法察看。
man ifconfig
网络接口命名规则
enp0s3en代表以太网p0代表总线0s3是指插槽3.
lo 是 Linux 系统中的本地回环接口Loopback Interface的名称。它是一个特殊的网络接口主要用于在本地计算机内部进行网络通信而无需通过实际的物理网络硬件。
fc表示光纤ge表示千兆以太网xe表示万兆以太网。
配置网络接口IP地址
临时IP地址配置和静态ip地址配置前者通过ifconfig后者修改配置文件。
临时配置ip和路由
ifconfig interface ip netmask netmask
例子
sudo ifconfig enp0s3 192.168.1.12 netmask 255.255.255.0
重启或者重启网络接口之后我们使用ifconfig修改的ip会消失因为它并不保存在任何配置中而是在内存中。
重启网络接口
ifup
ifdown这里我的ssh连接软件直接掉了我刚刚还以为虚拟机又出现问题了发现是ip改变了。ssh连接自然断了。
但是我换了ip之后还是不能连接于是接着看还要配置默认网关。
经过修改ip之后发现路由全部空了。
添加路由又提示
SIOCADDRT网络不可达。
经过查询呢发现是因为添加ip的时候出错重新修改一次临时ip即可。
查看路由
route -n 使用命令添加网关
route add gw 192.168.1.1 enp0s3
这里我报错的原因已经说过了正常情况下
至少有一条这样的 Destination目的地表示目标网络或主机的地址范围。
0.0.0.0 通常表示默认路由指向所有无法匹配的网络流量。
192.168.1.0 表示网络 192.168.1.0/24即 IP 地址范围 192.168.1.0 到 192.168.1.255。
Gateway网关指定该路由条目通过哪个网关发送数据。如果为 0.0.0.0表示直接路由没有中间网关。
在上面的例子中默认路由通过网关 192.168.1.1它通常是路由器的 IP 地址。
Genmask子网掩码定义目的地的子网掩码用于区分网络地址和主机地址。
例如255.255.255.0 表示子网掩码 /24也就是一个拥有 256 个 IP 地址的子网。
Flags标志用于显示路由条目的特性。常见的标志有
U接口已启用Up。
G路由使用网关。
H目标是单一主机Host。
D该路由是由系统动态创建的。
M该路由已被修改。
在示例中UG 表示该路由通过一个网关且该路由项对应的接口是启用状态。Metric度量值表示该路由的优先级。较低的值表示更优先的路由。
在示例中默认路由的度量值是 100而其他直接连接的网络的度量值为 0意味着系统会优先选择直接连接的路由。
Ref引用计数这个字段现在通常没有实际意义始终显示为 0。
Use使用次数表示路由条目被使用的次数但在现代 Linux 系统中通常没有实际意义。
Iface接口指定该路由条目通过哪个网络接口发送数据。例如 enp0s3 是本地的以太网接口。
查看DNS服务
cat /etc/resolv.conf
这个文件展示dns配置。 每个人这里情况不一定一样我这里就告诉我们两件事第一就是这个文件最好不要修改因为会被覆盖。
第二就是管理这个文件的服务为system-resolved。
如果你想修改dns应该去system-resolved那里修改。
如果你不想使用这个服务你可以改变这个文件的链接方向使其指向你自己创建的静态dns配置文件。
下面是内容解释
文件头部的一些注释表明这个文件由 systemd-resolved 动态管理并且这个 /etc/resolv.conf 可能是一个符号链接指向 /run/systemd/resolve/stub-resolv.conf。
systemd-resolved 是一种服务它管理本地和远程 DNS 解析并在现代 Linux 系统中常用于自动化 DNS 配置。
nameserver 127.0.0.53表示系统使用的是本地 DNS 解析器127.0.0.53它是 systemd-resolved 服务的内部 DNS 转发器。
实际的外部 DNS 服务器如 ISP 提供的 DNS 或 Google DNS由 systemd-resolved 管理这里只是本地的一个 DNS 中继。
options edns0 trust-adedns0启用扩展 DNSEDNS用于支持比传统 DNS 更大容量的数据包。
trust-ad表示接受 DNS 服务器返回的认证数据Authenticated Data, AD这通常与 DNSSEC 相关。
search .表示搜索域为空也就是说DNS 查找时不会自动在本地域名后附加其他域。
静态地址配置
neplan是什么
Netplan 是一种用于配置网络的工具主要用于现代 Linux 发行版例如 Ubuntu中管理和配置网络接口。它是 Ubuntu 17.10 及之后版本中的默认网络配置工具旨在简化网络配置管理。
它的配置文件在哪
Netplan 的配置文件通常存放在 /etc/netplan/ 目录中文件名一般是 *.yaml 格式如 00-installer-config.yaml 或 01-netcfg.yaml。每个 YAML 文件定义了网络接口、路由、DNS 等网络配置。 其中会指示具体用的是那种服务管理我们的网络配置。这里就是NetWorkManager。
netplan后端具体的服务
具体由NetworkManager还是
我们要添加静态网络地址或者说永久的地址改变就需要改变这个配置文件。
# Let NetworkManager manage all devices on this system
network:version: 2renderer: NetworkManager
额外的 使用 /etc/network/interfaces 修改旧方法 在一些老版本的 Linux 发行版中如 Ubuntu 16.04 及更早版本可以通过编辑 /etc/network/interfaces 文件来永久修改 IP 地址。 此方法不与NetPlan共存。 配置文件的方法
network:version: 2renderer: networkdethernets:enp0s3:dhcp4: noaddresses:- 192.168.1.100/24gateway4: 192.168.1.1nameservers:addresses:- 8.8.8.8- 8.8.4.4network网络配置的根节点。 version: 2Netplan 配置的版本目前使用的是版本 2。 renderer指定后端工具networkd 使用 systemd-networkd而 NetworkManager 是另一种选择通常用于桌面环境。 ethernets表示以太网接口的配置。 enp0s3指定网络接口名称类似 ifconfig 中的网络接口。 dhcp4: true启用 IPv4 的 DHCP 动态分配。 dhcp6: true启用 IPv6 的 DHCP 动态分配。 Netplan 的常用命令 netplan apply应用网络配置文件的更改立即生效。 netplan generate生成配置测试 YAML 文件是否有语法错误。 netplan try应用更改但允许用户在配置有问题时回滚适合测试新的配置。 配置静态ip
network:version: 2renderer: networkdethernets:enp0s3:addresses:- 192.168.1.100/24gateway4: 192.168.1.1nameservers:addresses:- 8.8.8.8- 8.8.4.4我们这里就是在enp0s3下的addresses项中添加ip地址之后使用netplan apply应用即可。建议使用netplan try
添加路由
network:version: 2renderer: networkdethernets:enp0s3:addresses:- 192.168.1.100/24gateway4: 192.168.1.1routes:- to: 192.168.2.0/24via: 192.168.1.1就是在网卡enp0s3下的routes选项中添加:
-to:ip
via gw
意思是去哪要通过哪个网关。
然后
sudo netplan applynetplan的运行和刚刚说的system-resolved的关系 Netplan 将配置应用到 systemd-networkd 后端。 systemd-networkd 配置网络接口 enp0s3 的 IP 地址、网关并将 DNS 服务器8.8.8.8 和 8.8.4.4告知 systemd-resolved。 systemd-resolved 负责解析 DNS 查询当系统中任何程序进行 DNS 查询时它们会通过 127.0.0.53/etc/resolv.conf 中配置的 DNS 服务器向 systemd-resolved 发起查询。 systemd-resolved 将查询请求转发到实际配置的 DNS 服务器如 8.8.8.8并返回结果。 5. Netplan 与 systemd-resolved 的配置交互 Netplan 提供 DNS 设置Netplan 中的 nameservers 字段用于配置 DNS 服务器。这个配置通过 Netplan 传递到 systemd-networkd 或 NetworkManager然后再传递到 systemd-resolved。 systemd-resolved 管理 DNS 请求systemd-resolved 监听本地地址 127.0.0.53处理所有传入的 DNS 请求并将它们路由到合适的外部 DNS 服务器如 Netplan 配置的 DNS 服务器。