linux网络命名空间

linux网络命名空间需要安装iproute-3**.rpm包

注:需要什么请查看帮助手册,常用的 ip help(管理网络),ip netns help(网络命名空间创建使用) , ip link help(虚拟网卡创建使用), ip addr help(虚拟网卡地址分配) 等等。从ip netns help 可以查看到 ip [-all] netns exec [name] cmd ...,这个命名可以对命名空间中的网卡进行设置。

1、创建网络命名空间,例如 ch

ip netns add ch

2、查看网络命名空间,

ip netns ls 或者 ip netns list

3、创建虚拟网卡Veth,Veth都是成对创建的,它都是成对出现的,就像一个管道的两端,从这个管道的一端的veth进去的数据会从另一端的veth再出来。也就是说,你可以使用veth接口把一个网络命名空间连接到外部的默认命名空间或者global命名空间,而物理网卡就存在这些命名空间里。例如 ch1.1和ch1.2

ip link add name ch1.1 type veth peer name ch1.2

4、查看虚拟网络Veth

ip link list 或者 ip link ls

5、将虚拟网卡ch1.1移动到网络命名空间ch上

ip link set ch1.1 netns ch

现在在使用ip link list 就已经看不到虚拟网卡ch1.1了,可以根据步骤6在ch中可以查看到

6、查看网络命名空间ch和查看网络命名空间网卡信息

ip netns exec ch ip link list

ip netns exec ch ip addr show

在ch中可以看到2个网卡,一个是回环网络lo  和   一个 ch1.1

7、给网络命名空间里面的虚拟网卡配置

ip netns exec ch ip addr add 10.1.1.1/24 dev ch1.1  --给ch1.1分配ip地址

ip netns exec ch ip link set ch1.1 up  ---启动网卡

ip netns exec ch ip link set lo up      --启动回环网卡

8、给ch1.2分配ip地址

ip addr add 10.1.1.2/24 dev ch1.2

9、启动ch1.2

ip link set ch1.2 up

10、从网络命名空间ch中测试到ch1.2的网络通不通

ip netns exec ch ping 10.1.1.2

 

Docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定。

在实际部署中,我们需要指定容器ip,不允许其自行分配ip,尤其是搭建集群时,固定ip是必须的。

我们可以创建自己的bridge网络 : mynet,创建容器的时候指定网络为mynet并指定ip即可。

查看网络模式

docker network ls

创建一个新的bridge网络

docker network create --driver bridge --subnet=172.18.12.0/16 --gateway=172.18.1.1 mynet

查看网络信息

docker network inspect mynet

创建容器并指定容器ip

docker run -e TZ="Asia/Shanghai" --privileged -itd -h hadoop01.com --name hadoop01 --network=mynet --ip 172.18.12.1 centos /usr/sbin/init

运行容器

docker exec -it hadoop01 /bin/bash

通过本地客户端访问(通过创建容器时指定端口或配置独立ip)

docker run -e TZ="Asia/Shanghai" -p 6001:22 --privileged -itd -h hadoop01.com --name hadoop01 --network=mynet --ip 172.18.12.1 centos /usr/sbin/init

route -p add 172.18.12.0 MASK 255.255.255.0 10.0.75.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值