내 목표는 도커 컨테이너에 대한 액세스를 몇 개의 공개 IP 주소로 제한하는 것입니다. 목표를 달성하기위한 간단하고 반복 가능한 프로세스가 있습니까? Docker의 기본 옵션을 사용하는 동안 iptables의 기본 사항 만 이해하면 매우 어렵습니다.
컨테이너를 실행하고 공용 인터넷에 표시하도록하고 싶지만 일부 호스트의 연결 만 허용하고 싶습니다. 기본 입력 정책을 REJECT로 설정 한 다음 호스트의 연결 만 허용합니다. 그러나 Docker의 NAT 규칙과 체인이 방해를 받고 내 입력 규칙이 무시됩니다.
다음 가정을 통해 내 목표를 달성하는 방법의 예를 누군가가 제시 할 수 있습니까?
- eth0에서 공개 IP 80.80.80.80 호스트
- eth1에서 호스트 개인 IP 192.168.1.10
docker run -d -p 3306:3306 mysql
- 호스트 4.4.4.4 및 8.8.8.8을 제외하고 호스트 / 컨테이너 3306에 대한 모든 연결을 차단하십시오.
컨테이너를 로컬 IP 주소에만 바인딩하는 것이 행복하지만 도커 프로세스 및 호스트 다시 시작에서 살아남은 iptables 전달 규칙을 올바르게 설정하는 방법에 대한 지침이 필요합니다.
감사!
--ctdir
? 나는 사용한다-m conntrack --ctstate NEW --ctorigdstport 3306 --ctdir ORIGINAL