案例:
- 环境:kali linux在172.16.82.0/24,该网段网卡为eth0, docker安装在kali linux上
- 需求:在docker中创建容器的网段在172.16.82.0/24网段中
【第一步:将网卡(eth0)设置混杂模式】
$ ip link set eth0 promisc on
【第二步:创建macvlan网络】
$ docker network create -d macvlan --subnet=172.16.82.0/24 --ip-range=172.16.82.0/24 --gateway=172.16.82.2 -o macvlan_mode=bridge -o parent=eth0 macvlan
【注意:如果创建network时不指定gateway的话,可能会使得容器无法连上internet】
【第三步:创建成功,可以查询】
$ docker network ls
【第四步:基于容器宿主机同网卡网段,创建容器并启动,容器的镜像是citizenstig/dvwa】
$ docker run -itd --network=macvlan --ip=172.16.82.201 --name=dvwa citizenstig/dvwa
【第五步:查看容器网络, 进入容器,验证】
$ docker inspect [container_ID]
$ docker exec -it [container_ID] /bin/bash
【第六步:退出容器】
$ exit