Internet Gateway

Internet Gateway is a simple MFC Internet Connection sharing application based on Windows Packet Filter. It implements a simple TCP and UDP dynamic NAT and allows sharing a single Internet connection over your home network providing the major Internet services (e-mail, WWW, FTP** etc…).

System Requirements

Windows XPWindows 7Windows 8.1
Windows Server 2003Windows Server 2008 R2Windows Server 2012 R2
Windows VistaWindows 8Windows 10
Windows Server 2008Windows Server 2012Windows Server 2016
Windows 11Windows Server 2019Windows Server 2022

Note: Internet Gateway binaries are built with VC++ 2012 run-time and can’t be used on Windows versions before Windows XP; however, source code can be rebuilt (an example, with Visual Studio 6.0) to support earlier versions of Windows except Windows NT 4.0 and Windows 95 because these operating systems miss GetAdaptersInfo routine from IP Helper API (it’s used for obtaining IP configuration information). Getting the same information under these operating systems is possible, but a bit trickier.

How it works

Internet Gateway is a user mode application based on Windows Packet Filter. It utilizes Windows Packet Filter library to capture packets from the network interface, performs Network Address Translation (NAT) and re-injects packets back into the network stack. Internet Gateway also demonstrates how IP Helper API can be used for querying IP address information from the system.


Internet Gateway executable is included within samples binaries archive available for the download from Windows Packet Filter homepage. The source code alongside other Windows Packet Filter samples can be obtained from the GitHub.

How to use

Server setup:

  • Establish your Internet connection.
  • Start Internet Gateway, you will see the dialog similar to the one below:
  • Double-click the connection which is used for the Internet (on the screenshot below, we connect Internet using dial-up modem). Set NAT status to “Provider” (you can choose one of the connection IP’s for dynamic NAT). Click OK to finish.
  • Double-click your home network interface and set its NAT status to “Client”. Click OK.
  • Start dynamic NAT thread by clicking to “Start NAT” button.

Client setup:

You have to configure systems in your home network by assigning IP’s statically or using DHCP. Default gateway address and DNS address should be set to the IP of the Server network interface connected to the home network. In the sample above, systems in the home network should have IP from and DNS/default gateway set to

Price & licensing

Freeware for personal (non-commercial), or educational (including non-profit organization) use.


Internet Gateway software is supplied AS-IS, without warranties of any kind.


  • Internet Gateway does not support FTP NAT in active mode (data connection established from server to client), please set your FTP client to passive mode
  • The source code for the Internet Gateway application is included