创建一个网络名称空间:
相当于创建一个完全隔离的新网络环境,这个环境包括一个独立的网卡空间,路由表,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: [email protected]: <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: [email protected]: <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: [email protected]: <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: [email protected]: <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
时间: 2024-10-20 15:48:40