리눅스 기초 다지기 - 27. firewalld

 

방화벽 오픈 확인

 

netcat

TCP 또는 UDP 프로토콜을 사용하는 네트워크 환경에서 데이터를 읽고 쓰는 간단한 프로그램

 

-l

: LISTEN 모드로 포트 띄움

 

-v

: 더 많은 정보 확인

 

연결 확인

nc -v [서버ip] [port]

 

netcat 패키지 설치

yum install -y nc
for i in node{1..2} ; do sshpass ssh root@$i yum install -y nc ; done

 

control 서버

systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset: enabled)
     Active: active (**running**) since Tue 2023-08-01 08:59:58 KST; 5min ago
       Docs: man:firewalld(1)
   Main PID: 713 (firewalld)
      Tasks: 2 (limit: 23656)
     Memory: 42.8M
        CPU: 696ms
     CGroup: /system.slice/firewalld.service
             └─713 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid

Aug 01 08:59:57 node1213312 systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 01 08:59:58 node1213312 systemd[1]: Started firewalld - dynamic firewall daemon.

# 테스트를 위해 5000번 포트를 LISTEN 모드로 띄움
nc -l 5000

 

node1

nc -v control 5000
# 방화벽에 의해 막혔을 때
Ncat: Version 7.91 ( <https://nmap.org/ncat> )
Ncat: Connection refused.

 

control 서버

systemctl stop firewalld
nc -l 5000

 

node1

nc -v control 5000
Ncat: Version 7.91 ( <https://nmap.org/ncat> )
Ncat: Connected to 172.17.0.100:5000.

 

방화벽 설정

# firewalld 부팅 시 자동 실행 설정 및 실행
systemctl enable --now firewalld

# 방화벽 동작 확인
firewall-cmd --state
running

# 방화벽 설정 목록
firewall-cmd --list-all

# 서비스 추가
firewall-cmd --permanent --add-service=ftp

# 서비스 삭제
firewall-cmd --permanent --remove-service=ftp

# 포트 추가
firewall-cmd --permanent --add-port=21/tcp

# 포트 삭제
firewall-cmd --permanent --remove-port=21/tcp

# 방화벽 설정 적용
firewall-cmd --reload