容器网络实验(一):模拟docker bridge模式

  • 创建vethpair对
ip link add v0 type veth peer name v0_p
ip link add v1 type veth peer name v1_p
  • 加入namespace
ip netns add ns1
ip netns add ns2
ip link set v0 netns ns1
ip link set v1 netns ns2
  • 分配ip,启动网卡
ip netns exec ns1 ifconfig v0 192.168.0.2/24 up
ifconfig v0_p up
ip netns exec ns2 ifconfig v1 192.168.0.3/24 up
ifconfig v1_p up
  • 创建网桥
ip link add name br0 type bridge
ifconfig br0 192.168.0.1/24 up
  • 连接网桥
ip link set dev v0_p master br0
ip link set dev v1_p master br0
  • 测试连通性
  1. ip netns exec ns1 ping 192.168.0.3
  • 通过iptables做SNAT出公网
ip netns exec ns1 ip route add default via 192.168.0.1
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
ip netns exec ns1 ping 114.114.114.114

注意打开ip_forward

 

你可能感兴趣的:(docker,linux)