动手模拟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
相关推荐
looking_for__3 小时前
【Linux】应用层协议
linux·服务器·网络
计算机小手4 小时前
一个带Web UI管理的轻量级高性能OpenAI模型代理网关,支持Docker快速部署
经验分享·docker·语言模型·开源软件
坚持学习前端日记5 小时前
常见docker指令
docker·容器·eureka
以太浮标5 小时前
华为eNSP模拟器综合实验之- VLAN终结实践案例分析
网络·计算机网络·华为·智能路由器
小芳矶5 小时前
Dify本地docker部署踩坑记录
python·docker·容器
70asunflower6 小时前
阿里云无影云电脑 Docker 使用完全指南
阿里云·docker·云计算
Trouvaille ~7 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
柱子jason7 小时前
使用IOT-Tree Server模拟Modbus设备对接西门子PLC S7-200
网络·物联网·自动化·modbus·西门子plc·iot-tree·协议转换
feasibility.8 小时前
在OpenCode使用skills搭建基于LLM的dify工作流
人工智能·低代码·docker·ollama·skills·opencode·智能体/工作流
Arvin6279 小时前
研发环境:SSL证书快速部署
网络·网络协议·ssl