创建一个网络名称空间:

相当于创建一个完全隔离的新网络环境,这个环境包括一个独立的网卡空间,路由表,ARP表,ip地址表,iptables,ebtables,等等。总之,与网络有关的组件都是独立的。

1,基础iproute2命令

*显示所有网络接口

ip link show
ip link
ip address
ip 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 1000
link/ether 1e:e4:20:df:5a:b3 brd ff:ff:ff:ff:ff:ff
9: veth1@veth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN qlen 1000
link/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 1000
link/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 DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
9: veth1@if8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
link/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

iproute2使用及网络名称空间的更多相关文章

  1. 网络名称空间 实例研究 veth处于不同网络的路由问题

    相关命令详细介绍参见 http://www.cnblogs.com/Dream-Chaser/p/7077105.html .问题: 两个网络名称空间中的两个接口veth0和veth1,如何配置net ...

  2. 同一个POD中默认共享哪些名称空间

    如果通过POD的形式来启动多个容器那么它们的名称空间会是共享的么,所以我这里讨论是在默认情况下同一个POD的不同容器的哪些名称空间是打通的.这里先说一下结论,共享的是UTS.IPC.NET.USER. ...

  3. 网络虚拟化基础一:linux名称空间Namespaces

    一 介绍 如果把linux操作系统比作一个大房子,那命名空间指的就是这个房子中的一个个房间,住在每个房间里的人都自以为独享了整个房子的资源,但其实大家仅仅只是在共享的基础之上互相隔离,共享指的是共享全 ...

  4. k8s名称空间资源

    namespace是k8s集群级别的资源,用于将集群分隔为多个隔离的逻辑分区以配置给不同的用户.租户.环境或项目使用,例如,可以为development.qa.和production应用环境分别创建各 ...

  5. C++知识回顾(二)——名称空间

    随着工程的增大,名称相互冲突的肯能性增加,使用多个厂商的类库时,可能导致名称冲突.为了解决这些问题,需要用到名称空间. 为了将代码加入名称空间,可以使用namespae将其包含,例如,编写一段代码,其 ...

  6. 带名称空间的xml数据查询

    <gpx xmlns="http://www.topografix.com/GPX/1/1" creator="MapSource 6.5" versio ...

  7. WPF x名称空间

    X是映射XML名称空间时给他取的名字.X名称空间里面的成员是专门给XAML编译器看的.用来引导XAML编译器把XAML代码编译成CLR代码的,他是取的XAML的首字母X. XAML有自己的编译器,会吧 ...

  8. Spring使用p名称空间配置属性

    给XML配置文件"减肥"的另一个选择就是使用p名称空间,从 2.0开始,Spring支持使用名称空间的可扩展配置格式.这些名称空间都是基于一种XML Schema定义.事实上,我们 ...

  9. x名称空间

    XAML代码的WPF程序都需要通过语句:xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml",x就是用来映射xmlns:x= ...

随机推荐

  1. art-template自定义函数

    自定义函数 // 百分比计算 template.defaults.imports.percentage = function (num1, num2) { var res; if(!num1 & ...

  2. sentinel控制台监控数据持久化【InfluxDB】

    根据官方wiki文档,sentinel控制台的实时监控数据,默认仅存储 5 分钟以内的数据.如需持久化,需要定制实现相关接口. https://github.com/alibaba/Sentinel/ ...

  3. Linux字符编码默认为UTF-8,如出现乱码可设置为GBK

    Linux字符编码默认为UTF-8,如出现乱码可设置为GBK1.手动更改profile文件的命令: vi /etc/profile 也可以修改 /etc/sysconfig/i18n 文件,如 LAN ...

  4. 487-3279 字符串处理+MAP

    487-3279 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 300264   Accepted: 53757 Descr ...

  5. pytorch-googleNet

    googleNet网络结构 输入网络: 由4个分支网络构成 第一分支: 由1x1的卷积构成 第二分支: 由1x1的卷积,3x3的卷积构成 第三分支: 由1x1的卷积, 5x5的卷积构成 第四分支: 由 ...

  6. 性能测试 | Linux线程数、进程查询

    I. 最大值查询 1. 最大进程数查询 1 cat /proc/sys/kernel/pid_max 个人阿里云机器(单核2g)上输出如下 1 32768 2. 最大线程数查询 1 cat /proc ...

  7. Mac系统下,docker安装nextcloud,打造个人本地网盘

    1.安装docker 推荐下载地址:http://get.daocloud.io/#install-docker-for-mac-windows   2.拉取镜像 $ docker pull next ...

  8. CefGlue获取网页源代码

    1.编写一个CefStringVisitor类: public class MyStringVisitor : CefStringVisitor { private readonly TaskComp ...

  9. vscode在软件内部查看html渲染效果的插件

    使用方法: Usage press 'F1' and type "Show Live Server Preview" F1,然后输入Show Live Server Preview ...

  10. 埃利斯(A.Ellis)ABCDE情绪管理理论

    埃利斯(A.Ellis)ABCDE情绪管理理论A :Activating Events(诱发事件)B :Beliefs(个体对诱发事件的评价.解释.看法)C :Consequences(个体情绪和行为 ...