docker网络配置

网络命名空间

ip netns help

ip netns add test

ip netns list

ip netns del test

在/var/run/netns/

docker network ls

[root@foundation11 ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
11ed1bf36d38        bridge              bridge              local
9f4f6dbc18ca        host                host                local
8c7205049a29        none                null                local

docker run -it --name vm1 --net host rhel7

docker run -it --name vm2 --net bridge rhel7

docker run -it --name vm3 --net none rhel7  禁用网络适合加密机密容器

下面使用桥接bridge

自己从网上下好ubuntu镜像tar

docker network create --driver bridge my_net1

docker network inspect my_net1

docker network create --driver bridge  --subnet 172.20.0.0/24 --gateway 172.20.0.1 my_net2

docker设计理念是隔离网络

docker run -it --name vm1 --net my_net1 ubuntu

docker run -it --name vm2 --net my_net2 --ip 172.20.0.10  ubuntu

这个后面的--ip是用户自定义 需要在自定义subnet后的子网才能使用

docker network connect my_net2 vm1

这样的话  vm2的172.20.0.10  可以通vm1 172.20.0.2,即vm1 vm2 通过172.20.0.10 2互通

vm1

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
24: eth0@if25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:12:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.2/16 brd 172.18.255.255 scope global eth0
       valid_lft forever preferred_lft forever
26: eth1@if27: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:14:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.20.0.2/24 brd 172.20.0.255 scope global eth1
       valid_lft forever preferred_lft forever

vm2

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
28: eth0@if29: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:14:00:0a brd ff:ff:ff:ff:ff:ff
    inet 172.20.0.10/24 brd 172.20.0.255 scope global eth0
       valid_lft forever preferred_lft forever

跨主机通信

 

这里用2台虚拟机通信

都要两块网卡 eth0 1

yum install bash-* -y

进入混杂模式 promisc

ip link set eth0 promisc on

ip link set up eth1

ip link set eth1 promisc on

docker load -i ubuntu.tar

 

server1  172.25.11.1

docker network create -d macvlan --subnet 172.25.1.0/24 --gateway 172.25.1.1 -o parent=eth0 mac_net1

docker run -it --name vm1 --net mac_net1 --ip 172.25.1.10 ubuntu

docker network create -d macvlan --subnet 172.25.2.0/24 --gateway 172.25.2.1 -o parent=eth1 mac_net2

docker run -it --name vm2 --net mac_net2 --ip 172.25.2.10 ubuntu

docker network create -d macvlan --subnet 172.25.3.0/24 --gateway 172.25.3.1 -o parent=eth1.1 mac_net3

docker run -it --name vm3 --net mac_net3 --ip 172.25.3.10 ubuntu

server2 172.25.11.2

docker network create -d macvlan --subnet 172.25.1.0/24 --gateway 172.25.1.1 -o parent=eth0 mac_net1

docker run -it --name vm1 --net mac_net1 --ip 172.25.1.11 ubuntu

docker network create -d macvlan --subnet 172.25.2.0/24 --gateway 172.25.2.1 -o parent=eth1 mac_net2

docker run -it --name vm2 --net mac_net2 --ip 172.25.2.11 ubuntu

docker network create -d macvlan --subnet 172.25.3.0/24 --gateway 172.25.3.1 -o parent=eth1.1 mac_net3

docker run -it --name vm3 --net mac_net3 --ip 172.25.3.11 ubuntu

docker exec -it vm3 bash

root@c0adcf235354:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
9: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether 02:42:ac:19:03:0b brd ff:ff:ff:ff:ff:ff
    inet 172.25.3.11/24 brd 172.25.3.255 scope global eth0
       valid_lft forever preferred_lft forever
root@c0adcf235354:/# ping 172.25.3.11
PING 172.25.3.11 (172.25.3.11) 56(84) bytes of data.
64 bytes from 172.25.3.11: icmp_seq=1 ttl=64 time=0.031 ms

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值