VMware에서 호스팅되는 Docker 호스트(가상 머신)가 있습니다. Docker 호스트에는 두 개의 네트워크 인터페이스가 있습니다. ens160 및 ens192
- ens192가 일반 IP 주소를 구성했습니다.
- ens160은 IP 주소가 없고 무차별 모드가 활성화된 상태로 구성되었습니다.
- vmware의 포트 그룹에도 무차별 모드가 켜져 있습니다.
- IP 전달이 활성화되었습니다:
net.ipv4.ip_forward=1
- Dockerhost의 방화벽이 꺼져 있습니다.
상호 작용
[root@dockerone ~]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
docker0 1500 393 0 0 0 1405 0 0 0 BMRU
ens160 1500 16034090 0 89 0 1255 0 0 0 BMPRU
ens192 1500 96324 0 1 0 6352 0 0 0 BMRU
ens160.2 1500 97658 0 0 0 362 0 0 0 BMPRU
네트워크 생성
docker network create -d macvlan --subnet=10.200.131.0/24 --gateway=10.200.131.1 -o parent=ens160.231 macvlan231
컨테이너 생성
docker run --name alp1 --net=macvlan231 --ip=10.200.131.191 -itd alpine /bin/sh
docker exec -it alp1 sh
docker run --name alp2 --net=macvlan231 --ip=10.200.131.190 -itd alpine /bin/sh
docker exec -it alp2 sh
두 컨테이너는 서로 통신할 수 있지만 외부 세계와는 통신할 수 없습니다.
답변1
아, 알겠습니다... VMware 가상 스위치 포트 그룹에서는 세 가지를 모두 활성화해야 합니다. 1. 무차별 모드 2. MAC 주소 변경 3. 위조 전송