Ubuntu网络配置-桥接和多网卡绑定

本文详细介绍了Ubuntu18.04系统中网络配置的方法,包括使用netplan进行单网卡和多网卡的静态IP配置,以及如何配置静态路由和桥接网络。适用于需要在Ubuntu系统上进行精确网络设置的场景。

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

Ubuntu 18.04⽹络配置:
https://netplan.io/ 官⽅⽂档

注: Ubuntu 从 17.10 开始,已放弃在 /etc/network/interfaces ⾥固定IP的配置,⽽是改成 netplan ⽅式,
配置⽂件是:/etc/netplan/01-netcfg.yaml

ubuntu 17.04及之前的静态IP配置⽅式:

# cat /etc/network/interfaces
root@magedu:~# cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0 #⽹卡⾃启动,写⾃⼰要配置IP的实际⽹卡名称
iface eth0 inet static #配置静态IP,写⾃⼰要配置IP的实际⽹卡名称
address 172.18.3.12 #IP地址
netmask 255.255.0.0 #掩码
gateway 172.18.0.1 #⽹关
dns-nameservers 223.6.6.6 #DNS
dns-nameservers 223.5.5.5
#重启⽹络服务
# /etc/init.d/networking restart
# systemctl restart networking.service

这里和Centos配置文件基本相同,就不在重复赘述,只是配置文件地址有所不同

ubuntu 18.04配置单网卡静态IP地址

#sudo vim /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
	  dhcp6: no
      addresses: [172.20.0.18/16]
      gateway4: 172.20.0.1
      nameservers:
         addresses: [223.6.6.6]

# sudo netplan apply

# vim ~/.vimrc #取消vim ⾃动缩进功能
set paste

ubuntu 18.04配置多⽹卡静态IP以及静态路由

# sudo vim /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
     eth0:
       dhcp4: no
       dhcp6: no
       addresses: [172.18.3.18/16]
       gateway4: 172.18.0.1
       nameservers:
         addresses: [223.6.6.6]
     eth1:
       dhcp4: no
       dhcp6: no
       addresses: [10.20.3.18/16]
       routes:
         - to: 172.20.0.0/16
           via: 10.20.0.1
         - to: 10.20.0.0/16
           via: 10.20.0.1

# sudo netplan apply

ubuntu 18.04的单⽹卡桥接配置

# sudo cat /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
       dhcp4: no
       dhcp6: no
       addresses: [172.20.20.19/16]
       gateway4: 172.20.0.1
       nameservers:
         addresses: [233.6.6.6, 8.8.8.8, 114.114.114.114]
       interfaces:
         - eth0
  
  # sudo netplan apply

ubuntu 18.04多⽹卡的桥接配置,将br0和br1分别桥接到eth0和eth1。

# sudo cat /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
    eth1:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
       dhcp4: no
       dhcp6: no
       addresses: [172.20.20.19/16]
       gateway4: 172.20.0.1
       nameservers:
         addresses: [233.6.6.6, 8.8.8.8, 114.114.114.114]
       interfaces:
         - eth0
  bridges:
    br1:
       dhcp4: no
       dhcp6: no
       addresses: [192.168.146.22/24]
       routes:
          - to: 172.20.0.0/16
            via: 192.168.146.2
          - to: 192.168.146.0/24
            via: 192.168.146.2
       interfaces:
         - eth1
         
 # sudo netplan apply 

以上的情景可以满足大多数使用,如需要进一步如提高带宽或做主备等,可使用bond技术

