在现代云计算和容器化环境中,RockyLinux网络虚拟化 是一项非常关键的技术。通过虚拟网络,我们可以在单台物理主机上模拟多个独立的网络环境,用于测试、开发或部署微服务架构。本教程将从零开始,详细讲解如何在 RockyLinux 上配置基本的网络虚拟化功能,即使是 Linux 新手也能轻松上手。
什么是网络虚拟化?
网络虚拟化是指在物理网络之上创建多个逻辑网络,每个逻辑网络可以拥有自己的 IP 地址段、路由规则和安全策略。在 RockyLinux 中,常用的技术包括
Linux Bridge(网桥)、
VLAN、
Network Namespace和
Open vSwitch等。
准备工作
在开始之前,请确保:
你已安装 RockyLinux 8 或 9(推荐最小化安装) 你拥有 root 权限或可使用 sudo 的用户 系统已连接互联网(用于安装必要工具)步骤一:安装必要的工具
首先,我们需要安装一些用于网络管理的工具:
网桥是实现 RockyLinux桥接网络 的核心组件。它就像一个虚拟交换机,可以把多个虚拟接口连接在一起。 使用以下命令创建一个名为 sudo dnf install -y bridge-utils iproute net-tools 步骤二:创建 Linux 网桥(Bridge)
br0
的网桥:
Network Namespace 允许我们在同一台机器上隔离网络栈。这是实现 Linux虚拟网络配置 的关键。 现在,两个命名空间应该可以通过网桥互相通信了。我们可以使用 如果看到正常的 ping 回复,说明你的 虚拟化网络教程 已成功完成! 测试完成后,你可以清理所有创建的资源: 通过本教程,你已经掌握了在 RockyLinux 上进行基础网络虚拟化配置的方法。无论是用于学习容器网络原理,还是搭建本地测试环境,这些技能都非常实用。记住,RockyLinux网络虚拟化 是通往更高级虚拟化技术(如 KVM、Docker 网络、Kubernetes CNI)的重要基石。 提示:在生产环境中,建议使用 NetworkManager 或 systemd-networkd 来持久化网络配置,避免重启后丢失设置。# 创建网桥sudo ip link add name br0 type bridge# 启用网桥sudo ip link set br0 up# 查看网桥状态ip link show br0 步骤三:创建虚拟网络命名空间(Network Namespace)
# 创建两个命名空间 ns1 和 ns2sudo ip netns add ns1sudo ip netns add ns2# 创建一对虚拟以太网设备(veth pair)sudo ip link add veth2 type veth peer name veth2-brsudo ip link add veth2 type veth peer name veth2-br# 将 veth2 分配给 ns1,veth2 分配给 ns2sudo ip link set veth2 netns ns1sudo ip link set veth2 netns ns2# 将 veth2-br 和 veth2-br 加入网桥 br0sudo ip link set veth2-br master br0sudo ip link set veth2-br master br0# 启用所有接口sudo ip link set veth2-br upsudo ip link set veth2-br upsudo ip netns exec ns1 ip link set veth2 upsudo ip netns exec ns2 ip link set veth2 up 步骤四:为命名空间配置 IP 地址
# 为 ns1 配置 IPsudo ip netns exec ns1 ip addr add 192.168.100.10/24 dev veth2# 为 ns2 配置 IPsudo ip netns exec ns2 ip addr add 192.168.100.11/24 dev veth2 步骤五:测试连通性
ping
命令测试:# 从 ns1 ping ns2sudo ip netns exec ns1 ping 192.168.100.11# 从 ns2 ping ns1sudo ip netns exec ns2 ping 192.168.100.10 清理环境(可选)
sudo ip netns delete ns1sudo ip netns delete ns2sudo ip link delete br0 type bridge 总结
