내 ufw에 몇 가지 규칙을 설정했지만 아무것도 차단하지 않는 것 같습니다. 현재 상태입니다.
~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
To Action From
-- ------ ----
22 ALLOW IN Anywhere
80 ALLOW IN Anywhere
27015:27115/udp ALLOW IN Anywhere
27015:27115/tcp ALLOW IN Anywhere
22 (v6) ALLOW IN Anywhere (v6)
80 (v6) ALLOW IN Anywhere (v6)
27015:27115/udp (v6) ALLOW IN Anywhere (v6)
27015:27115/tcp (v6) ALLOW IN Anywhere (v6)
보시다시피 기본적으로 들어오는 연결을 거부하고 특정 포트만 허용합니다. 그러나 여전히 포트 8083에 새 서비스를 설정했으며 외부에서 액세스 할 수 있습니다. 왜 그래야만하지?
도커 컨테이너를 사용 하여이 새로운 서비스를 실행했습니다.
답변
마치
Docker는 IPTables로 직접 변조합니다.
. Docker 데몬에 –iptables = false를 추가하여이 동작을 무시할 수 있습니다.
/ etc / default / docker를 편집 하고 DOCKER_OPTS 줄의 주석을 해제 하십시오 :
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --iptables=false"
저자는 다음과 같은 결론을 내렸다.
- UFW는 iptables에 실제 상태를 알려주지 않습니다 (충격이 아니라 여전히).
- 공개하고 싶지 않은 Docker에서 -p 옵션 (또는 -P)을 사용하지 마십시오.
- 루프백 인터페이스 또는 내부 IP 중 하나에서만 바인딩하십시오.