firewalld zone 추가 

Remark:

firewalld 은 zone 기준으로 세팅해보자

1.  firewalld zone Check

2.  zone add

2.1  zone delete

3. mysql-access 192.168.0.111 allow

4. mysql-access port=3306/tcp allow

5. firewall reload

비고. port=50000-50100/tcp allow


🔷 1. 왜 별도 Zone을 쓰는가?

기본(public) zone에 전부 열어버리면:

👉 대신:

✔ 보안 강화
✔ 정책 분리
✔ 관리 쉬움


🔷 2. 동작 구조

👉 핵심: IP → Zone → 규칙


🔷 3. 실제 설정 흐름 (MySQL 예시)

① Zone 생성


② 특정 IP를 Zone에 연결

👉 이 IP는 이제 mysql-access 규칙 적용


③ MySQL 포트 허용


④ 적용


🔷 4. 결과

접속자적용 Zone결과
203.0.113.10mysql-accessMySQL 접속 가능
그 외 IPpublic차단

🔷 5. public Zone은 최소화

👉 public에는 보통:

  • 80 (HTTP)
  • 443 (HTTPS)
    만 열어둠

🔷 6. 여러 IP / 대역도 가능


🔷 7. Zone 확인


🔷 8. 실무에서 많이 쓰는 패턴

✔ DB 서버

  • mysql-access → 특정 IP만 3306 허용
  • public → 닫힘

✔ 웹 서버

  • public → 80, 443
  • admin-zone → 관리자 IP만 SSH 허용

🔥 한 줄 핵심

👉 “IP별로 Zone을 나누고, Zone마다 다른 방화벽 정책을 적용하는 방식”


🔷 1. public zone에 3306이 열려있는지 확인 (가장 중요)

예시 출력:

👉 여기서 확인:

  • ports:3306/tcp가 없어야 정상
  • 있으면 → 외부 누구나 접속 가능 (❌)

🔷 2. 특정 포트만 직접 확인

결과:

  • no → 차단됨 (정상)
  • yes → 열림 (위험)

🔷 3. 실제 어떤 Zone이 적용되는지 확인

예:

👉 의미:

  • 일반 접속 → public
  • 특정 IP → mysql-access

🔷 4. mysql-access zone 확인

예:

👉 이 IP만 허용됨


🔷 5. 실제 차단 테스트 (가장 확실)

❌ 허용되지 않은 IP에서 테스트

또는

결과:

  • Connection refused / timeout → 차단됨 ✅
  • 연결됨 → 설정 잘못됨 ❌

✅ 허용된 IP에서 테스트

→ 연결되어야 정상


🔷 6. 로그로 확인 (고급)

👉 차단 로그 확인 가능


🔷 7. 실수 체크 포인트 (중요)

❗ MySQL이 모든 IP에서 listen 중인지

예:

👉 방화벽만 믿지 말고 같이 확인


🔥 최종 체크 공식