iptables을 이용하여 localhost로 NAT를 어떻게 하나요?
글쓴이: nudnick / 작성시간: 화, 2012/01/03 - 4:06오후
iptables을 이용하여 eth1,eth2를 127.0.0.1로 NAT를 걸어봤습니다만
트래픽이 들어오지 않습니다. 설정을 어떻게 해야할까요?
eth1,eth2는 라우터에서 포트미러링으로 rx,tx 따로 트래픽을 받고있습니다.
# Generated by iptables-save v1.3.5 on Tue Sep 28 01:32:01 2010
*filter
:INPUT ACCEPT [135:8622]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [172:63004]
-A INPUT -i eth1 -j ACCEPT
-A INPUT -i eth2 -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT [38:3581]
:POSTROUTING ACCEPT [2:296]
:OUTPUT ACCEPT [2:296]
-A PREROUTING -i eth2 -j DNAT --to 127.0.0.1
-A POSTROUTING -o eth1 -j SNAT --to 127.0.0.1
COMMIT
# Completed on Tue Sep 28 01:32:01 2010
Forums:
로컬 프로세스로 패킷을 보낼 때는 보통
로컬 프로세스로 패킷을 보낼 때는 보통 REDIRECT 타겟을 많이 씁니다. (아마도 원격 호스트의) 다른 프로세스 대신 로컬 프로세스가 대신 통신에 참여하게 합니다.
하지만 미러링 한 트래픽을 받으신다는 걸 보니 그저 어떤 프로세스에서 특정 인터페이스로 들어온 패킷을 보는 걸 원하시는 것 같네요.
그런 목적이라면 libpcap을 쓰는 게 일반적입니다. 그리고 netfilter의 QUEUE 타겟을 이용하실 수도 있습니다.
$PWD `date`
댓글 달기