Linux 网络命名空间

基础

查看网络命名空间
ip netns list
添加网络命名空间

ip netns add 命名空间

ip netns add test1
删除网络命名空间

ip netns delete 命名空间

ip netns delete test1

操作

进入命名空间查看ip信息

ip netns exec 命名空间 ip a

# 查看命名空间test1的ip信息
ip netns exec test1 ip a
启动命名空间网络

ip netns exec 命名空间 ip link set dev 端口 up

# 开启网络命名空间 test1 lo 端口
ip netns exec test1 ip link set dev lo up

通信

veth 虚拟网卡接口

两个网络空间之间要通信的话,需要veth
把网络空间比喻成两个水池的话,veth就是连接水池的管道
有了管道,两个水池的水才能相互流通

创建一对veth

ip link add 第一个veth名称 type veth peer name 第二个veth名称

ip link add veth-test1 type veth peer name veth-test2
veth绑定到命名空间

ip link set veth名称 netns 命名空间

ip link set veth-test1 netns test1
ip link set veth-test2 netns test2
veth添加ip地址

ip netns exec 命名空间 ip addr add ip地址/24 dev veth名称

ip netns exec test1 ip addr add 192.168.1.1/24 dev veth-test1
ip netns exec test2 ip addr add 192.168.1.2/24 dev veth-test2
启动veth

ip netns exec 命名空间 ip link set dev veth名称 up

ip netns exec test1 ip link set dev veth-test1 up
ip netns exec test2 ip link set dev veth-test2 up

example

这里我们创建两个命名空间test1,test2
开启test1,test2
为了让两个命名空间之间可以通信
我们创建一对veth,并分配给两个命名空间
然后给veth分配ip地址,开启veth
这样两个命名空间之间就能通信了

# 创建test1,test2
ip netns add test1
ip netns add test2

# 开启test1,test2
ip netns exec test1 ip link set dev lo up
ip netns exec test2 ip link set dev lo up

# 创建一对veth
ip link add veth-test1 type veth peer name veth-test2

# 分配给test1,test2
ip link set veth-test1 netns test1
ip link set veth-test2 netns test2

# 给veth分配ip地址
ip netns exec test1 ip addr add 192.168.1.1/24 dev veth-test1
ip netns exec test2 ip addr add 192.168.1.2/24 dev veth-test2

# 启动veth
ip netns exec test1 ip link set dev veth-test1 up
ip netns exec test2 ip link set dev veth-test2 up

# result
# 在test1命名空间中可以ping通 192.168.1.2
# 在test2命名空间中可以ping通 192.168.1.1
ip netns exec test1 ping 192.168.1.2
ip netns exec test2 ping 192.168.1.1
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值