이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 5217|회답: 3

Docker는 Macvlan을 사용해 컨테이너에 독립적인 IP 주소를 설정합니다

[링크 복사]
게시됨 2022. 11. 19. 오후 12:01:56 | | | |
요구사항: 라우터의 DHCP 서비스를 통해 Docker 컨테이너에 독립적인 LAN IP 주소를 할당하고, 개발된 ASP.NET Core 애플리케이션을 여러 서버에 배포할 수 있도록 하고(고가용성을 위해 여러 서버에 배포해야 합니다), 이후 서로 전송할 수 있습니다.
일부 애플리케이션, 특히 레거시 애플리케이션이나 네트워크 트래픽을 모니터링하는 애플리케이션은 물리 네트워크에 직접 연결되기를 기대합니다. 이 경우 macvlan 네트워크 드라이버를 사용해 각 컨테이너의 가상 네트워크 인터페이스에 MAC 주소를 할당할 수 있는데, 이는 물리적 네트워크에 직접 연결된 물리적 네트워크 인터페이스처럼 보이게 할 수 있습니다. 이 경우에는 Macvlan용 Docker 호스트에 물리적 인터페이스를 지정해야 합니다. 그리고. 맥블란의 서브넷과 게이트웨이. 심지어 다른 물리적 네트워크 인터페이스로 네트워크를 격리할 수도 있습니다.


네트워크 카드도 가상화할 수 있나요? 네트워크 카드 가상화 기술에 대한 상세한 설명 맥블란
https://www.itsvse.com/thread-10388-1-1.html
먼저, 호스트 머신의 물리적 NIC를 설정해야 합니다"프로미스큐어스 모드" 모드를 허용합니다예를 들어, ESXI를 예로 들어 가상 스위치를 다음과 같이 설정하자:



시스템 환경은 다음과 같습니다:

CentOS 리눅스 릴리스 7.9.2009 (코어)
Docker 버전 20.10.20, 빌드 9fdeb9c


CentOS 7 호스트에 Docker 서비스를 설치하세요. (생략됨)



설립하다net.ipv4.ip_forward = 1sysctl -a를 통해 현재 구성을 볼 수 있습니다. 만약 1이 아니라면 1로 수정해 주세요. 튜토리얼은 생략되었습니다. 주요 목적은 리눅스 호스트에 여러 개의 네트워크 카드를 가질 때 한 네트워크 카드가 수신한 정보를 다른 네트워크 카드로 전달할 수 있는지 확인하는 것이며, 1로 설정하면 패킷 전달이 가능하다는 점입니다.

Docker 서비스가 설치되면 다음 명령어로 macvlan 네트워크를 생성합니다:

--ip-range: 이 서브셋을 Docker 192.168.50.192/27에 할당하기로 결정했는데, 이는 192.168.50.192에서 시작해 192.168.50.223까지 32개의 주소로 구성되어 있습니다.
--gateway: 게이트웨이 주소를 설정하세요. 보통 라우터 IP 주소입니다. 실제 상황에 맞게 설정하세요
-o 부모: 호스트의 물리적 NIC 카드의 이름인 부모 인터페이스는 실제 상황에 따라 IP A를 통해 볼 수 있습니다.


생성이 완료된 후에는 다음 명령어로 확인할 수 있습니다:



Busybox 컨테이너를 시작하고 새로 생성된 Macvlan으로 네트워크를 다음 명령어로 설정해 보세요:

팁: 필요하다면 용기를 주세요IP 주소를 설정하려면 --ip 매개변수를 사용하세요, 예를 들어: --ip=192.168.50.210

다음 명령어를 사용하여 컨테이너의 IP 주소를 확인할 수 있습니다:



물론, 다음 명령어로 컨테이너 내부에 들어가 볼 수도 있습니다:



우리LAN에 있는 다른 기기들을 이용해 컨테이너의 IP 주소를 핑으로 보내보세요아래 그림에서 보듯이 핑을 할 수 있습니다:



라우터의 IP 및 MAC 매핑 테이블을 보면, 도커 컨테이너의 MAC/IP 주소가 아래 그림에서 보듯이 라우터의 MAC/IP 주소와 동일하다는 것을 알 수 있습니다:



Redis 컨테이너를 다시 시작하고 다음 명령어로 새로운 MacVLAN 네트워크를 설정해 보세요:

CentOS 호스트 자체에도 레디스 애플리케이션이 실행 중이며 포트 6379를 사용하고 있으며, 우리는 포트 6379를 사용하는 레디스 컨테이너 애플리케이션을 만듭니다.동일한 호스트 포트 6379가 두 개의 서로 다른 IP에서 청취됩니다작동하는지 확인해 보세요.

아래 그림에서 볼 수 있듯이 모든 검사 결과가 정상적으로 작동하고 있습니다:





리소스

하이퍼링크 로그인이 보입니다.




이전의:네트워크 카드도 가상화할 수 있나요? 네트워크 카드 가상화 기술에 대한 상세한 설명 맥블란
다음:[실습] FRP 인트라넷 침투를 이용해 원격 데스크톱 연결을 달성하세요
게시됨 2022. 11. 28. 오후 7:30:39 |
배우기 시작해...
게시됨 2023. 3. 12. 오전 9:18:32 |
배우기 위해 배우세요
게시됨 2023. 4. 22. 오후 3:45:19 |
공유해 주셔서 감사합니다.
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com