Port forwarding: Difference between revisions
Reverted good faith edits by 117.241.185.22 (talk): Unnecessary to repeat synonyms. (TW) |
→Software: updated references on the software products, updated the name of the product. |
||
Line 66: | Line 66: | ||
*{{cite web |
*{{cite web |
||
|title=UDP and TCP port forwarding for Windows platform |
|title=UDP and TCP port forwarding for Windows platform |
||
|url=http://www. |
|url=http://www.verigio.com/products/ |
||
|accessdate=2011-07-29 |
|accessdate=2011-07-29 |
||
}} [[ |
}} [[PC-Port-Forwarding]] is a software which uses driver framework to perform UDP and TCP port forwarding on Windows platform. Does not require any additional hardware besides the network card. |
||
==References== |
==References== |
Revision as of 18:52, 18 November 2011
Port forwarding or port mapping[1] is a name given to the combined technique of
- translating the address and/or port number of a packet to a new destination
- possibly accepting such packet(s) in a packet filter (firewall)
- forwarding the packet according to the routing table.
The destination may be a predetermined network port (assuming protocols like TCP and UDP, though the process is not limited to these) on a host within a NAT-masqueraded, typically private network, based on the port number on which it was received at the gateway from the originating host.
The technique is used to permit communications by external hosts with services provided within a private local area network.[2]
Purpose
Port forwarding allows remote computers, for example, computers on the Internet, to connect to a specific computer or service within a private local area network (LAN).[3]
In a typical residential network Internet access is obtained through a DSL or cable modem connected to a router or network address translator (NAT/NAPT). Hosts on the private network are connected to an Ethernet switch or communicate via a wireless LAN. The NAT device's external interface is configured with a public IP address. The computers behind the router, on the other hand, are invisible to hosts on the Internet as they each communicate only with a private IP address.
When configuring port forwarding, the network administrator sets aside one port number on the gateway for exclusive use of communicating with a service in the private network, located on a specific host. External hosts must know this port number and the address of the gateway to communicate with the network-internal service. Often, the port numbers of well-known Internet services, such as port number 80 for web services (HTTP), are used in port forwarding, so that common Internet services may be implemented on hosts within private networks.
Typical applications include the following:
- Running a public HTTP server within a private LAN
- Permitting Secure Shell access to a host on the private LAN from the Internet
- Permitting FTP access to a host on a private LAN from the Internet
Port forwarding is configured in the gateway's operating system. In Linux kernels, this is achieved by packet filter rules in the iptables or netfilter kernel components. BSD and Mac OS X operating systems implement it in the Ipfirewall (ipfw) module.
When used on gateway devices, a port forward may be implemented with a single rule to translate the destination address and port. (On Linux kernels, this is DNAT rule). The source address and port are, in this case, left unchanged. When used on machines that are not the default gateway of the network, the source address must be changed to be the address of the translating machine, or packets will bypass the translator and the connection will fail.
When a port forward is implemented by a proxy process (such as on application layer firewalls, SOCKS based firewalls, or via TCP circuit proxies), then no packets are actually translated, only data is proxied. This usually results in the source address (and port number) being changed to that of the proxy machine.
Usually only one of the private hosts can use a specific forwarded port at one time, but configuration is sometimes possible to differentiate access by the originating host's source address.
Port forwarding is sometimes used on Unix-like operating systems where port numbers smaller than 1024 can only be created by software running as the root user. Running with superuser privileges (in order to bind the port) may be a security risk to the host, therefore port forwarding is used to redirect a low-numbered port to another high-numbered port, so that application software may execute as a common operating system user with reduced privileges.
The Universal Plug and Play protocol (UPnP) provides a feature to automatically install instances of port forwarding in residential Internet gateways. UPnP defines the Internet Gateway Device Protocol (IGD) which is a network service by which an Internet gateway advertises its presence on a private network via the Simple Service Discovery Protocol (SSDP). An application that provides an Internet-based service may discover such gateways and use the UPnP IGD protocol to reserve a port number on the gateway and cause the gateway to forward packets to its listening socket.
See also
Software
- "Using UPnP for Programmatic Port Forwardings and NAT Traversal". Retrieved 2010-12-01. Free software which uses UPnP and the Internet Gateway Device Protocol (IGD) (both described above), to automate port forwarding. Download the "Installation Package", which is the second download url.
- "UDP and TCP port forwarding for Windows platform". Retrieved 2011-07-29. PC-Port-Forwarding is a software which uses driver framework to perform UDP and TCP port forwarding on Windows platform. Does not require any additional hardware besides the network card.
References
- ^ "Definition of: port forwarding". PC Magazine. Retrieved 2008-10-11.
- ^ Rory Krause. "Using ssh Port Forwarding to Print at Remote Locations". Linux Journal. Retrieved 2008-10-11.
- ^ Jeff "Crash" Goldin. "How to set up a home web server". Red Hat. Retrieved 2008-10-11.
External links
- Alan Stafford. "Warp Speed Web Access: Sharing the Bandwidth". PC World. Retrieved 2008-10-11.