iptables 들어오는 아이피를 변환하지 않고 그대로 보이게 하려면.
글쓴이: 용수철 / 작성시간: 수, 2007/07/04 - 5:37오후
작은 프로젝트를 하구 있구요..
현재 클라이언트 -> 필터링서버 -> 게시판서버 이렇게 구성되어 있습니다.
필터링서버는 단순 욕설걸러네는 건데요.
클라이언트가 게시판서버에 글을 쓰면 ... 필터링서버를 타고 게시판 서버로 가는데요.
문제는 게시판등록글 정보를 보면 클라이언트의 실제주소가 게시판서버에 등록이 되는게 아니라
필터링서버의 주소가 기록이 됩니다.
iptables 를 사용해서 클라이언트의 아이피가 찍히게 하는 방법 없을 까요.
나중에 ip추적을 할수 없는 문제점이 있어서요..
글을 등록하면 죄다 필터링서버ip가 찍힙니다.
정리하자면 필터링은 되고 글을 등록하면 클라이언트의 실제 주소가 찍혔으면 하네요.
도와주세요.,
Forums:
'필터링서버'의
'필터링서버'의 정체가 궁금합니다만, 말씀하신 내용으로 봐서는 일종의 HTTP 프록시가 아닌가 싶습니다. 그렇게 가정하고서 얘기를 진행해 보자면...
크게 두 가지 해결 방법이 있습니다. 필터링서버에서 게시판서버로 가는 패킷의 출발지 IP 주소 자체를 클라이언트의 것으로 바꿔주는 방법이 하나이고, 좀 더 상위 계층에서 클라이언트의 IP 주소 정보를 전달해 주는 방식이 다른 하나입니다.
"transparent proxy" 정도로 검색을 하다 보면 http://freshmeat.net/projects/tproxy-linux/ 프로젝트를 만나실 수 있습니다. 출발지 IP 주소 자체를 클라이언트의 것으로 바꿔주는 방식입니다. 필터링서버에서의 커널 재컴파일이 필요하고, 프록시 프로그램의 수정이 필요하며, 필터링서버가 클라이언트와 게시판서버 사이의 길목에 위치해야 한다는 정도의 제약이 있습니다.
한편으로 상당수의 프록시 서버는 X-Forwarded-For 같은 HTTP 헤더를 통해 클라이언트의 IP 주소 정보를 전달해 주기도 합니다. 그런 경우라면 게시판서버의 응용 프로그램에서 그 주소를 추출해서 사용할 수도 있을 겁니다. (어떻게 추출해야 하는지, 혹은 과연 추출이 가능하긴 한 건지... 는 잘 모르겠습니다;; ) 혹은 로그인을 하거나 글을 쓰는 HTTP 요청을 전달할 때 CGI 인자에 클라이언트의 IP 주소를 추가해서 전달하도록 필터링서버를 살짝 수정하는 방법도 가능할 테구요. (귀찮겠군요...)
IP 추적이 유일한 목표하고 하면 차라리 필터링서버에서 HTTP 요청을 로그로 남기는 방법도 생각해 볼 수 있겠네요.
어찌되었건 필터링서버가 HTTP 프록시 방식으로 동작하는 거라면 아주 간편하게 문제를 해결할 수 있는 방법을 찾기는 쉽지 않을 듯 합니다.
----
$PWD `date`
$PWD `date`
내용감사합니다.
프록시서버는 아니구요
아파치+톰캣+ssl 연동했습니다.
댓글 달기