[네트워크][보안] 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 이전에는..)


![[시스템] lsof 와 locate 를 이용한 시스템 점검방법 …](http://nblog.syszone.co.kr/wp-content/themes/hueman/assets/front/img/thumb-medium-empty.png) 
																			 
																											 
																											 
																											