CentOS6.6使用ip netns(网络namespace)

在docker使用的过程中如果要自定义容器的网络设备(主要是指定IP地址),就要用到网络namespace(可以理解为进程级别的网络设备),关于namespace介绍可以查阅其它相关质料。centos默认安装的iproute包是不支持网络namespace操作的,使用ip netns会出现类似这样的报错:

Object "netns" is unknown, try "ip help".

谷歌度娘了一番,解决的方法都是升级内核和升级指定的iproute包。其实内核是不用的升级的,centos6.6版本的内核支持网络namespace操作的。只需要升级iproute包即可:

#安装yum源
[root@xx-xxxx ~]# yum install -y http://rdo.fedorapeople.org/rdo-release.rpm
#修改yum的地址,网上提供的地址目前是无效的,貌似地址目前已经变成下面这个了
[root@xx-xxxx ~]# cat /etc/yum.repos.d/rdo-release.repo
[openstack-juno]
name=OpenStack Juno Repository
baseurl=http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/
enabled=1
skip_if_unavailable=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-Juno
[root@xx-xxxx ~]#
#安装指定yum源的iproute包
[root@xx-xxxx ~]#yum --enablerepo=openstack-juno install iproute

centos6.6只要升级指定的iproute包即可,不用升级内核。centos6其它版本的没有测试,未知。
后来源的地址改变,目录改变了,具体baseurl变成了https://repos.fedorapeople.org/repos/openstack/EOL/openstack-icehouse/epel-6/。
文章出处:http://www.xiaomastack.com/2015/04/05/centos6-ip-netns/

2 Comments

 Add your comment
  1. 嗯,好的,谢谢! http://rdo.fedorapeople.org/rdo-release.rpm 这个rpm包安装后更改了里面的baseurl,目前使用没有问题。

发表评论:

你的电子邮件地址将不会被公开.

9 × = 81