본문 바로가기

여러가지/구축 & 설치

[방화벽] iptables 사용법

(ㄱ) CHAIN

INPUT: 들어오는 패킷 처리

OUTPUT: 로컬에서 생성된 패킷 처리

FORWARD: 다른 인터페이스로 전달되는 패킷 처리

PREROUTING: 패킷이 라우팅되기 전에 처리

POSTROUTING: 패킷이 라우팅된 후 처리

 

-A : append, 우선 순위 최하위에 규칙 추가

-I : insert, 우선 순위 최상단에 규칙 추가

-D : delete, 규칙 삭제

 

(ㄴ) 옵션

# iptables -A [CHAIN] -s [출발지 IP] -d [도착지 IP] -p [PROTOCOL] --dport [PORT] -j [TARGET]

# iptables -I [CHAIN] -s [출발지 IP] -d [도착지 IP] -p [PROTOCOL] --dport [PORT] -j [TARGET]

# iptables -D [CHAIN] -s [출발지 IP] -d [도착지 IP] -p [PROTOCOL] --dport [PORT] -j [TARGET]

 

# iptables -I INPUT/FORWARD -i [도착 인터페이스] -p [PROTOCOL] --dport [PORT] -j [TARGET]

# iptables -I OUTPUT/FORWARD -o [출발 인터페이스] -p [PROTOCOL] --dport [PORT] -j [TARGET]

 

(ㄷ) 기타

1) 포트 포워딩(Port Forwarding)

포트 포워딩은 네트워크에서 외부로부터 들어오는 트래픽 내부 네트워크의 특정 서버나 포트로 전달하는 기술입니다. 주로 라우터나 방화벽에서 설정되며, 외부 클라이언트가 내부 네트워크의 특정 서비스를 접근할 수 있도록 허용합니다.예를 들어, 외부 네트워크에서 특정 IP 주소80번 포트로 들어오는 HTTP 요청을
내부 네트워크의 다른 IP 주소8080번 포트로 전달하고 싶을 때 포트 포워딩을 사용합니다.

 

ex) iptables -t nat -A PREROUTING -p [PROTOCOL] --dport [PORT] -j DNAT --to-destination [새로운 IP 주소:포트]

 

2) 로깅

iptables -A [CHAIN] -p [PROTOCOL] --dport [PORT] -j LOG --log-prefix "SSH attempt: "

--log-prefix "SSH attempt: " 은 로그에 기록될 메시지의 접두사를 지정합니다.
위의 경우, 로그에 "SSH attempt: "라는 문자열이 앞에 붙고, 그 뒤에 패킷의 세부 정보가 기록됩니다.
예를 들어, SSH 연결 시도가 발생하면 로그에 SSH attempt: ... 형식으로 관련 정보가 기록됩니다.