반응형

무선 메쉬 네트워크에서 멀티홉 라우팅을 하면서, 라우팅을 해야 되는 flow가 아래와 같이 다르면, iptables를 쓸 때에도 필터링을 서로 다른 곳에서 해 주어야 한다:


1) 다른 노드가 source가 되고, 현재의 메쉬 라우터는 중간 노드가 되는 경우

2) (실제로 그럴 일은 별로 없겠지만) 메쉬 라우터 자체에서 패킷이 생성되었을 경우, 즉 메쉬 라우터 자신이 출발지 노드(source)가 돼서 응용 계층으로부터 패킷이 주입되는 경우


특정 포트 또는 목적지로 가는 패킷을 필터링/분류하고 라우팅을 변경하고자 할 때:

- 1번의 경우에는 PREROUTING 단계에서 hook을 걸어야 패킷이 걸린다.

- 2번의 경우는 OUTPUT 단계에 hook을 걸어야 패킷이 걸린다.



<2016.07.17 추가>


내가 하려는 작업은:

  • 멀티홉 라우팅 경로에서 중간노드 역할을 수행하는 라우터가 특정 조건의 패킷에 대하여 마킹을 한다. (--set-mark 옵션)
  • 특정 번호로 마팅된 패킷에 대응하는 별도의 라우팅 테이블을 만들어서 해당 패킷들만을 위한 라우팅 경로를 설정한다.


이 작업을 수행하려면 iptables에서 mangle 테이블을 써야 하고, 이 때 PREROUTING, OUTPUT 체인이 갖는 의미는 참고자료 [1] 에 잘 설명되어 있다.



<참고자료>

[1] http://marcof.tistory.com/35

반응형
블로그 이미지

Bryan_

,