내가 사용하고 Shorewall를 간단하게 내 서버에 독립 방화벽 및 사용하고자하는 도커을 잘한다.
Docker 컨테이너와 포트 리디렉션 을 사용하여 docker 는 자체 IP 테이블 규칙 / 체인을 설정하여 ShoreWall이 다시 시작되면 종료됩니다. 따라서 컨테이너에 접근 할 수 없게 됩니다.
누구나 해안을 다시 시작할 때 도커 규칙을 저장 / 복원했거나 다른 해결 방법이 있습니까?
또한보십시오:
내가 사용하고 Shorewall를 간단하게 내 서버에 독립 방화벽 및 사용하고자하는 도커을 잘한다.
Docker 컨테이너와 포트 리디렉션 을 사용하여 docker 는 자체 IP 테이블 규칙 / 체인을 설정하여 ShoreWall이 다시 시작되면 종료됩니다. 따라서 컨테이너에 접근 할 수 없게 됩니다.
누구나 해안을 다시 시작할 때 도커 규칙을 저장 / 복원했거나 다른 해결 방법이 있습니까?
또한보십시오:
답변:
다음 구성 변경은 Docker와 Shorewall 호스트 사이의 트래픽 흐름을 보장해야합니다. Shorewall 4.5.21.9에서 테스트되었지만 최신 버전에 적용되어야합니다.
/etc/shorewall/shorewall.conf
IP 전달이 활성화되어 있는지 확인하십시오 (대부분의 구성 항목은 예 / 아니오이지만이 항목은 "켜기"입니다).
IP_FORWARDING=On
/ etc / shorewall / masq
개인 Docker 네트워크에 대해 마스 쿼 레이 딩 (NAT)을 활성화합니다 (다른 네트워크를 사용하는 경우 (예 :로 도커를 --bip=#.#.#.#/#
시작한 다음 적절하게 변경)). eth0
외부 연결이 가능한 호스트 시스템의 인터페이스로 변경하십시오 .
#INTERFACE:DEST SOURCE
eth0 172.17.0.0/16
/ etc / shorewall / 인터페이스
Shorewall이 dock
영역과 관련된 인터페이스를 알 수 있도록 인터페이스 항목을 추가하십시오 .
#ZONE INTERFACE OPTIONS
dock docker0
/ etc / shorewall / zones
새 영역을 만듭니다. 참고, docker
너무 길어서 "잘못된 영역 이름"오류가 발생합니다.
#ZONE INTERFACE
dock ipv4
/ etc / shorewall / 정책
Docker 컨테이너가 호스트 컴퓨터 및 인터넷 과 통신하도록 할 수 있으므로 다음 과 같이 시작하는 것이 좋습니다.
#SOURCE DEST POLICY
# ...(other policies)...
dock all ACCEPT
# ...(other policies, catch-all)...
또한 비슷한해야 할 수도 있습니다 ACCEPT
트래픽에 대한 정책 fw
에 dock
당신이 이미 그것을 열어하지 않은 경우 fw
에 all
.
필요 에 따라 정책 또는 규칙 파일 에서이를 더욱 강화할 수 있습니다 . 예를 들어, 위의 내용은 외부 트래픽이 Docker 컨테이너에 도달하는 것을 명시 적으로 허용하지 않습니다. 다른 지역 / 정책 / 규칙을 확인하십시오.
/etc/shorewall/interfaces
. 새 섹션을 참조하십시오 .
그냥 내 상자에서 알아 냈어 /etc/shorewall.conf에 다음이 있는지 확인하십시오.
IP_FORWARDING=Yes
Docker는 전달에 의존하며 모든 서버에서 'puppet'이 'No'로 설정되어 있습니다.
업데이트 : 아마도 도커에서 들어오는 트래픽을 WAN 인터페이스로 위장해야 할 수도 있습니다.
편집 /etc/shorewall/masq
하면 다음과 비슷한 줄이 필요합니다.
br0 172.17.0.0/12
이 경우 내 WAN 인터페이스는 실제로 br0 (브리지)이지만, 아마도 eth0과 비슷할 것입니다. ( ifconfig
인터페이스 및 해당 IP 주소를 보는 데 사용 하십시오). 내 컴퓨터 도커에서 RFC1918 개인 주소 범위 인 172.17.0.0/24를 사용합니다. 다른 시스템에서는 다를 수 있지만 ifconfig
인터페이스를 찾기 위해 다시 한 번 사용하여 범위 를 볼 수 있습니다 docker0
.
다시 시작 DOCKER
하기 전에 체인 을 저장 한 다음 나중에 다시 복원하는 확장 스크립트를 작성하여 Docker 규칙 세트가 쇼어 월 다시 시작에서 유지되도록 할 수 있습니다 . 방금 가능한 방법과는 거리가 멀지 만이 작업을 수행하는 방법에 대한 예제를 게시 했습니다.
IP_FORWARDING=Yes
및IP_FORWARDING=True
작업뿐만 아니라. 여러 프로덕션 라우터에 있지만 귀하의 대답은 내 것보다 훨씬 명확합니다. 훌륭한 일.