
Linux 网络虚拟化:network namespace
1)创建一个名为 netns-test 的 network namespace
# ip netns add netns-tes
当创建一个 network namespace 时,系统会在 /var/run/netns 路径下面生成对应名字的只读文件(挂载点);

2)查看 netns-test 的网卡设备信息
# ip netns exec netns-test ip link list
3)查看系统中有哪些 network namespace
# ip link list
4)删除 network namespace,移除挂载点
# ip netns delete netns-test1)测试回环地址连通性
# ip netns exec netns-test ping 127.0.0.1
发现此时的 lo 设备是无法 ping 通,这是因为自带的 lo 设备的状态还是 DOWN 的,想要访问回环地址,需要将设备状态设置成 UP。
2)设置设备状态
# ip netns exec netns-test ip link set dev lo up设置后,查询当前设备状态为 UNKNOWN;


3)设置 veth pair
只有回环地址还是无法与外界进行通信,还需要在 namespace 里创建一对的虚拟的以太网卡 veth pair;
# ip link add veth-test0 type veth peer name veth-test14)查看 veth pair
# ip link show type veth
创建出来的网卡对默认是 DOWN 状态,设置状态为 UP。
# ip link set veth-test0 up
5)将 veth pair 的一端放置在 netns-test 中
# ip link set veth-test1 netns netns-test6)配置 IP 地址
# ip netns exec netns-test ifconfig veth-test1 10.1.1.1/24
# ifconfig veth-test0 10.1.1.2/24

7)测试网络连通性
# ping 10.1.1.1 -c 3
# ip netns netns-test ping 10.1.1.2 -c 3
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。