加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux Namespace : Network

发布时间:2020-12-13 14:09:45 所属栏目:Linux 来源:网络整理
导读:Network namespace 在逻辑上是网络堆栈的一个副本,它有自己的路由、防火墙规则和网络设备。 默认情况下,子进程继承其父进程的 network namespace。也就是说,如果不显式创建新的 network namespace,所有进程都从 init 进程继承相同的默认 network namespa

Network namespace 在逻辑上是网络堆栈的一个副本,它有自己的路由、防火墙规则和网络设备。默认情况下,子进程继承其父进程的 network namespace。也就是说,如果不显式创建新的 network namespace,所有进程都从 init 进程继承相同的默认 network namespace。

$ /proc/$$/ns/net

$ ip netns add mynet

$ /proc/$$/ns/net

# ip addr

# ip link set lo up

veth 设备是虚拟的以太网设备。它们可以充当 network namespace 之间的通道,也可以作为独立的网络设备使用。veth 设备总是被成对的创建,并且这一对设备总是连接在一起的,所以一般把称之为 veth pair。需要注意的是,veth pair 无法单独存在,删除其中一个,另一个也会自动消失。接下来的示例我们就演示如何使用 veth pair 在两个 network namespace 直接通信。示例中我们使用 ip link 命令来创建和管理 veth pair。

$ ip netns add net1

$ ip link add vethmother type veth peer name vethfather

$ ip netns exec net1 ip addr

$ ip netns exec net0 ip addr add ./ ip netns exec net0 ip route

$ ip netns exec net1 ip addr add ./ ip netns exec net1 ip route

$ ip netns exec net0 -c .

$ ip addr

$ ip netns add net0

$ ip link add veth0 type veth peer name veth0p

$ ip netns exec net0 ip addr add ./ ip netns exec net0 ip addr

$ ip link set dev veth0 up

$ ip addr add ./

$ ip netns exec net0 -c .

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读