创建一个网络名称空间:
相当于创建一个完全隔离的新网络环境,这个环境包括一个独立的网卡空间,路由表,ARP表,ip地址表,iptables,ebtables,等等。总之,与网络有关的组件都是独立的。
1,基础iproute2命令
*显示所有网络接口
ip link show ip link ip addressip address show dev eth1*对一个网络接口添加或者删除ip地址
sudo ip address add 10.0.1.1/24 dev veth0 #添加ip地址sudo ip address add 10.0.1.2/24 dev veth0 #可以对一个接口添加多个ip地址 sudo ip address del 10.0.0.1/24 dev veth0 #删除IP地址*停用和启用网络接口
sudo ip link set down eth1 sudo ip link set up eth1*路由相关
sudo ip route add default via 192.168.1.2 dev eth0 #添加默认路由sudo ip route replace default via 192.168.1.2 dev eth0 #修改默认路由sudo ip route add 172.16.32.0/24 via 192.168.1.1 dev eth0 #添加路由sudo ip route del 172.16.32.0/24 #删除路由sudo ip route show #列出当前路由
2,在centos下可以使用iproute2工具来创建一个网络名称空间
*创建网络名称空间
sudo ip netns add net0 # net0 表示名称,可以自定义,这里创建了一个名为net0的网络名称空间*列出已经存在的网络名称空间
sudo ip netns list*删除指定的网络名称空间
sudo ip netns delete net0 # net0 是一个已存在的网络名称空间*在某个名称空间中执行一个命令
sudo ip netns exec net0 `command`*添加一个veth
$ ip link add veth0 type veth peer name veth1使用ip link命令输出如下结果:8: veth0@veth1: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN qlen 1000link/ether 1e:e4:20:df:5a:b3 brd ff:ff:ff:ff:ff:ff9: veth1@veth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN qlen 1000link/ether 8e:75:8a:75:b8:4a brd ff:ff:ff:ff:ff:ff*设置网络接口所在的网络名称空间
$ ip link set veth1 netns net0 #将网络接口veth1放到net0名称空间中使用ip link命令输出如下结果,可以发现veth1不见了:8: veth0@if9: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000link/ether 1e:e4:20:df:5a:b3 brd ff:ff:ff:ff:ff:ff link-netnsid 2$ ip netns exec net0 ip link输出输出结果:1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULTlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:009: veth1@if8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000link/ether 8e:75:8a:75:b8:4a brd ff:ff:ff:ff:ff:ff link-netnsid 0
参考链接:
http://www.cnblogs.com/taosim/articles/4444887.html
http://blog.csdn.net/vacing/article/details/69802394
https://yq.aliyun.com/articles/64855
转载于:https://www.cnblogs.com/Dream-Chaser/p/7077105.html
