linux下netplan的使用

阅读数:99 评论数:0

跳转到新版页面

分类

Linux

正文

一、子网掩码

它用于划分 IP 地址,使其能够区分网络部分和主机部分,从而实现网络的子网划分和管理。

1、区分网络地址和主机地址

  • 子网掩码将一个 IP 地址分为两部分:网络部分和主机部分。
  • 网络部分用于标识特定的网络,主机部分用于标识网络中的具体设备。

2、子网划分

  • 子网掩码允许网络管理员将一个大的网络划分为多个较小的子网,从而提高网络的管理效率和安全性。
  • 每个子网可以有自己的广播域和路由策略。

3、确定网络范围

  • 子网掩码帮助确定一个网络的有效 IP 地址范围。
  • 通过子网掩码,可以计算出网络地址、广播地址以及可用的主机地址范围。

4、示例

  • 子网1:192.168.1.0/25

    • 网络地址:192.168.1.0
    • 广播地址:192.168.1.127
    • 可用主机地址:192.168.1.1 到 192.168.1.126
  • 子网2:192.168.1.128/25

    • 网络地址:192.168.1.128
    • 广播地址:192.168.1.255
    • 可用主机地址:192.168.1.129 到 192.168.1.254

通过这种方式,你可以有效地管理和分配 IP 地址,减少广播域,提高网络性能和安全性。

二、路由

1、在routes字段中,每个路由条目可以包含以下参数:

routes 字段中,每个路由条目可以包含以下参数:

  • to:目标网络或主机的 IP 地址和子网掩码。例如,192.168.2.0/24 表示目标网络为 192.168.2.0,子网掩码为 255.255.255.0。你也可以指定单个主机,例如 192.168.2.1/32

  • via:下一跳网关的 IP 地址。数据包将通过这个网关转发到目标网络。例如,192.168.1.1

  • metric(可选):路由的度量值,用于确定路由的优先级。度量值越低,优先级越高。默认值通常为 100。

  • on-link(可选):布尔值,指定目标是否被认为是直接连接的(即使它实际上不是)。这在某些特殊情况下可能有用。

  • table(可选):路由表的编号或名称,用于高级路由策略。

  • scope(可选):指定路由的范围,可以是 globallinkhost

  • type(可选):指定路由的类型,可以是 unicastlocalbroadcastmulticastthrowunreachableprohibitblackholenat

2、示例

(1)基本静态路由

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.10/24
      routes:
        - to: 192.168.2.0/24
          via: 192.168.1.1

(2)多个静态路由

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.10/24
      routes:
        - to: 192.168.2.0/24
          via: 192.168.1.1
          metric: 100
        - to: 192.168.3.0/24
          via: 192.168.1.2
          metric: 200

(3)高级路由

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.10/24
      routes:
        - to: 192.168.2.0/24
          via: 192.168.1.1
          metric: 100
          on-link: true
          table: 100
          scope: global
          type: unicast

三、routing-policy

在 Netplan 中,routing-policy 字段用于配置高级路由策略(Policy-Based Routing, PBR)。PBR 允许你基于源地址、目的地址、输入接口等条件来选择不同的路由表,从而实现更灵活的路由控制。

1、字段

routing-policy 字段中,每个策略条目可以包含以下参数:

  • from(可选):指定源地址或源网络。例如,192.168.1.0/24 表示从 192.168.1.0192.168.1.255 的所有地址。
  • to(可选):指定目的地址或目的网络。例如,192.168.2.0/24 表示到 192.168.2.0192.168.2.255 的所有地址。
  • table(必选):指定路由表的编号或名称。这个表将用于匹配该策略的流量。
  • priority(可选):指定策略的优先级。优先级越低,优先级越高。默认优先级通常为 32767。
  • mark(可选):指定数据包标记,用于流量分类。
  • type(可选):指定策略的类型,可以是 unicastlocal 等。

2、示例

(1)基于源地址的路由策略

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.10/24
      routes:
        - to: 192.168.2.0/24
          via: 192.168.1.1
          table: 100
      routing-policy:
        - from: 192.168.1.0/24
          table: 100
          priority: 100

在这个示例中:

  • 定义了一条到 192.168.2.0/24 的路由,通过网关 192.168.1.1,使用路由表 100。
  • 配置了一个路由策略,指定从 192.168.1.0/24 源地址范围内的流量使用路由表 100,优先级为 100。

(2)基于目的地址的路由策略

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.10/24
      routes:
        - to: 192.168.3.0/24
          via: 192.168.1.1
          table: 200
      routing-policy:
        - to: 192.168.3.0/24
          table: 200
          priority: 200

在这个示例中:

  • 定义了一条到 192.168.3.0/24 的路由,通过网关 192.168.1.1,使用路由表 200。
  • 配置了一个路由策略,指定到 192.168.3.0/24 目的地址范围内的流量使用路由表 200,优先级为 200。

 




相关推荐

一、概述 iproute2用于替代net-tools,二者提供了类似的功能,但使用不同的命令和语法。 虽然 net-tools 命令集在过去被广泛使用,但现在推荐使用 iproute2 命令集中的 i