iptables
리눅스에서 방화벽을 설정하는 도구구이며 netfiter 기능을 사용자 공간에서 제어하는 수준으로 사용가능하다.
특정 조건을 가지고 있는 패킷에 대하여 ACCEPT,DORP을 지정할 수 있으며 , 특정 조건등을 통해 다양한 필터링과 처리 방식을 지원한다.
*패킷필터링 : 패킷을 헤더(도착지,출발지, 프로토콜, 옵션, 체크썸)을 걸러준다.
iptable 정책은 여러 구분으로 나눠지며 중요한 부분은 chain이라고 볼 수 있는다
패킷이 조작될 상태를 지정하며 iptables에 내장된 기본 chain은 INPUT 들어올 때, OUTPUT 나갈 때 , FORWARD 서버를 나가는 이는 영구적이며 삭제 불가능하다. 이외 -N으로 지정하는 사용자 정의 chain이 있다.
명령어 구조
iptables -A INPUT -s [발신자] --sport [발신자 포트] -d [목적지] -dport [목적지 포트] -j [정책]
1. 기본정책을 accept로 설정하기
#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD ACCEPT
2. 현재 방화벽 규칙보기
#iptables --list or iptables -L
3. 규칙 추가 후에 저장하기
# service iptables save -> /etc/sysconfig/iptables에 저장
4. 현재 규칙 초기화하기
iptables -F
기본 명령어 | 설명 |
-N (new chain) | 새로운 체인 만듬 |
-L (--list) | 새로운 규칙을 만듬 |
-X (--delete-chain) | 비어 있는 체인 삭제 |
-P (--policy) | 기본 정책 변경 |
-F (--flush) | 체인의 모든 규칙을 삭제 |
-A (--append) | 새로운 규칙을 추가 |
-I (--insert) | 새로운 규칙을 삽입 |
-R (--replace) | 새로운 규칙을 교체 |
-D (--delete) | 규칙을 삭제 |
-C (--ckeck) | 패킷을 테스트 |
제어 명령어
제어 명령어 | 설명 |
-s | 출발지 주소 |
-d | 목적지 주소 |
--sport | 출발지 포트번호 |
--dport | 목적지 포트번호 |
-p | 프로토콜 |
-i | 패킷이 들어오는 네트워크 인터페이스 |
-o | 패킷이 나가는 네트워크 인터페이스 |
-f | 분절된 패킷 |
-j | 규칙에 맞는 패킷을 어떻게 처리할 것인가를 명시 |
예제)
127.0.0.1 즉 로컬에서 요청되는 모든 ICMP 패킷에 대해 무시하려면?
iptables -A INPUT -s 127.0.0.1 -p imcp -j DROP
'운영체제 > 리눅스' 카테고리의 다른 글
[Xshell] AWS Xshell로 실행하기 (1) | 2020.11.13 |
---|---|
리눅스) iptables 명령어 2 조회/등록/설정 (1) | 2020.07.10 |
리눅스) NTP서버 (0) | 2020.06.17 |
[리눅스] 우분투에서 GPU 사용량 확인하기/ CPU수 확인하기 (0) | 2020.02.28 |
(Docker) registry volum (0) | 2020.02.18 |