IT 기술 문서
CentOS 7 유용한 명령어 시리즈 - ④ 방화벽 및 네트워크 관리
- it2033 4일 전 2025.02.01 16:26
-
- 4
- 0
CentOS 7에서는 기본 방화벽으로 firewalld
를 사용하며, 네트워크 관련 명령어를 활용하여 서버의 연결 상태를 관리할 수 있습니다. 이 글에서는 방화벽 설정 및 네트워크 관리에 필요한 명령어들을 정리하겠습니다.
방화벽 관리 (firewalld)
CentOS 7에서는 iptables
대신 firewalld
가 기본 방화벽으로 설정되어 있습니다.
1. 방화벽 상태 확인
firewall-cmd --state
현재 방화벽이 활성화(
running
) 또는 비활성화(not running
) 상태인지 확인할 수 있습니다.
2. 방화벽 시작 및 중지
2.1. 방화벽 시작
systemctl start firewalld
firewalld
서비스를 실행하여 방화벽을 활성화합니다.
2.2. 방화벽 중지
systemctl stop firewalld
firewalld
서비스를 중지하여 방화벽을 비활성화합니다.
2.3. 방화벽 재시작
systemctl restart firewalld
firewalld
를 다시 시작하여 변경 사항을 적용합니다.
3. 부팅 시 방화벽 자동 실행 설정
3.1. 부팅 시 자동 실행 설정
systemctl enable firewalld
시스템 부팅 시 방화벽이 자동으로 실행되도록 설정합니다.
3.2. 부팅 시 자동 실행 해제
systemctl disable firewalld
부팅 시 방화벽이 자동으로 실행되지 않도록 설정합니다.
4. 현재 방화벽 설정 확인
firewall-cmd --list-all
현재 방화벽에서 설정된 서비스, 포트, 활성화된 규칙 등을 확인할 수 있습니다.
5. 방화벽에서 특정 포트 허용 및 차단
5.1. 특정 포트 열기 (예: 80 포트 - HTTP)
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
HTTP(80번) 포트를 열어 웹 서비스가 정상적으로 작동하도록 합니다.
5.2. 특정 포트 차단 (예: 80 포트)
firewall-cmd --permanent --remove-port=80/tcp
firewall-cmd --reload
기존에 열린 80번 포트를 다시 차단합니다.
6. 방화벽에서 특정 서비스 허용 및 차단
6.1. 서비스 기반 허용 (예: HTTP, HTTPS)
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
HTTP 및 HTTPS 트래픽을 허용합니다.
6.2. 서비스 차단 (예: HTTP)
firewall-cmd --permanent --remove-service=http
firewall-cmd --reload
HTTP 서비스에 대한 방화벽 허용을 제거합니다.
7. 특정 IP 차단 및 허용
7.1. 특정 IP 차단
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
firewall-cmd --reload
192.168.1.100
에서 오는 트래픽을 차단합니다.
7.2. 특정 IP 허용
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
firewall-cmd --reload
192.168.1.100
에서 오는 트래픽을 허용합니다.
네트워크 관리
서버의 네트워크 연결 상태를 확인하고 관리하는 것은 중요합니다.
8. 네트워크 인터페이스 확인
ip a
현재 사용 중인 네트워크 인터페이스와 IP 주소를 확인할 수 있습니다.
출력 예시:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
inet 192.168.1.10
→ 현재 서버의 IP 주소를 나타냅니다.
9. 특정 IP 또는 도메인에 대한 연결 확인
9.1. 특정 IP 또는 도메인에 Ping 테스트
ping -c 4 8.8.8.8
Google DNS 서버(8.8.8.8)까지의 연결 상태를 확인합니다.
9.2. 특정 포트가 열려 있는지 확인
nc -zv 192.168.1.10 22
192.168.1.10
서버의 22번 포트(SSH)가 열려 있는지 확인합니다.
10. 현재 열려 있는 포트 확인
10.1. Netstat을 이용한 포트 확인
netstat -tulnp
현재 열려 있는 모든 포트를 확인할 수 있습니다.
yum install net-tools
패키지를 설치해야 사용할 수 있습니다.
10.2. SS를 이용한 포트 확인
ss -tulnp
netstat
의 대체 명령어로 더욱 빠르게 실행됩니다.
11. 네트워크 연결 추적
11.1. 특정 도메인까지 가는 경로 확인
traceroute google.com
서버에서
google.com
까지 가는 네트워크 경로를 확인합니다.네트워크 속도가 느릴 경우 어느 구간에서 지연이 발생하는지 분석할 수 있습니다.
12. 도메인 및 DNS 정보 확인
12.1. 도메인 네임서버(DNS) 조회
dig google.com
특정 도메인의 네임서버 정보를 확인할 수 있습니다.
yum install bind-utils
패키지를 설치해야 사용할 수 있습니다.
12.2. 특정 도메인의 IP 주소 확인
nslookup google.com
도메인에 연결된 IP 주소를 조회할 수 있습니다.
13. 특정 포트 사용 중인 프로세스 확인
lsof -i :80
80번 포트를 사용 중인 프로세스를 확인할 수 있습니다.
yum install lsof
패키지를 설치해야 사용할 수 있습니다.
정리
명령어 | 설명 |
---|---|
| 방화벽 상태 확인 |
| 현재 방화벽 설정 확인 |
| 특정 포트 열기 |
| 특정 서비스 허용 |
| 특정 IP 차단 |
| 네트워크 인터페이스 및 IP 확인 |
| 특정 IP에 Ping 테스트 |
| 현재 열려 있는 포트 확인 |
| Netstat 대체 명령어 |
| 특정 도메인까지 가는 경로 확인 |
| 도메인의 DNS 정보 확인 |
| 도메인의 IP 주소 확인 |
| 특정 포트를 사용 중인 프로세스 확인 |
이번에는 CentOS 7에서 방화벽 및 네트워크 관리에 유용한 명령어들을 정리했습니다. 다음 시리즈에서는 패키지 및 소프트웨어 관리 명령어를 다루겠습니다.
- 이전글CentOS 7 유용한 명령어 시리즈 - ⑤ 패키지 및 소프트웨어 관리2025.02.01
- 다음글CentOS 7 유용한 명령어 시리즈 - ③ 프로세스 및 서비스 관리2025.02.01
댓글목록
등록된 댓글이 없습니다.