iptables 사용법 > 질문답변

본문 바로가기
사이트 내 전체검색

질문답변

iptables 사용법

페이지 정보

profile_image
작성자 미친새
댓글 0건 조회 20,147회 작성일 20-02-21 12:16

본문

iptables 사용법
iptables란?

리눅스 커널 안에는 패킷 필터링 기능을 가지고 있는 netfilter가 존재한다.

iptables는 이 netfilter를 관리하기 위한 툴이다.

특징
1. rule 기반의 패킷 필터링

2. 상태추적기능
- 메모리상에 상태추적테이블을 생성하여 연결 정보를 가진 모든 송수신 패킷 기록 및 검사
- 연결된 상태인 것처럼 위조한 패킷의 접근을 차단할 수 있다.
- 연결된 상태의 패킷에 대해서는 패턴 매칭 검사를 수행하지 않음(성능 향상)

3. NAT 기능, 로깅기능, 모듈확장 등을 제공.

설치
yum -y install iptables
chkconfig iptables on

시작
service iptables start

iptables의 문법

iptables는 위와 같은 문법을 가지고 있다.

iptables -h를 입력하면 도움말을 볼 수가 있다.

iptables --list 옵션으로 현재 룰 목록 확인가능.

이제부터는 문법의 각 요소마다 어떤 옵션이 있는지 알아보기로 한다.


테이블

- filter : 패킷 필터링 기능
- 이 외에도 nat, mangle, raw 같은 네트워크 분석 테이블도 존재한다.


체인

- INPUT : 방화벽을 최종 목적지로 한다.

- OUTPUT : 방화벽을 최초 출발지로 한다.

- FORWARD : 방화벽을 통과하는 체인이다.

- 이 외에도 PREROUTING, POSTROUTING과 같은 체인이 존재한다.


룰 설정

룰 설정을 할 때 가장 중요한 것은 순서이다.

앞 쪽 체인의 룰이 우선 순위가 높기 때문이다.



예를 들어 8.8.8.8에서 오는 모든 패킷을 막는 체인 뒤에

8.8.8.8에서 오는 tcp패킷을 허용하는 체인을 추가하면

여전히 tcp패킷은 막혀서 들어오지 못한다.


- A : append, 해당 체인 마지막에 룰을 추가한다.

- I : insert, 해당 체인 첫 행에 룰을 추가한다. (행 번호 지정가능)

- D : delete, 행 번호를 지정하여 룰 삭제

- F : flush, 해당 체인의 모든 룰 삭제

- R : replace, 행 번호를 지정하여 룰 치환

- P : policy, 기본 정책을 설정한다. 해당 체인의 모든 룰에 매칭되지 않으면 적용된다.


leonard_special-6

-p : 프로토콜 지정 (tcp, udp, icmp 등)

-s : 출발지 주소, 지정하지 않으면 any ip

-d : 목적지 주소, 지정하지 않으면 any ip

--sport : 출발지 포트

--dport : 목적지 포트

-i : 입력 인터페이스

-o : 출력 인터페이스


정책지정

-j 옵션을 이용해 정책 또는 타겟체인을 지정한다.

ACCEPT, DROP, REJECT, LOG 등을 사용할 수 있다.


@DROP과 REJECT의 차이

DROP은 그냥 차단, REJECT는 차단하면서 ICMP 에러 응답을 전송

iptables 룰 적용 방법

1. iptables 명령어를 통한 입력
(입력 후에 service iptables save를 통해 저장)


2. /etc/sysconfig/iptables 내용을 직접 수정.

위 내용을 수정하면 된다.


마지막으로 iptables의 간단한 사용 예시 몇 가지를 보고 마무리하겠다.

iptables의 간단한 사용 예시

@출발지 주소가 192.168.0.111 인 모든 접속 포트 차단

iptables -A INPUT -s 192.168.0.111 -j DROP

@목적지 포트가 3838보다 작을 때와 더불어 tcp 패킷을 거부하는 규칙

iptables -A INPUT -p tcp --dport :3838 -j DROP

(min:max 로 범위를 지정할 수 있다. 여기서는 3838이하)

@localhost 접속 허가

iptables -A INPUT -i lo -j ACCEPT


@ESTABLISHED와 RELATED상태 접속 허가

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


@Xmas 패킷 막기

iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP



@Null 패킷 막기

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : 회사명 / 대표 : 대표자명
주소 : OO도 OO시 OO구 OO동 123-45
사업자 등록번호 : 123-45-67890
전화 : 02-123-4567 팩스 : 02-123-4568
통신판매업신고번호 : 제 OO구 - 123호
개인정보관리책임자 : 정보책임자명

공지사항

  • 게시물이 없습니다.

접속자집계

오늘
547
어제
1,656
최대
5,296
전체
1,474,380
Copyright © 소유하신 도메인. All rights reserved.