iptables를 이용한 igmp 기능 구현.
결론 질문
1. iptables를 이용해서
특정 목적지 멀티캐스트 주소를 체크한 후
특정 ip만 전송 플로딩시키도록 설정하는 방법.
ex) src IP가 172.242.232이고 dst IP가 239.192.39.1인 멀티캐스팅 패킷이 오면
내부 주소인 192.168.10.234으로만 플로딩 되어라. #이때 조건은 (목적지가 239.192.39.1인 패킷)#
라는 명령을 내리고 싶습니다..
그 후에 또 추가로. 192.168.10.222로도 플로딩 되게하고 싶습니다.
또 그 후에 위에 명령들을 삭제해서, 더이상 아무곳도 플로딩 안되도록 하고 싶습니다.
질문 하는 이유.
igmp 관련 인증 시험 진행중.. 통과가 되지 못해서..
디버깅을 해보니.. 방송 패킷을 조인 요청시 플로딩 하는 기능은 잘 수행 하는데..
리브시 플로딩 차단하는 기능을 수행하지 못하는 것을 발견 했습니다..
소스를 분석해서 쫒아가보니.. 소켓 옵션 함수로 플로딩 되고 안되고를 컨트롤 하고 있는데..
이상하게 플로딩 차단하는 소스까지 분명히 루틴을 타는데.. 전혀 동작을 하고 있지 않습니다..
그래서 그냥 iptables를 system명령어를 이용해서.. 순간 순간 사용하면 되지 않을까 아이디어를 냈습니다.
그래서 iptables를 몇일 공부해봤는데.. 위에 명시한 기능을 수행시켜야 하는데..
뭔가 잘 동작을 하지 않습니다..
iptables -t nat -A PREROUTING -i eth1 -p udp -d 239.192.39.1 -j DNAT --to 192.168.1.100
이런 명령도 내려봤는데..
원하는 대로 동작하지 않습니다..
혹시 iptables 고수님 있으시면 도움 부탁 드리겠습니다..
댓글 달기