-
iptables(부제: 방화벽)개발공부/네트워크 2024. 9. 14. 23:15
= 리눅스 방화벽 도구
= netfilter 도구
netfilter 이미지는 꼭 검색해서 보셔요
명령어
iptables -A 체인의 끝에 규칙을 추가합니다. iptables -D 체인에서 규칙을 삭제합니다. iptables -I 지정한 위치에 규칙을 삽입합니다. iptables -R 체인의 규칙을 교체합니다. iptables -L 현재의 모든 규칙을 나열합니다. iptables -F 체인의 모든 규칙을 삭제합니다. iptables -Z 체인의 모든 패킷과 바이트 카운터를 0으로 초기화합니다. iptables -P 체인의 기본 정책을 설정합니다. iptables -N 새로운 체인을 생성합니다. iptables -X 사용자 정의 체인을 삭제합니다. iptables -E 체인의 이름을 변경합니다. iptables -v 상세 정보를 출력합니다. iptables -n 호스트 이름을 숫자 IP 주소로 출력합니다. iptables -t 특정 테이블을 지정합니다. (예: filter, nat, mangle, raw) (라우터 ui의 소스코드는 iptables 명령어를 불러와서 입력하는것으로 유추 가능하겠죠?)
table 아래 여러 체인, 체인은 여러 규칙, 규칙은 패킷 처리방법을 가짐
도움 by gpt iptables table
- raw : 연결 추적
- mangle : 패킷 헤더 수정
- nat : 네트워크 주소 변환 수행
- filter : 패킷 필터링 담당
iptables Chain
network 레밸에서 chain rule 적용순서 - = 패킷이 조작될 상태
- INPUT : localhost로 들어오는 모든 패킷을 허용하는 규칙 생성
- OUTPUT : localhost 에서 생성된 패킷 라우팅 하기 전
- PREROUTING : 라우팅 결정 하기 전
- POSTROUTING : 패킷이 외부로 나가려 할 때
- FORWARD : localhost를 통과할 때
테이블 별 가질 수 있는 체인
더보기테이블 \ 체인 PREROUTING INPUT FORWARD OUTPUT POSTROUTING filter ✓ ✓ ✓ nat ✓ ⚠️(일부) ✓ ✓ mangle ✓ ✓ ✓ ✓ ✓ raw ✓ ✓ iptables 패킷 처리 방법 (target)
-
- accept, drop, reject, log
- return : 체인 처리 중단, 호출 체인으로 돌아감
- QUEUE : 사용자 공간 프로그램으로 전달
- REDIRECT : 다른 포트나 주소로
- MASQUERADE : 동적 IP 환경에서 소스 IP 변경, nat수행
- DNAT : 목적지 ip나 포트 변경
- SNAT : 출발지 ip나 포트 변경
- -P : 기본 정책
- -N : 새 체인 생성
- -A : 새 규칙 추가
- target 에 chain?
- 한 체인에서 다른 체인으로 ‘점프’
- PREROUTING 체인 타겟에 HELLO 체인 == PREROUTING -j HELLO
- 한 체인에서 다른 체인으로 ‘점프’
실습 : wireshark + 라우터 ui
1. port forwarding 추가
port 임의지정 443 포트로 들어오는 패킷(ip는 외부 라우터 주소)
==> 192.168.1.6 ip 주소, 443번 포트로 포워딩 하겠다는 의미
결과 '개발공부 > 네트워크' 카테고리의 다른 글
NAT-1 (0) 2025.01.05 포트포워딩 (1) 2024.10.27 스위치 (netgear switch), VLAN (7) 2024.09.01