Ubuntu 配置网络接口端点(静态 IP 地址)详细教程

在 Ubuntu 系统中,配置网络接口端点通常指的是为您的有线或无线网卡设置一个固定的 IP 地址、子网掩码、网关以及 DNS 服务器。这对于服务器或者需要稳定网络标识的设备来说非常重要。

  1. 使用 Netplan (Ubuntu 17.10 及更高版本的默认方式)
  2. 使用 ifupdown (通过 /etc/network/interfaces 文件,适用于 Ubuntu 16.04 及更早版本,或某些特定场景下仍可能使用)

Ubuntu博客: https://cn.ubuntu.com/blog/
Ubuntu文档: https://ubuntu.com/blog/tag/documentation/
Ubuntu教程: https://ubuntu.com/tutorials/


步骤一:识别您的网络接口名称

在开始配置之前,您需要知道要配置的网络接口的名称。

打开终端,输入以下命令之一:

ip addr

或者,如果 ifconfig 已安装(较旧的系统或手动安装):

ifconfig -a

在输出中,您会看到类似 eth0, enp0s3, wlp2s0 (无线网卡) 等名称。记下您希望配置静态 IP 的那个接口的名称。例如,我们假设您的接口名称是 enp0s3


方法一:使用 Netplan 配置静态 IP (Ubuntu 17.10 及更高版本)

Netplan 是 Ubuntu 较新版本中用于网络配置的工具。它使用 YAML 格式的配置文件。

1. 定位并备份 Netplan 配置文件:

Netplan 的配置文件通常位于 /etc/netplan/ 目录下。文件名可能有所不同,常见的有 01-netcfg.yaml, 50-cloud-init.yaml, 或其他以 .yaml 结尾的文件。

首先,列出该目录下的文件以确定您的配置文件名:

ls /etc/netplan/

假设您的配置文件是 01-netcfg.yaml。在编辑之前,强烈建议备份它:

sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak

2. 编辑 Netplan 配置文件:

使用您喜欢的文本编辑器(如 nanovim)打开配置文件。这里以 nano 为例:

sudo nano /etc/netplan/01-netcfg.yaml

3. 配置静态 IP 地址:

您需要修改文件内容,使其包含静态 IP 的配置。以下是一个示例,请根据您的实际网络环境和需求进行修改:

network:
  version: 2
  renderer: networkd  # 或者 network-manager,取决于您的系统,通常服务器为 networkd
  ethernets:
    enp0s3:  # <-- 将 'enp0s3' 替换为您的实际网络接口名称
      dhcp4: no          # 关闭 IPv4 DHCP
      dhcp6: no          # 可选:关闭 IPv6 DHCP
      addresses:
        - 192.168.1.100/24  # <-- 设置您的静态 IP 地址和子网掩码 (CIDR 格式)
        # - 2001:db8::c001/64 # 可选:IPv6 地址示例
      # routes: # 旧版 Netplan 使用 'gateway4:',新版倾向于使用 'routes:'
      #   - to: default
      #     via: 192.168.1.1 # <-- 设置您的默认网关
      gateway4: 192.168.1.1    # <-- 设置您的 IPv4 默认网关 (对于较新版 Netplan,可注释掉此行,使用上面的 routes)
      # gateway6: 2001:db8::1  # 可选:IPv6 网关示例
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1] # <-- 设置您的 DNS 服务器地址 (例如 Google DNS 和 Cloudflare DNS)
        # search: [mydomain.local]      # 可选:DNS 搜索域

关键参数解释:
* version: 2: Netplan 配置文件的版本。
* renderer: 指定后端网络管理工具。服务器通常使用 networkd,桌面版可能使用 NetworkManager。您可以通过 cat /etc/netplan/your-config-file.yaml 查看当前 renderer。如果您的系统使用 NetworkManager 并且希望继续由它管理,请将 renderer 设置为 NetworkManager
* ethernets: 定义有线网络接口的配置。如果是无线接口,这里可能是 wifis
* enp0s3: 将此替换为您的实际网络接口名称。
* dhcp4: no: 禁用 IPv4 DHCP。如果您希望通过 DHCP 获取 IP,请设置为 yes,并删除 addressesgateway4/routes 的配置。
* addresses: 一个列表,包含一个或多个 IP 地址及其子网掩码(使用 CIDR 表示法)。
* 例如 192.168.1.100/24 表示 IP 地址 192.168.1.100,子网掩码 255.255.255.0
* gateway4: IPv4 默认网关的 IP 地址。
* 注意: 较新版本的 Netplan 推荐使用 routes 来定义默认网关,如下所示:
yaml routes: - to: default via: 192.168.1.1
如果同时存在 gateway4routes 中定义的默认网关,Netplan 可能会报错或行为不确定。建议使用其中一种。
* nameservers:
* addresses: 一个 DNS 服务器 IP 地址的列表。

