방화벽 뒤의 어떤 컴퓨터가 패킷을 보내고 있는지 확인하고 싶습니다.
방화벽 뒤에 2대의 PC가 있고 NAT를 수행하기 전에 (내 알고리즘)을 기반으로 방화벽 수준에서 결정을 내리고 싶다고 가정해 보겠습니다. 기본적으로 패킷을 가로채서 결정을 내립니다. 어떻게 해야 합니까?
이를 위해 사용자 정의 C 코드를 작성하려면 어떤 도구를 사용해야 합니까?
답변1
실제로 패킷의 데이터에 대해 작업을 수행하려는 것인지, 아니면 단지 데이터를 보내는 컴퓨터에 따라 데이터를 라우팅하는 것인지 확실하지 않습니다.
iptables
라우팅이 가능하지만 매우 복잡합니다. 아이러니하게도 이는 "테이블"이라는 것을 활용하므로 데이터가 다양한 "테이블"을 통과할 때 데이터를 조사하고 경로를 변경할 수 있습니다.
자세한 내용은 이 튜토리얼을 참조하세요.http://wiki.centos.org/HowTos/Network/IPTables.
3개의 기본 테이블이 있지만 플러그인/모듈을 통해 더 추가할 수 있으며 사용자 정의 테이블을 개발할 수 있습니다.
기본:
- 입력하다
- 앞으로
- 산출
따라서 패킷이 상자에 들어오면 실행될 수 있는 "입력" 테이블을 통과합니다. 패킷이 상자 밖으로 흘러나오면 "출력" 테이블을 통해 흐르며, 이에 따라 조치도 취할 수 있습니다.
자세한 내용은 이 튜토리얼을 확인하세요 iptables
.