Linux 网络命名空间

通过终端命令创建不同的 network namespace 并使其彼此互通

常用的指令

# 1.查看本机的 networkspace:
ip netns list
# 2.删除 networkspace (其中 xxx 是 networkspace 的名称,下同)
ip netns delete xxx
# 3.添加 networkspace
ip netns add xxx
# 4.查看 networkspace 的ip 信息:
ip netns exec xxx ip a
## 或
ip netns exec xxx ip link
# 5.默认情况下,新创建的 networkspace 状态是 down,可以通过如下命令启动
ip netns exec xxx ip link set dev lo up  # 其中 lo 是端口名称,单个端口启动后状态是 UNKNOWN,因为端口是需要两端都链接时才真正的是 up 状态

创建两个 networkspace,并且使其彼此可以连通,即ping 命令可达

# 1.创建两个不同的 networkspace
ip netns add test1
ip netns add test2
# 2.创建 veth-pair,类似一条线,可以将两个 networkspace 连通
ip link add veth-test1 type veth peer name veth-test2
# 将 veth-test1 链接到 test1,同时链接 veth-test2 到 test2;(可以理解为将线的两端分别放置到不同的 networkspace 中,已达到互通)
ip link set veth-test1 netns test1
ip link set veth-test2 netns test2
# 3.分配id. 在不同的namespace中为端口(线的两端,这里是 veth-test1 和 veth-test2)配置 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
# 3.启动端口
ip netns exec test1 ip link set dev veth-test1 up
ip netns exec test2 ip link set dev veth-test2 up
# 4.查看ip
ip netns exec test1 ip link  # 查看端口为启动状态
ip netns exec test1 ip a # 查看ip
ip netns exec test2 ip link  # 查看端口为启动状态
ip netns exec test2 ip a # 查看ip
# 测试 test1 和 test2 的互通
ip netns exec test1 ping 192.168.1.2
ip netns exec test2 ping 192.168.1.1

至此,结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值