ByeongHunKim / Cloudclub-istio-skyline

☁️ Cloud Club's collaborative journey exploring Istio and service mesh technologies 🚀
https://www.cloudclub.kr/
2 stars 0 forks source link

[Question] Iptables에서 NAT(SNAT) 테이블이 INPUT 체인을 정확히 어느 상황에서 쓰는지? #17

Closed opp-13 closed 1 month ago

opp-13 commented 1 month ago

Question / 질문 내용

SNAT은 POSTROUTING 체인을 원래 기본적으로 사용했고 커널 2.6.34 버전에서 INPUT체인이 추가가 되었습니다. 그런데 정확히 SNAT에서 INPUT체인을 쓰는 이유가 무엇인지 궁금합니다. 그리고 nat 설정 시(SNAT) netfilter hook이 INPUT체인에도 걸리는지도 모르겠습니다.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c68cd6cc21eb329c47ff020ff7412bf58176984e

Context / 상황 설명 Iptables에 대하여 공부하다가 나온 질문입니다.

What I've Tried / 시도한 방법 질문에 대한 답을 찾기 위해 시도해본 방법이 있다면 설명해주세요

일단 netfilter hook에 대하여 알아보고 있습니다. https://www.kangtaeho.com/66 https://velog.io/@koo8624/Linux-A-Deep-dive-into-iptables-and-Netfilter

Resources / 관련 자료 질문과 관련된 문서, 링크, 코드 등이 있다면 여기에 첨부해주세요

관련 질문 링크 https://serverfault.com/questions/1008556/is-there-a-need-for-the-nat-table-input-chain

NAT에서 INPUT을 쓰는 이유 <- 이게 정확히 어떤 상황인지 모르겠습니다. https://serverfault.com/questions/993878/what-is-the-purpose-of-the-input-chain-in-the-nat-table

Additional context / 추가 사항 기타 추가적인 정보나 생각이 있다면 여기에 작성해주세요

opp-13 commented 1 month ago

netfilter 문서 상으로는 INPUT Chain에는 걸리지 않는 것으로 나와 있습니다. https://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html#ss6.1

ByeongHunKim commented 1 month ago

@opp-13 올려주신 이슈의 내용을 이해하기 위한 배경 지식을 위해선 무엇을 알아야 하나요?

opp-13 commented 1 month ago

@ByeongHunKim iptables에서 테이블과 체인의 관계를 알면 될 듯 합니다.

opp-13 commented 1 month ago

좀 더 봐야겠지만 SNAT 시 Incoming packet의 출처가 로컬호스트거나 목적지가 로컬호스트면 INPUT Chain에 걸리는 것 같습니다.

ByeongHunKim commented 1 month ago

@opp-13

"SNAT 시 Incoming packet의 출처가 로컬호스트거나 목적지가 로컬호스트면 INPUT Chain에 걸린다" 로 질문에 대한 답을 할 수 있을까요?

opp-13 commented 1 month ago

@ByeongHunKim 네, 맞습니다.