如何在Ubuntu 18.04中创建绑定接口?


11

我正在尝试将Ubuntu服务器重新安装到18.04。

我发现18.04使用Netplan,并且在使用它创建绑定接口时遇到了麻烦。

更新的配置:

############# BOND - VLAN ##################
network:
    version: 2
    renderer: networkd
    ethernets:
        switchports:
            match: {name: "ens*"}
    bonds:
        bond0:
            interfaces: [switchports]
            parameters:
                mode: balance-alb
    vlans:
        inet:
            id: 50
            link: bond0
            addresses: [X.X.X.X/24]
            gateway4: X.X.X.252
            dhcp4: no
            nameservers:
                addresses: [X.X.X.33]

看来我不应该有2个match语句,并且在单个语句中没有ens *做到了-我将在工作时清理它。

我已经安装了ifenslave&bridge-utils,因为有人建议这样做,但还是没有。

此外,我还在中启用了绑定模块/etc/modules

我最初的问题是接口处于UP状态,但是我只能ping接口本身,而不能进行其他任何操作。

我无法使它正常工作,所以我最终重命名了/etc/netplan/<name>.yaml文件并安装了ifupdown

如果有人对为什么它不起作用有任何线索,我很高兴知道:)


您的第二个示例看起来不错。您能否详细说明为什么它对您不起作用?您有点遗忘了问题所在。再做一点备份,如果您不介意编辑整个问题以删除您先前尝试过的内容,并给出问题(当前配置),那将有助于其他人在阅读时找到帮助。:)
dbb

它仍然是同样的问题,我可以看到债券接口最多的IP地址地址,但我不能自身以外的任何平..我会收拾我的帖子时,我在一台PC😊是
moxom

Answers:


4

我安装了Ubuntu Server,令人惊讶的是它询问我是否要设置绑定。

这是已设置的yaml文件:

Location: /etc/netplan/ 

File Name: 50-cloud-init.yaml

File Structure:

# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disablecloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
   bonds:
       bond0:
           addresses: []
           interfaces:
           - enp5s4
           - enp5s9
           - enp64s0
           parameters:
               lacp-rate: fast
               mode: 802.3ad
               transmit-hash-policy: layer2
       ethernets:
           enp5s4:
               addresses: []
               dhcp4: false
               dhcp6: false
           enp5s9:
               addresses: []
               dhcp4: false
               dhcp6: false
           enp64s0:
               addresses: []
               dhcp4: false
               dhcp6: false
version: 2

当我详细了解Ubuntu中较新的网络配置样式时,我将对其进行更新。

更新

要将其更改为静态地址,请执行以下操作:

 sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.old

!注意!您的默认* .yaml文件名可能不同。

 sudo touch /etc/netplan/my-network-file.yaml

!注意!您可以根据需要命名配置文件,只需确保它以.yaml结尾即可

sudo nano /etc/netplan/my-network-file.yaml

在此文件(my-network-file.yaml)中,从上方复制并添加以下更改:

network:
   bonds:
       bond0:
           addresses: [192.168.0.8/24]
           gateway4: 192.168.0.1
           nameservers:
              addresses: [8.8.8.8,8.8.4.4]
           interfaces:
           - enp5s4
           - enp5s9
           - enp64s0

确保更改IP地址以反映您的网络。之后,我只是重新启动了计算机,新的网络配置已加载并正常工作。

您也可以使用:

sudo netplan apply

这应该应用新配置,而无需重新启动。

旁注您可能需要观察间距,而不要使用制表符,因为这可能会导致配置文件出现问题。

如果不确定网络接口,可以执行以下操作之一

lshw -class network 

要么

ip link show

希望这可以帮助!


有趣!似乎为netplan问题发布解决方案的每个人都有不同的方法。我刚刚发布了这个问题,我想尝试一下您的方法,但是您的回答在一个方面似乎有点模棱两可:In this file copy from above and append the following changes:您介意显示完整的文件清单和文件名吗?
Seamus

我更新了答案。我引用的文件是您创建的新的网络Yaml文件。即(my-network-file.yaml)
Kyle Coots

这非常有帮助-谢谢,并+1。正是这样,我很清楚这一点:是否netplan汇总/合并.yaml文件?换句话说,如果我将这一bonds节放在一个yaml文件中,而将该ethernets节放在另一个yaml文件中(都在中/etc/netplan),那么系统是否可以将这些文件组合起来以获得“全部”配置?
Seamus

我不确定。我敢说不,但我可能是错的。
Kyle Coots

1
我已经回答了我的问题。我想与您分享这些问题,因为这些问题都是相关的,您可能希望将其纳入您的答案中。具体来说,有两个项目:1. You should never have to run cloud-init again on an Ubuntu Server system installed with the new server installer和2. the messages in /etc/netplan pointing you to /etc/cloud/cloud.cfg.d are an error that we're working on correcting. 这个Netplan业务有希望,但是“那里”有很多相互矛盾的信息。
Seamus,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.