'Zone'에 해당하는 글 2건

firewalld 방화벽

Server/CentOS 2021. 7. 11. 14:46

CentOS 7 부터 방화벽으로 firewalld 를 사용한다. port 나 대역 설정 등을 주로 한다. 아마도 기존 iptables 보다 설정이 간편할 것이다.

 

  • 여러 zone 생성 가능
  • zone 마다 각종 service, port, ip 등 설정 가능
  • 필요에 맞게 하나의 zone 을 활성화
  • default zone 은 public

 

가장 많이 사용하는 구문은 포트 열고 적용하고.

 

# firewall-cmd --zone=public --add-port=8080/tcp
success
# firewall-cmd --reload
success

 

 

1. 데몬 확인 (start/stop/status)

 

# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-07-10 23:31:53 EDT; 1h 29min ago
     Docs: man:firewalld(1)
 Main PID: 687 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─687 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

Jul 10 23:31:53 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Jul 10 23:31:53 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Jul 10 23:31:53 localhost.localdomain firewalld[687]: WARNING: AllowZoneDrifting is enabled. This is co...ow.
Hint: Some lines were ellipsized, use -l to show in full.

 

# firewall-cmd --state
running

 

 

2. 모든 zone 이름 확인

 

# firewall-cmd --get-zones
block dmz drop external home internal public trusted work

 

 

3. 기본 zone 확인

 

# firewall-cmd --get-default-zone
public

 

 

4. 기본 zone 을 home 으로 변경

 

# firewall-cmd --set-default-zone=home
# firewall-cmd --get-default-zone
home

 

 

5. public zone 의 설정 확인

 

# firewall-cmd --zone=public --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client ssh
  ports: 1521/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

 

현재 public zone 설정을 보면 ssh services 와 1521 포트가 열린 것을 확인할 수 있다. 알려진 포트들에 대해서는 services 로 등록을 해도 되고, 다른 포트를 사용하고 싶다 하면 직접 포트를 추가해도 된다. service 에 ssh 를 추가하나, 포트 22번을 여는 거나 동일한 결과란 뜻.

 

 

6. 서비스 추가/삭제 (즉시 적용)

 

# firewall-cmd --zone=public --add-service=mysql
# firewall-cmd --zone=public --remove-service=mysql

 

 

7. port 추가/삭제 (즉시 적용)

 

# firewall-cmd --zone=public --add-port=8081/tcp
# firewall-cmd --zone=public --remove-port=8081/tcp
# firewall-cmd --zone=public --add-port=8081-8090/tcp
# firewall-cmd --zone=public --remove-port=8081-8090/tcp

 

 

8. 영구 적용 (reload 후 적용)

 

# firewall-cmd --zone=public --add-service=mysql --permanent
# firewall-cmd --reload

 

--pormanent 를 제외하면 재부팅이나 데몬 재시작 할 경우 해당 설정은 사라진다.
또한 reload 로 설정을 재적용하지 않으면 반영되지 않는다.

 

 

9. IP 추가/삭제

 

# firewall-cmd --add-source=192.168.0.2 --permanent 
# firewall-cmd --remove-source=192.168.0.2 --permanent

 

 

10. IP 대역 추가/삭제

 

# firewall-cmd --add-source=192.168.0.0/24 --permanent 
# firewall-cmd --remove-source=192.168.0.0/24 --permanent

 

 

11. IP 대역 / 특정 포트 추가/삭제

 

# firewall-cmd --add-rich-rule='rule family="ipv4" source address=192.168.0.0/24 port port="8081" protocol="tcp" accept' --permanent
# firewall-cmd --remove-rich-rule='rule family="ipv4" source address=192.168.0.0/24 port port="8081" protocol="tcp" accept' --permanent

 


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,

네임서버의 증상은 다음과 같았다.

  1. 브라우저로 사이트 접속.
  2. 웹페이지를 표시할 수 없음. 가끔씩... 열에 두번? ㅡㅡ;;
  3. 페이지 새로 고침 5연타.
  4. 페이지 열림

원인을 파악하기 위해 zone 들을 모두 비교해봤으나 다른 도메인들과 다른 점을 찾지 못함.
참고로 다른 도메인들은 모두 잘됐음.

대처한 해결 방법은 다음과 같았다.

  1. 캐삽질하다가 최후의 수단으로 싸부님께 메일 보냄.
  2. 싸부님께서 다수의 전문가들에게 메일 뿌림.
  3. zone에 점을 찍으면서 시마이.
  4. 페이지 접속 완벽함! ㅋ

지정된 페이지를 찾을 수 없다며 페이지 오류를 내던 zone 파일에 네임서버 지정시에

IN NS       ns1.oops4u.com (X)
IN NS       ns1.oops4u.com. (O)


마지막에 점을 안찍어서 문법에 맞지 않아 오류가 난 듯.

근데 점 안찍어도 되는 도메인들은 모냐고 대체..

역시 이쪽은 아직 역추적 능력이 부족하다 흠..
아무튼 탁월한 능력으로 여러명 시간 뺏었다 크크킄ㅋㅋㅋ....  ㅡ.,ㅡ

참고1: http://www.bind9.net/manuals
참고2: http://www.bind9.net/manual/bind/9.3.2/Bv9ARM.ch06.html#zone_statement_grammar


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,