4. 应用 Netplan 配置:

保存并关闭文件后(在 nano 中是 Ctrl+O 保存, Enter 确认, Ctrl+X 退出),应用新的网络配置:

sudo netplan apply

如果命令执行成功且没有错误提示,那么配置应该已经生效。

如果遇到问题,可以使用以下命令来获取更详细的调试信息:

sudo netplan --debug apply

这将帮助您定位 YAML 文件中的语法错误或其他配置问题。

5. 验证网络配置:

使用以下命令检查 IP 地址是否已正确设置:

ip addr show enp0s3  # 将 'enp0s3' 替换为您的接口名称

您应该能看到您配置的静态 IP 地址。

测试网络连接和 DNS 解析:

ping -c 3 192.168.1.1  # ping 您的网关
ping -c 3 google.com   # ping 一个外部地址以测试 DNS 和外网连接

方法二:使用 ifupdown (通过 /etc/network/interfaces) 配置静态 IP (Ubuntu 16.04 及更早版本或特定情况)

对于较旧的 Ubuntu 版本,或者在某些特定情况下(例如,如果系统明确配置为不使用 Netplan),您可能需要编辑 /etc/network/interfaces 文件。

1. 备份 /etc/network/interfaces 文件:

sudo cp /etc/network/interfaces /etc/network/interfaces.bak

2. 编辑 /etc/network/interfaces 文件:

sudo nano /etc/network/interfaces

3. 配置静态 IP 地址:

您需要修改或添加与您的网络接口相关的配置段。以下是一个示例:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface (将 'enp0s3' 替换为您的接口名称)
auto enp0s3
iface enp0s3 inet static
    address 192.168.1.100      # <-- 您的静态 IP 地址
    netmask 255.255.255.0      # <-- 您的子网掩码
    gateway 192.168.1.1        # <-- 您的默认网关
    dns-nameservers 8.8.8.8 1.1.1.1 # <-- 您的 DNS 服务器 (用空格分隔多个)
    # dns-search mydomain.local    # 可选:DNS 搜索域

关键参数解释:
* auto enp0s3: 表示在系统启动时自动启用名为 enp0s3 的接口。
* iface enp0s3 inet static: 表示将 enp0s3 接口配置为使用静态 IPv4 地址。
* address: 您的静态 IP 地址。
* netmask: 您的子网掩码。
* gateway: 您的默认网关 IP 地址。
* dns-nameservers: 一个或多个 DNS 服务器的 IP 地址,用空格分隔。

如果您的接口之前是通过 DHCP 配置的,相关的行可能看起来像:

# iface enp0s3 inet dhcp

您需要注释掉(在行首加 #)或删除 DHCP 配置行,然后添加上面的静态配置。

4. 应用网络配置:

保存并关闭文件后,您需要重新启动网络服务或单独重置该接口以使更改生效。

  • 重启网络服务 (可能会短暂中断所有网络连接):

    sudo systemctl restart networking.service
    

    或者在非常旧的系统上:

    sudo /etc/init.d/networking restart
    
  • 单独重置接口 (推荐,影响范围较小):

    sudo ifdown enp0s3 && sudo ifup enp0s3
    

    这会先禁用接口,然后再启用它,加载新的配置。如果 ifdown 失败(例如,因为接口正忙),您可能需要先 sudo ifconfig enp0s3 downsudo ifup enp0s3,或者直接重启网络服务/系统。

5. 验证网络配置:

使用以下命令检查 IP 地址是否已正确设置:

ip addr show enp0s3  # 或者 ifconfig enp0s3

您应该能看到您配置的静态 IP 地址。

测试网络连接和 DNS 解析:

ping -c 3 192.168.1.1  # ping 您的网关
ping -c 3 google.com   # ping 一个外部地址以测试 DNS 和外网连接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值