title: Node.js DGRAM module: Cannot send UDP message to remote machine but can to local machine
body: <p>I am running a simple UDP server using Nodejs's dgram module. 
  Relevant code is simply:</p>
  
  <pre><code>     server = dgram.createSocket('udp4');
       server.bind(10022,'127.0.0.1');
  </code></pre>
  
  <p>When I netstat on the local machine, using this:</p>
  
  <pre><code> sudo netstat -l
  </code></pre>
  
  <p>I see this entry:</p>
  
  <pre><code> Proto Recv-Q Send-Q Local Address     Foreign Address         State
   udp        0      0 localhost:10022     *:*  
  </code></pre>
  
  <p>When I do a nmap from a remote machine using the IP address of the interface:</p>
  
  <pre><code>sudo nmap -sU -p 10022 192.168.7.171
  </code></pre>
  
  <p>I see this:</p>
  
  <pre><code>  Nmap scan report for 192.168.7.171
    Host is up (0.00032s latency).
    PORT      STATE  SERVICE
    10022/udp closed unknown
  </code></pre>
  
  <p>I have UDP client code running on the same machine which works fine when I use server.bind(10022,'127.0.0.1'), as done above. It does not when I use the real IP address assigned to the interface.</p>
  
  <p>I also want to use the client code from a remote machine. So, when I use server.bind(10022, '192.168.7.171') in place of server.bind(10022,'127.0.0.1'), I would have expected to be able to send messages to the UDP process from a remote machine. I cannot. Interestingly the send function's callback, in the remote machine, does not return an error either.</p>
  
  <p>How do I get the client code on the remote machine send message to the UDP server. All firewalls were shutdown for testing because I initially suspected it to be a firewall issue. In any event, both the machines are on a local intranet during testing.</p>