动手模拟docker网络-bridge模式

创建网络命名空间

使用ip netns命令创建两个网络命名空间ns1ns2

bash 复制代码
ip netns add ns1
ip netns add ns2

创建veth对

创建一对虚拟以太网设备veth1-veth2veth3-veth4

bash 复制代码
ip link add veth1 type veth peer name veth2
ip link add veth3 type veth peer name veth4

将veth设备分配到命名空间

veth2移到ns1veth4移到ns2

bash 复制代码
ip link set veth2 netns ns1
ip link set veth4 netns ns2

配置设备IP和状态

在默认命名空间中为veth1veth3分配IP并启用:

bash 复制代码
ip addr add 10.1.1.1/24 dev veth1
ip link set veth1 up
ip addr add 10.1.2.1/24 dev veth3
ip link set veth3 up

ns1中配置veth2的IP并启用:

bash 复制代码
ip netns exec ns1 ip addr add 10.1.1.2/24 dev veth2
ip netns exec ns1 ip link set veth2 up
ip netns exec ns1 ip link set lo up

ns2中配置veth4的IP并启用:

bash 复制代码
ip netns exec ns2 ip addr add 10.1.2.2/24 dev veth4
ip netns exec ns2 ip link set veth4 up
ip netns exec ns2 ip link set lo up

创建并配置网桥

创建网桥br0并绑定veth1veth3

bash 复制代码
ip link add name br0 type bridge
ip link set dev veth1 master br0
ip link set dev veth3 master br0
ip link set br0 up

设置默认路由

ns1ns2中设置默认路由指向网桥IP:

bash 复制代码
ip netns exec ns1 ip route add default via 10.1.1.1
ip netns exec ns2 ip route add default via 10.1.2.1

验证连通性

ns1中pingns2的IP:

bash 复制代码
ip netns exec ns1 ping 10.1.2.2

开启IP转发

确保主机的IP转发功能已启用:

bash 复制代码
echo 1 > /proc/sys/net/ipv4/ip_forward

结果说明

  • 网桥br0充当交换机,连接veth1veth3
  • ns1(10.1.1.2)和ns2(10.1.2.2)通过网桥实现二层互通。
  • 若需跨子网通信,需额外配置路由或NAT规则。

注意:实验结束后可通过以下命令清理:

bash 复制代码
ip netns delete ns1
ip netns delete ns2
ip link delete br0
相关推荐
那年窗外下的雪.1 小时前
AIDC 学习日志|第 15 天|EVPN 多归属故障收敛与撤销机制
网络·学习·php
国科安芯2 小时前
轨道供电韧性:ASP4644四通道降压架构在低轨卫星平台电源管理中的适用性分析
运维·网络·数据库·嵌入式硬件·架构·状态模式·低轨卫星星座
少陽君3 小时前
用于InfiniBand网络的实时终端监控器——高速互连的htop
网络
发量惊人的中年网工5 小时前
如何验证DDoS高防真的生效?从源站隐藏到正常访问的完整验收方法
运维·网络·数据库·ddos
wazmlp0018873696 小时前
k8s pod 管理
docker·容器·kubernetes
GuoFeng.Wan6 小时前
深入理解经典蓝牙的L2CAP协议
网络
夜月yeyue6 小时前
SOME/IP-SD 服务发现故障
网络·单片机·网络协议·tcp/ip·安全·服务发现
江湖有缘6 小时前
Docker开源项目: 基于Ubuntu系统部署ExpenseOwl自托管记账工具实战教程
ubuntu·docker·开源
程序员z76 小时前
深入理解 GMP 模型:Go 协程调度器的设计与调度场景全解析
服务器·网络·golang
stolentime7 小时前
OpenClaw 网络数据采集新手入门指南
网络·ai·ai编程