Docker系列5:网络名称空间管理
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,一、ip命令介绍ip命令是iproute软件的程序[root@host1 ~]# yum install iproute -y [root@host1 ~]# rpm -q iprouteiprout
千家信息网最后更新 2025年12月02日Docker系列5:网络名称空间管理
一、ip命令介绍
ip命令是iproute软件的程序
[root@host1 ~]# yum install iproute -y [root@host1 ~]# rpm -q iprouteiproute-4.11.0-25.el7_7.2.x86_64
通过ip可以实现管理网络名称空间
[root@host1 ~]# ipUsage: ip [ OPTIONS ] OBJECT { COMMAND | help } ip [ -force ] -batch filenamewhere OBJECT := { link | address | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm | netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila | vrf } OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | -h[uman-readable] | -iec | -f[amily] { inet | inet6 | ipx | dnet | mpls | bridge | link } | -4 | -6 | -I | -D | -B | -0 | -l[oops] { maximum-addr-flush-attempts } | -br[ief] | -o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] | -rc[vbuf] [size] | -n[etns] name | -a[ll] | -c[olor]}OBJECT中的netns可以用来设置网络名称空间
netns的使用帮助如下
[root@host1 ~]# ip netns helpUsage: ip netns list ip netns add NAME ip netns set NAME NETNSID ip [-all] netns delete [NAME] ip netns identify [PID] ip netns pids NAME ip [-all] netns exec [NAME] cmd ... ip netns monitor ip netns list-id
二、ip命令的使用
创建两个名称空间并查看一下
[root@host1 ~]# ip netns add r1[root@host1 ~]# ip netns add r2
[root@host1 ~]# ip netns listr2r1
查看网络名称空间中有几个网卡
其实就是在网络名称空间中执行ip addr命令,需要加选项-a
在网络名称空间执行命令是用exec
[root@host1 ~]# ip netns exec r1 ip addr1: lo:mtu 65536 qdisc noop state DOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
创建网卡对
用的命令是ip link
[root@host1 ~]# ip link helpUsage: ip link add [link DEV] [ name ] NAME [ txqueuelen PACKETS ] [ address LLADDR ] [ broadcast LLADDR ] [ mtu MTU ] [index IDX ] [ numtxqueues QUEUE_COUNT ] [ numrxqueues QUEUE_COUNT ] type TYPE [ ARGS ]
创建一对网卡,两端分别为veth2.1和veth2.2
[root@host1 ~]# ip link add name veth2.1 type veth peer name veth2.2[root@host1 ~]# ip link show | grep veth2.*7: veth2.2@veth2.1:mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 10008: veth2.1@veth2.2: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
type veth:指定创建的是虚拟以太网卡
为名称空间分配虚拟网卡
用的命令是ip link set
一旦将某个虚拟网卡分配到某个名称空间,在物理机中就看不到这个网卡了
将veth2.1保留在物理机,将veth2.2分配到r1名称空间
[root@host1 ~]# ip link set veth2.2 netns r1
[root@host1 ~]# ip netns exec r1 ip addr1: lo:mtu 65536 qdisc noop state DOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:007: veth2.2@if8: mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 4e:f2:68:33:47:a1 brd ff:ff:ff:ff:ff:ff link-netnsid 0
[root@host1 ~]# ip link show | grep veth2.*8: veth2.1@if7:mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
也可以修改虚拟网卡的名称,例如将r1中的veth2.2改名为eth0
[root@host1 ~]# ip netns exec r1 ip link set dev veth2.2 name eth0
[root@host1 ~]# ip netns exec r1 ip addr1: lo:mtu 65536 qdisc noop state DOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:007: eth0@if8: mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 4e:f2:68:33:47:a1 brd ff:ff:ff:ff:ff:ff link-netnsid 0
将veth2.1地址设置为10.0.0.1/8,将r1中的eth0地址地址设置为10.0.0.2/8
[root@host1 ~]# ip addr add 10.0.0.1/8 dev veth2.1
[root@host1 ~]# ip netns exec r1 ip addr add 10.0.0.2/8 dev eth0
[root@host1 ~]# ip addr show veth2.18: veth2.1@if7:mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 1e:62:af:a2:bc:6d brd ff:ff:ff:ff:ff:ff link-netnsid 1 inet 10.0.0.1/8 scope global veth2.1 valid_lft forever preferred_lft forever [root@host1 ~]# ip netns exec r1 ip addr show eth07: eth0@if8: mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 4e:f2:68:33:47:a1 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 10.0.0.2/8 scope global eth0 valid_lft forever preferred_lft forever
此时两个网卡都是down状态,解决方法如下
[root@host1 ~]# ip link set veth2.1 up[root@host1 ~]# ip netns exec r1 ip link set eth0 up
也可以将veth2.1放入另一个名称空间,这样两个名称空间就可以通信了
[root@host1 ~]# ip link set veth2.1 netns r2[root@host1 ~]# ip netns exec r2 ip link set veth2.1 up
名称
空间
网卡
命令
网络
两个
地址
分配
物理
管理
两端
就是
方法
状态
程序
软件
以太
以太网卡
别为
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
短信猫软件开发手册
黑暗逃生没有服务器选择
金华比奇网络技术卖游戏号
网络安全主题手抄报8k素描纸
铁路网络安全事件原因
广州科技软件开发公司
翰数据库
阿里数据库主键类型
淄川物流竞价报价软件开发价格
关键应用服务器
青浦区媒体数据库服务报价行情
我的世界进服务器
桌面云服务器软件
软件开发的工作小结
高斯数据库占用空间估算
2017最新的网络技术
电子科技大学网络安全就业前景
各地区各部门网络安全
访问快的服务器
服务器脱机写入
数据库中关联关系怎么做
上游网络技术有限公司招聘
hp服务器查看内存命令
7k7k皮卡堂服务器上线时间
利用网络技术异界小说
dns服务器改ip
网络安全司司长
战舰世界数据库贴吧
服务器上传软件有哪些
网络安全产业的思路