如何在 Ubuntu 上使用 Netplan 配置网络

本文介绍了如何在Ubuntu 18.04 LTS上使用Netplan配置网络接口,包括设置静态IP和动态IP。Netplan用YAML配置文件替换了传统的/etc/network/interfaces。配置涉及编辑/etc/netplan/*.yaml文件,根据需求添加或不添加IP、网关和DNS信息,然后使用netplan try和netplan apply命令测试和应用配置。最后,通过重启网络服务并验证IP地址来确认配置生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netplan 基于 YAML 的配置系统,使得配置过程非常简单。Netplan 替换了我们之前在 Ubuntu 中用于配置网络接口的旧配置文件/etc/network/interfaces

在本文中,我们将学习如何使用 Netplan 在 Ubuntu 中配置网络。我们将看到静态和动态 IP 配置。我将使用 Ubuntu 18.04 LTS 来描述本文中提到的过程。

使用 Netplan 配置网络

您可以在/etc/netplan/*.yaml找到新的配置文件。Ubuntu 服务器为 system- networkd生成名为01-netcfg.yaml的 Netplan 配置文件,而 Ubuntu 桌面为 Network-Manager 生成名为01-network-manager-all.yaml的 Netplan 配置文件

当我在 Ubuntu 桌面上工作时,我的/etc/ netplan目录中有01-network-manager-all.yaml文件用于网络配置。01-network-manager-all.yaml用于配置第一个接口。如果您有多个接口,请使用02-network-manager-all.yaml作为第二个接口。Netplan 按数字顺序应用配置。这意味着 01 文件将在 02 文件之前应用。

现在让我们转向网络配置。按照以下步骤在 Ubuntu 中配置静态或动态 IP 地址:

1. 首先,找到要配置的活动网络接口的名称。为此,请运行以下命令:

$ip a

IP命令

记下要使用 Netplan 配置的接口名称。

2. Netplan默认配置文件在/etc/netplan目录下您可以使用以下命令找到:

$ ls /etc/netplan/

网络规划配置文件

3、查看Netplan网络配置文件的内容,执行以下命令:

$ cat /etc/netplan/*.yaml

Netplan 网络配置文件的内容

4. 现在你需要在任何编辑器中打开配置文件: 由于我使用 Nano 编辑器来编辑配置文件,所以我将运行:

$ sudo nano /etc/netplan/*.yaml

编辑网络配置

5. 根据您的网络需要更新配置文件。对于静态 IP 寻址,添加 IP 地址、网关、DNS 信息,而对于动态 IP 寻址,无需添加此信息,因为它将从 DHCP 服务器获取此信息。使用以下语法编辑配置文件。

network:
    Version: 2
    Renderer: NetworkManager/ networkd
    ethernets:
       DEVICE_NAME:
          dhcp4: yes/no
          addresses: [IP_ADDRESS/NETMASK]
          gateway: GATEWAY
          nameservers:
             addresses: [NAMESERVER_1, NAMESERVER_2]

此处说明

DEVICE_NAME:接口的名称。

dhcp4取决于动态或静态 IP 寻址

addresses:设备的 IP 地址以前缀表示法。不要使用网络掩码。

gateway:连接到外部网络的网关 IP 地址

nameservers : DNS 名称服务器的地址

请注意,Yaml 文件的缩进相当严格。使用空格来缩进,而不是制表符。否则,您将遇到错误。

在 Ubuntu 中配置静态 IP 地址

要手动配置 IP 地址,请使用上述配置文件语法并添加 IP 地址、网关和 DNS 服务器信息。在这里您可以看到我的静态 IP 寻址配置文件:

IP地址配置

在 Ubuntu 中配置动态 IP 地址

要从 DHCP 服务器获取 IP 地址,请使用与上述配置文件相同的语法。但不要添加 IP 地址、网关和 DNS 服务器信息。

在这里您可以看到我的动态 IP 寻址配置文件:

网卡的 Ubuntu DHCP 配置

完成静态或动态 IP 配置后,保存并退出配置文件。

测试配置

在应用任何更改之前,我们将测试配置文件。以 sudo 身份运行以下命令以测试配置:

$ sudo netplan try

使用 netplan try 命令测试配置

如果没有问题,它将返回配置接受消息。如果配置文件未通过测试,它将恢复为以前的工作配置。

应用配置

现在通过以 sudo 身份运行以下命令来应用新配置:

$ sudo netplan apply

应用网络配置更改

如果您看到任何错误,请尝试调试以调查问题。要运行调试,请使用以下命令作为 sudo:

$ sudo netplan –d apply

重启网络服务

成功应用所有配置后,通过运行以下命令重新启动网络管理器服务:

$ sudo systemctl restart network-manager

如果您使用的是 Ubuntu 服务器,请改用以下命令:

$sudo systemctl restart system-networkd

验证 IP 地址

现在要验证新配置是否成功应用,请运行以下命令来验证 IP 地址:

$ ip a

无论您拥有 Ubuntu 服务器还是台式机,您都可以简单地使用 Netplan 配置静态或动态 IP 寻址,而无需任何复杂的配置。

### 回答1: 在 Karma Proxies 中,可以使用 `beforeSend` 函数来设置请求头部。该函数接收一个参数,即请求对象,可以对其进行修改。 示例代码: ``` karmaProxies.proxies = { '/api/*': { target: 'http://localhost:3000', beforeSend: function(req) { req.setRequestHeader('X-Custom-Header', 'value'); } } }; ``` 这样, 每次在请求匹配 '/api/*' 的请求时, 都会在请求头部添加 X-Custom-Header:value。 ### 回答2: Karma Proxies 是一个可以用于进行代理请求的工具,通过设置 headers 可以实现更灵活的请求管理。 在使用 Karma Proxies 进行代理请求时,通过设置 headers 可以对请求的头部信息进行修改和添加。这可以用于模拟特定的请求环境,也可以用于伪装请求的来源,增加请求的安全性。 要设置 headers,首先需要创建一个 headers 对象,包含要设置的头部信息。可以通过设置键值对的方式,指定特定的头部字段和对应的值。例如,可以设置 User-Agent 头部字段来模拟不同的用户代理: ```javascript const headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36' }; ``` 接下来,在进行代理请求时,可以将 headers 对象作为参数传入。例如,使用 axios 发送一个 GET 请求: ```javascript axios.get('https://example.com', { headers }) .then(response => { // 处理响应数据 }) .catch(error => { // 处理错误 }); ``` 以上代码中,通过传入 headers 对象,可以在发送请求时自动包含指定的头部信息。 除了设置键值对的方式,还可以使用方法来动态设置 headers。例如,可以使用 axios 的 interceptors 在每个请求前动态设置 headers。这样可以根据需求在不同的请求中设置不同的头部字段和值。 总之,通过设置 headers,可以在使用 Karma Proxies 进行代理请求时轻松地修改和添加头部信息,实现更灵活的请求管理和模拟不同的请求环境。 ### 回答3: Karma Proxies是一个用于代理服务器的软件。为了设置header,需要在Karma Proxies的配置文件中进行相应的操作。 首先,在Karma Proxies的配置文件中找到要设置header的位置,在该位置添加如下代码: ``` headers: { 'HeaderName1': 'HeaderValue1', 'HeaderName2': 'HeaderValue2' } ``` 在代码中,'HeaderName1'和'HeaderName2'分别是要设置的header的名称,'HeaderValue1'和'HeaderValue2'分别是对应header的值。你可以根据自己的需求添加或删除更多的header。 例如,如果我们想在header中设置User-Agent,可以如下设置: ``` headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' } ``` 以上代码将在每个请求的header中添加一个User-Agent字段,并将其值设置为指定的字符串。 接下来,保存配置文件并重新启动Karma Proxies。这样,你的设置就会生效。当使用Karma Proxies进行代理时,会自动在请求的header中设置你指定的header。 通过这样的设置,你可以为每个请求自定义header,以满足不同的需求,例如模拟特定的浏览器环境或传递特定的认证信息等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值