본문 바로가기
서버인프라/리눅스

IPTABLE Rule 설정

by techwold ted 2022. 2. 16.
:INPUT ACCEPT [0:0] 
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22222 -j ACCEPT
-A INPUT -p tcp -s 10.10.10.10/27 -m tcp --dport 22222 -j ACCEPT
-A INPUT -p tcp -s 11.11.11.11/27 -m tcp --dport 3306:3309 -j ACCEPT
-A INPUT -p tcp -s 1.1.1.1 -m tcp --dport 80 -j DROP
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3999 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

 

모든 아이피에 대해서 22222포트 에 대하여 트래픽 허용

iptables -A INPUT -p tcp -m tcp --dport 22222 -j ACCEPT

 

아이피 11.11.11.1 ~ 11.11.11.30 까지

3306 ~ 3309까지의 포트 혀용

iptables -A INPUT -p tcp -s 11.11.11.11/27 -m tcp --dport 3306:3309 -j ACCEPT

 

아이피 1.1.1.1 

80포트 접속 시 차단

iptables -A INPUT -p tcp -s 1.1.1.1 -m tcp --dport 80 -j DROP

 

[간략소개]

IPTABLE 의 체인 종류는 다음과 같다.

  1. ROUTING : 라우팅 결정 만들어지기 전에 패킷이 들어가는 체인
  2. INPUT : 로컬 리눅스 시스템이 목적지인 패킷에 적용되는 체인
  3. OUTPUT : 시스템 자체가 생성하는 패킷위해 예약한 체인
  4. FORWARDING : 리눅스 시스템을 통과하는 패킷을 관리하는 체인
  5. POSTROUTING : 커널 내부에서 IP 라우팅 계산 수행 후

[ 중요 매치 ]

   --sourse(-s) : 출발지 IP 주소나 네트워크를 의미

   --destination(-d) : 목적지 IP 주소나 네트워크를 의미

   --protocol(-p) : 특정 프로토콜 자체를 의미

   --in-interface(-i) : 입력 인터페이스 (ex. eth0)

   --out-interface(-o) : 출력 인터페이스

   --state : 연결 상태와의 매칭

   --string : 어플리케이션 계층 데이터의 바이트 순서와의 매칭

   --comment : 주석, 커널 내의 메모리 규칙과 연계되는 최대 256 byte 까지 만들 수 있는 주석

                  사실 주로 매치를 적용함에 있어서 풀네임을 다 사용하기 보단, 뒤에 있는 약자를 쓰는 경우가 대부분이니 약자를 외워두는 편이 유리할 것입니다.

[중요 타겟]

   - ACCEPT : 패킷이 본래 라우팅대로 진행

   - DROP : 패킷을 버린다 (그 뒤 별도의 패킷을 보내거나 조치 하지 않음)

   - LOG : 패킷을 syslog에 기록

   - REJECT : 패킷을 버리는 것은 DROP과 동일하지만, 그 뒤에 별도의 응답 패킷을 보낸다는 점에서 차이가 있다.

   - RETURN : 호출체인 내에서 패킷처리를 계속 진행한다.

'서버인프라 > 리눅스' 카테고리의 다른 글

Linux Disk resize  (0) 2022.10.09
리눅스 history 날짜 시간 생성  (0) 2022.10.07
리눅스 디스크 추가  (1) 2022.10.07
Linux Time Zone 설정  (0) 2022.02.18
IPTABLE 설치  (0) 2022.02.16

댓글