커피닉스, 시스템 엔지니어의 쉼터
  iptables기반 NAT에서 msn파일 전송 (글 이호석) 작성일 : 2003/10/06 02:40
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 9536
     
    출처 : 리눅스사랑넷, http://linux-sarang.net/board/?p=read&table=tip&no=7042

    ------------------------------------------------------------------------------
    2110번: 리눅스 iptables 기반 NAT에서 msn파일 전송 사용하기
    글쓴이: 이호석 [홈페이지]       글쓴날: 2002-10-01 07:28:34     읽은수: 3475

    질답란에 예전에 어느 분이 올려주셨던 페이지에 가 보니 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등으로 바꾼 뒤 해당 계정으로 실행합니다.

    만약 데비안 테스팅 버전 이상을 사용하고 있다면 간단히 reaim패키지를 설치하면 됩니다 (apt-get install reaim). 패키지를 설치하면 reaim이 /usr/sbin에 설치된 후 start-stop-daemon을 이용하여 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등이 모두 끊길 것입니다. 메신저를 재 접속한 후 파일 전송을 시험해 봅니다.


    커피닉스, 시스템 엔지니어의 쉼터 / URL : http://coffeenix.net/board_view.php?bd_code=90