如何在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.