一、概述
network namespace的作用是隔离Linux系统的设备,以及IP地址、端口、路由表、防火墙规则等网络资源。
二、network namespace
1.创建ns
[root@hi-net ~]# ip netns add netns1
[root@hi-net ~]# ip netns exec netns1 ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
[root@hi-net ~]# ip netns list
netns1
[root@hi-net ~]# ip netns delete netns1
[root@hi-net ~]#
[root@hi-net ~]# ip netns list
2.配置ns
- 访问本地回路
[root@hi-net ~]# ip netns exec netns1 ping 127.0.0.1
Cannot open network namespace "netns1": No such file or directory
[root@hi-net ~]# ip netns add netns1
[root@hi-net ~]# ip netns exec netns1 ping 127.0.0.1
connect: 网络不可达
[root@hi-net ~]# ip netns exec netns1 ip link set dev lo up
[root@hi-net ~]# ip netns exec netns1 ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.027 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.029 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.037 ms
- 创建虚拟以太网卡veth pair
[root@hi-net ~]# ip link add veth0 type veth peer name veth1
[root@hi-net ~]# ip link set veth1 netns netns1
[root@hi-net ~]# ip netns exec netns1 ifconfig veth1 10.1.1.1/24 up
[root@hi-net ~]# ifconfig eth0 10.1.1.2/24 up
网友评论