[네트워크][보안] Masquerading/DNAT 방식으로 네트웍 프린트 사용하기..

IP 공유기 (Masquerading)을 사용하는 경우에, DNAT (Reverse Mapping?)

을 사용하여, 외부로부터 내부의 private IP를 가진 네트웍프린터(HP JetDirect를

사용하는 경우만 테스트)로 프린팅이 가능한지 테스트해보았습니다.

– 결론: 잘 됩니다.

– Linux 2.2 Net Filter 를 사용하는 경우 다음과 같은 command 로 설정이 가능합니다.

    # iptables -t nat -A PREROUTING -p tcp –dport 9100 -j DNAT –to <프린터_IP>

– Windows 2000 의 경우 “Standard TCP/IP Port” 형태의 프린터 포트 설정과정에서,

  기본 포트인 9100 대신 다른 값을 사용하도록 바꿀 수도 있습니다.

  예를 들면 “Standard TCP/IP Port” 를 두개만들면서 각각 port를 9100 과 9101 로 지정한뒤

    # iptables -t nat -A PREROUTING -p tcp –dport 9100 -j DNAT –to <프린터1_IP>:9100

    # iptables -t nat -A PREROUTING -p tcp –dport 9101 -j DNAT –to <프린터2_IP>:9100

  와 같이 redirection 을 시켜 놓을 수 있습니다.

– 제약사항 및 문제점

  – 프린터가 반드시 “Standard TCP/IP Port”를 지원하는 네트웍 프린터 이어야 합니다.

  – Printer Port를 만드는 일은 상당히 번거롭고 관리자만이 수행할 수 있는 작업이므로,

    masquerading 에 사용되는 대표 IP자체가 유동 IP인 경우 적용할 수 없습니다.

    – registry의 printer port 등록정보

      [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Print\\Monitors\\

        Standard TCP/IP Port\\Ports\\IP_211.241.202.133]

      를 직접조작하면 동적으로 IP를 바꾸는 것이 가능하지만 (테스트 했음),

    – 사용자-프린터 명을 식별하여 어떤 프린터가 해당되는 것인지를 파악할 수 있는

      정보를 유지할 방법이 없으므로, 현재로서는 “안되는 기능” 입니다.

    – 따라서, 고정 IP를 사용하여야 합니다.

  – 고정 IP를 사용하는 구성이 된다면, ㄱㅜㅌ이 IP하나만 받을게 아니라면, 프린터한테 global

     IP를 주는 방법도 생각할 수 있습니다.

    – 이때, 고정 IP를 모든 PC에 주지않고 원래처럼 PC들은 IP공유기를 그대로 사용하고,

      프린터만 global IP를 가지게 할 수도 있습니다.

    – 어째튼 Printer 가 global IP를 가지면, 앞의 DNAT Trick 은 적용할 필요가 애당초 없어집니다.

  

  – Local PC 의 Drive Mapping을 요구할 가능성이 있는경우, 모든 PC, Printer에 Global IP를

    사용하도록 하는 구성밖에는 답이 없습니다. (.NET 이전에는..)

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.