网络命名空间

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  禁用网络适合加密机密容器

docker网络配置_docker

下面使用桥接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

docker网络配置_bash_02

docker网络配置_ubuntu_03

docker网络配置_ubuntu_04

跨主机通信

 

这里用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

 

docker网络配置_bash_05