글을 약간 수정했습니다.
------------------------------------------------

작성자 : 이호석 http://people.debian.org/~alee
출처 : http://211.47.128.157/board/?p=read&table=tip&no=7042&page=

라우터 머신에 reaim 프로그램을 데몬으로 띄워두면 msn과 aim에서 파일 전송이 가능합니다.

reaim의 홈페이지는 http://reaim.sourceforge.net입니다.

일단 http://sourceforge.net/project/showfiles.php?group_id=40800 에서 파일을 다운받아 압축을 풀고 컴파일합니다. 간단히 그냥 make를 실행하면 알아서 컴파일됩니다. 이때 생성되는 reaim파일을 실행 가능하도록 /usr/local/sbin등으로 복사합니다.

그리고나서 컴파일하여 만들어진 reaim을 실행합니다. 이때, 루트 권한으로 실행해도 되지만, 보안상 꺼려진다면 /var/log/reaim.log파일의 소유권을 nobody등으로 바꾼 뒤 해당 계정으로 실행합니다.

다음으로 iptables룰을 몇 가지 추가해야 합니다. 만약 로컬 네트워크 인터페이스가 eth1이라면 다음과 같이 추가합니다.

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 5190
-j REDIRECT --to-ports 5190
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 1863
-j REDIRECT --to-ports 1863

이때, 커널에서 REDIRECT 타겟을 지원해야 합니다. 만약 지원이 안된다면 모듈을 올리거나 커널을 다시 컴파일해야 합니다. 각각 한 줄로 써야되는건 모두 아시죠?

만약 방화벽이 설정되어 있다면 몇몇 포트를 열어주어야 합니다. 로컬 인터페이스가 eth1, 인터넷에 연결된 인터페이스가 eth0라면 다음과 같이 룰을 추가해 줍니다.

iptables -A INPUT -i eth1 -p tcp --dport 5190 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 1863 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 4443 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 5566 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 1864 -j ACCEPT

라우터 머신에서 이렇게 룰을 추가하면 로컬 머신들에서 연결되었던 msn과 aim, icq등이 모두 끊길 것입니다. 메신저를 재 접속한 후 파일 전송을 시험해 봅니다.

만약 데비안을 사용하고 있다면 간단히 http://www.debian.or.kr/~alee/packages/reaim_0.5-2_i386.deb 파일을 받아 설치하세요. 이 패키지를 설치하면 reaim이 /usr/sbin에 설치된 후 start-stop-daemon을 이용하여 nobody권한으로 실행되고 필요한 iptables룰까지 자동으로 추가됩니다.

+ Recent posts