iptable을 이용하여 조건에 따라 포워딩 처리하기.

windlike의 이미지

안녕하세요..

여러종류의 서버들이 있고, 이 서버들의 앞단에 linux 장비들 두어 인터넷 연결을 할 계획 입니다.

그런데 이 중 하나의 장비를 일종의 인증 서버로 두어 처음에 이 서버들로 웹 접속을 하려는

모든 요청들을 인증 서버로 포워딩 하고, 인증서버에서 인증에 성공 한 source ip 에 대해서는

다음 접속 부터는 인증 서버가 아닌 원래 사용하고자 하는 서버로 연결 할 수 있도록 하고자 합니다.

예전에 openbsd의 pf 에서는 테이블을 적절히 이용하여 처리 할 수 있었는데 이번에는 linux 를 써야

하는 상황이 생겨서 고민 중 입니다.

iptables 를 이용해서 이런 처리가 가능 할까요?

일단

iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j DNAT --to xxx.xxx.xxx.xxx:80

을 이용해서 무조건 xxx.xxx.xxx.xxx 로 포워딩은 해 봤는데

인증이 완료 된 source ip 에 대해서 포워딩을 해제 하는 방법을 모르겠습니다.. -_-

익명 사용자의 이미지

ipset 을 이용하면 간단하게 가능하겠네요.