<think>好的,我现在需要帮助用户解决如何在Linux系统中配置多网卡绑定的LVM桥接模式的问题。首先,我得理清楚用户的需求。用户提到了“多网卡绑定的LVM桥接模式”,这里的LVM可能是指逻辑卷管理,但结合上下文,更可能是指网络桥接中的某种配置,或者用户可能有拼写错误,比如原本想写的是“链路聚合”而不是LVM。因为在网络配置中,LVM通常不直接相关,而链路聚合(如bonding或team)桥接(bridge)是常见的概念。所以可能需要进一步确认,但根据用户提供的引用内容,特别是引用[1]提到“绑定网卡–以太网通道–聚合链路–桥接网络”,这里可能用户是想将多个网卡绑定成一个聚合链路,然后再将其加入桥接网络中,用于虚拟化环境,比如KVM。 接下来,我需要参考用户提供的引用内容。引用[1]提到了Linux系统中的桥接绑定,引用[2][5]涉及使用virt-install创建虚拟机以及虚拟机配置,引用[3][4]讨论了KVM虚拟化的硬件要求QEMU-KVM的架构。因此,用户可能是在虚拟化环境中需要将多个物理网卡绑定成一个桥接接口,以提高网络带宽冗余,供虚拟机使用。 首先,我需要确定配置步骤。通常,配置多网卡绑定(bonding)并桥接的过程大致如下:创建绑定接口(bond),将多个物理网卡加入该bond,然后创建桥接接口(br),将bond接口加入桥接。这样,桥接接口就可以被虚拟机使用,同时底层有多个网卡提供高可用性负载均衡。 接下来,检查用户的引用是否有相关指导。引用[1]提到在Linux系统中使用bridge绑定,但具体命令可能需要进一步查找。引用[3][4]提到KVM需要配置网络桥接,但未直接涉及多网卡绑定。因此,可能需要结合标准的Linux网络配置方法用户提到的工具。 然后,考虑具体的配置步骤。例如,在基于NetworkManager的系统(如RHEL/CentOS 8+)中,可以使用nmcli命令来创建bondbridge。例如,创建bond0,模式为802.3ad(LACP),然后将物理网卡enp1s0enp2s0加入bond0。接着,创建桥接接口br0,并将bond0作为其端口。这样,br0就可以作为桥接接口供虚拟机使用。 同时,需要注意内核模块的支持,比如bonding模块是否加载。用户引用[1]中提到使用lsmod查看kvm模块,但bonding模块同样需要确保加载。此外,配置文件可能需要手动编辑,比如在/etc/sysconfig/network-scripts/下创建ifcfg-bond0ifcfg-br0等文件,但现代系统可能更推荐使用nmcli。 另外,用户提到的LVM可能是一个误解,因为LVM是用于磁盘管理的,而桥接绑定属于网络配置。因此,在回答中可能需要指出这一点,避免用户混淆。 最后,要确保步骤正确,并且适用于用户的具体环境,比如不同的Linux发行版可能有不同的工具(如netplan在Ubuntu中)。同时,要提醒用户检查硬件驱动支持,比如网卡是否支持所需的bonding模式,交换机是否配置了LACP等。 总结步骤大致为: 1. 创建网络绑定接口(bond),选择合适的模式(如mode=4,即802.3ad)。 2. 将物理网卡添加到bond接口。 3. 创建桥接接口(br),并将bond接口作为桥接的端口。 4. 配置KVM使用该桥接接口,确保虚拟机网络通过桥接绑定后的接口通信。 5. 验证配置,测试网络冗余负载均衡是否生效。 同时,需要参考用户提供的引用中的相关信息,比如引用[2]中的virt-install命令使用--network bridge=br0,这需要br0已经存在并正确配置。因此,在步骤完成后,用户创建虚拟机时可以指定桥接为br0,从而利用多网卡绑定的优势。</think>### 分步指南:配置多网卡绑定桥接模式(KVM虚拟化环境) #### 一、核心概念说明 1. **多网卡绑定(Bonding)**:将多个物理网卡聚合为单一逻辑接口,提升带宽冗余性,支持模式包括负载均衡(mode=4/LACP)、主备(mode=1)等[^1]。 2. **桥接网络(Bridge)**:虚拟交换机设备,允许虚拟机通过物理网卡直接接入外部网络[^2]。 3. **LVM网络桥接**:LVM(逻辑卷管理)属于存储管理范畴,网络桥接无直接关联。用户可能混淆了"LVM""链路聚合"(如bonding),此处按网络聚合+桥接方案实现。 #### 二、配置步骤(以RHEL/CentOS为例) 1. **加载bonding内核模块**: ```bash modprobe bonding lsmod | grep bonding # 验证模块加载 ``` 2. **创建绑定接口(bond0)**: ```bash nmcli connection add type bond con-name bond0 ifname bond0 mode 802.3ad # 使用LACP模式 nmcli connection add type ethernet con-name eth-slave1 ifname enp1s0 master bond0 nmcli connection add type ethernet con-name eth-slave2 ifname enp2s0 master bond0 ``` 3. **配置桥接接口(br0)并绑定bond0**: ```bash nmcli connection add type bridge con-name br0 ifname br0 nmcli connection modify br0 bridge.stp no # 关闭生成树协议(单交换机环境) nmcli connection add type bridge-slave con-name bond-slave ifname bond0 master br0 ``` 4. **验证绑定桥接状态**: ```bash cat /proc/net/bonding/bond0 # 查看bond状态 bridge link show br0 # 查看桥接端口 ip link show br0 # 查看桥接接口IP ``` #### 三、KVM虚拟机配置桥接网络 1. **修改虚拟机XML定义**(以virsh为例): ```xml <interface type='bridge'> <source bridge='br0'/> <model type='virtio'/> </interface> ``` 或使用`virt-install`直接指定桥接: ```bash virt-install --network bridge=br0,... [^2] ``` 2. **验证虚拟机网络连通性**: ```bash virsh domiflist <VM_NAME> # 查看虚拟机网卡绑定状态 ``` #### 四、高级优化建议 1. **交换机配合**:若使用LACP(mode=4),需在交换机启用802.3ad聚合。 2. **性能调优**:通过`ethtool`设置网卡多队列: ```bash ethtool -L enp1s0 combined 4 # 启用4个传输队列 ``` 3. **故障切换测试**:拔掉一个物理网卡观察流量切换是否正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值