在Linux 中,如何配置网桥?如何配置虚拟网络?

本章主要学习的是linux中如何设置网桥和虚拟网络的配置

一、网桥的配置

在Linux系统中配置一个新的网桥主要涉及以下几个步骤

  1. yum仓库做准备,安装组件epel-release
c 复制代码
sudo yum -y install epel-release
  1. yum仓库中安装bridge-utils
c 复制代码
 cd /etc/yum.repos.d/
 sudo yum -y install bridge-utils
  1. 查看网桥信息
c 复制代码
 brctl show

如图:

  1. 创建网桥
c 复制代码
brctl addbr f1br1

其中f1br1是网桥名,可自己定义

  1. 启用或配置

编辑网桥的配置文件,在/etc/sysconfig/network-scripts/目录下创建一个类似于ifcfg-f1br1的文件,如果你使用的是Systemd-networkd,则是在/etc/systemd/network/目录下创建对应的netdevetwork单元文件

System V初始化脚本风格

c 复制代码
echo -e "DEVICE=f1br1\nBOOTPROTO=dhcp\nONBOOT=yes" | sudo tee /etc/sysconfig/network-scripts/ifcfg-f1br1

或者静态配置IP地址

c 复制代码
echo -e "DEVICE=f1br1\nIPADDR=192.168.1.10\nNETMASK=255.255.255.0\nGATEWAY=192.168.1.1\nDNS1=8.8.8.8\nONBOOT=yes" | sudo tee /etc/sysconfig/network-scripts/ifcfg-f1br1
  1. 创建/etc/systemd/network/10-f1br1.netdev

这里我使用的echo -e 命令,也可以使用vim编辑器编辑10-f1br1.netdev的内容,

c 复制代码
mkdir /etc/systemd/network/10-f1br1.netdev -p
 echo -e "[NetDev]\nName=f1br1\nKind=bridge" | sudo tee /etc/systemd/network/10-f1br1.netdev

文件10-f1br1.netdev的内容为:

NetDev

Name=br0

Kind=bridge

  1. 接着创建/etc/systemd/network/20-br0.network文件
c 复制代码
mkdir /etc/systemd/network/20-f1br1.network -p
echo -e "[Match]\nName=f1br1\n[Network]\nDhcp=yes"| tee /etc/systemd/network/20-f1br1.network

文件20-br0.network的内容为:

Match

Name=br0

Network

DHCP=yes # 如果使用DHCP动态获取IP
#或者配置静态IP

Address=192.168.1.10/24

Gateway=192.168.1.1

DNS=8.8.8.8

Route

如有必要,可在此添加默认路由或其他路由信息

  1. 查看网卡配置信息并且将物理网卡加入网桥

查看物理网卡

c 复制代码
ip addr show

如:

添加至网桥

c 复制代码
 brctl addif f1br1 ens160
  1. 重启服务
c 复制代码
 systemctl restart network-online.target 
 systemctl restart systemd-network-generator.service 
  1. 检查是否配置成功
c 复制代码
 ip link show f1br1

如:


二、虚拟网络的创建

在Linux中,使用KVM和libvirt管理虚拟机的情况下,定义一个新的虚拟网络通常涉及到创建一个XML配置文件,然后使用virsh命令行工具来定义和管理网络。

  1. 创建XML配置文件

创建一个XML文件,例如 f1br1.xml,并编写虚拟网络的配置。

以下是一个基本的内部网络(私有网络)的示例配置:

xml 复制代码
<network>
  <name>f1br1</name>
  <uuid>YOUR_NETWORK_UUID</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='f1br11' stp='on' delay='0'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

创建了一个带有NAT转发模式的网络,网络桥名为virbr1,并设置了DHCP服务分配的IP地址范围。

  1. 定义虚拟网络

使用virsh net-define命令加载配置文件来定义网络:

bash 复制代码
sudo virsh net-define f1br1.xml
  1. 启动虚拟网络
bash 复制代码
sudo virsh net-start f1br1.xml
  1. 设置网络开机自启动
bash 复制代码
sudo virsh net-autostart f1br1
  1. 查看虚拟网络状态
bash 复制代码
virsh net-list 

这篇文章中,可能会在实际有些小差错,有哪些不好的地方,欢迎来评论区告知!

谢谢大家的观看❤️❤️🎉🎉

一起加油学习吧!🌈🌈

相关推荐
lengjingzju14 分钟前
编译与调试完全指南—第10章 网络分析工具
linux
星野川崎20631 分钟前
电商多店运维:云机24小时挂机频繁掉线、账号无故风控深度原因分析及解决方案
大数据·运维·服务器·云计算·电商
Logintern0934 分钟前
网络通讯协议—TCP/IP协议
网络·网络协议·tcp/ip
ltl43 分钟前
新硬件对存储的影响:ZNS、CXL 与计算存储
linux
RisunJan1 小时前
Linux命令-xauth(X11 认证授权管理)
linux·服务器·microsoft
熊IT3 小时前
什么是原生住宅 IP?如何判断一个 IP 是否真正“原生”?
服务器·网络·tcp/ip
不灭的程序员阿澄3 小时前
在飞牛 NAS 上用 Docker 运行 DeepSeek Harness
运维·docker·容器
Elastic 中国社区官方博客3 小时前
让大模型思考,让小模型执行:在 Elastic Workflows 中拆分 LLM 成本
大数据·运维·数据库·人工智能·elasticsearch·ai
爱学习的小白柏3 小时前
【AI问数技术】多Agent协同架构:查询规划/SQL生成/洞察分析/报告生成
java·网络·人工智能·windows·sql·架构·llama
艾伦_耶格宇4 小时前
【AI】-4 OpenCode Go 接入 Obsidian 完整指南
运维·开发语言·人工智能·agent·opencode