天天看点

Linux网络配置文件子网掩码、网关、等参数详解及应用示例

作者:运维木子李

子网掩码、网关等参数的详细说明

在Ubuntu 20.04中,网络配置文件的位置是/etc/netplan/目录下的.yaml文件。下面是对子网掩码、网关等参数的详细说明,并附带一个在Ubuntu 20.04中的示例配置:

  • 子网掩码(Subnet Mask):子网掩码用于确定一个IP地址的网络部分和主机部分。它是一个32位的二进制数,通常以点分十进制表示,如255.255.255.0。子网掩码中的“1”表示对应的位是网络部分,而“0”表示对应的位是主机部分。
  • 网关(Gateway):网关是连接本地网络和其他网络之间的设备。它通常是一个路由器,用于将数据包从本地网络发送到其他网络。网关的IP地址在本地网络中必须是唯一的,而且网关的IP地址必须与本地网络的IP地址在同一个子网中。
  • IP地址(IP Address):IP地址是在TCP/IP网络中用于唯一标识设备的地址。它由四个八位的数字组成,每个数字的范围是0-255,例如192.168.1.10。IP地址分为网络部分和主机部分,子网掩码用于确定它们的边界。
  • DNS服务器(DNS Server):DNS服务器用于将域名解析为对应的IP地址。它是在网络中提供域名解析服务的服务器。在网络配置文件中,可以指定一个或多个DNS服务器的IP地址,以便系统可以正确解析域名。

网络配置文件中常见参数的详细解释

在Ubuntu Server 20.04 LTS中,网络配置文件通常位于/etc/netplan/目录下,并以.yaml为扩展名。这些配置文件使用Netplan工具进行管理和应用。

以下是网络配置文件中常见参数的详细解释:

  • network:指定网络配置的主要部分。
  • version:指定Netplan配置文件的版本号,通常为2。
  • ethernets:定义以太网接口的配置。
  • wifis:定义Wi-Fi接口的配置。
  • renderer:指定网络管理器的类型,如networkd或NetworkManager。
  • dhcp4:指定是否使用DHCP获取IPv4地址。设置为true表示使用DHCP,设置为false表示使用静态IP。
  • dhcp6:指定是否使用DHCP获取IPv6地址。
  • addresses:指定静态IP地址和子网掩码。例如,addresses: [192.168.1.10/24]将接口的IP地址设置为192.168.1.10,子网掩码为24位(255.255.255.0)。
  • gateway4:指定IPv4网关的IP地址。
  • gateway6:指定IPv6网关的IP地址。
  • nameservers:指定DNS服务器的IP地址。可以指定一个或多个DNS服务器。例如,nameservers: [8.8.8.8, 8.8.4.4]将设置两个DNS服务器地址为8.8.8.8和8.8.4.4。

networkd 和NetworkManager的区别和联系

networkd和NetworkManager是两种常见的网络管理器,用于配置和管理网络连接。它们在功能、用途和工作方式上有一些区别和联系。

区别:

  1. 功能和复杂性:NetworkManager提供了更多高级功能和灵活性,例如自动连接、连接优先级、无线热点、移动宽带、VPN等。相比之下,networkd是一个更基本、更轻量级的网络管理器,适用于简单的网络配置和服务器环境。
  2. 用户界面:NetworkManager提供了图形化的用户界面,使得用户可以方便地通过系统托盘或应用程序进行网络配置。而networkd主要通过命令行工具进行配置,需要在配置文件中手动编辑网络设置。
  3. 依赖关系:NetworkManager较为复杂,依赖许多其他软件包和库。而networkd是systemd的一部分,作为其网络配置的组件,因此与systemd其他组件有较强的集成性。

联系:

  1. 兼容性:NetworkManager和networkd都能够管理和配置以太网、Wi-Fi、移动宽带等各种类型的网络连接。它们都支持IPv4和IPv6协议。
  2. 配置文件:NetworkManager和networkd都使用配置文件来定义网络设置。配置文件的格式和语法略有不同,但都提供了灵活的选项来配置网络接口、IP地址、子网掩码、网关、DNS服务器等。
  3. 共存:在某些情况下,NetworkManager和networkd可以同时存在于同一台计算机上,可以根据需要选择使用哪个网络管理器。

综上所述,NetworkManager适用于桌面环境和需要更高级网络功能的情况,而networkd适用于服务器环境或对网络配置要求较简单的场景。具体选择哪个网络管理器取决于你的需求和偏好。

使用networkd和NetworkManager作为网络管理器示例

以下是针对Ubuntu Server 20.04 LTS的示例网络配置文件,分别使用networkd和NetworkManager作为网络管理器的例子:

使用networkd作为网络管理器的示例配置文件

# /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
      addresses:
        - 192.168.1.10/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]           

上述配置文件禁用了DHCP,设置了静态IP地址为192.168.1.10/24,网关为192.168.1.1,DNS服务器为8.8.8.8和8.8.4.4。

使用NetworkManager作为网络管理器的示例配置文件:

# /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eth0:
      dhcp4: true           

上述配置文件启用了DHCP,使接口通过DHCP自动获取IPv4地址。

请注意,在修改网络配置文件后,需要使用sudo netplan apply命令使配置生效。对于NetworkManager,你可能需要在系统中安装相应的软件包。使用以下命令安装:

sudo apt update
sudo apt install network-manager           

安装完成后,你可以使用sudo systemctl start NetworkManager命令启动NetworkManager服务,并使用sudo systemctl enable NetworkManager命令设置为系统启动时自动启动。

继续阅读