How to Install and Configure Port Forwarding Using Rinetd in Windows

Rinetd purpose is to redirects the TCP connections from one IP address and port to another. Since rinetd runs as a single process using nonblocking I/O, it is able to redirect a large number of connections without a severe impact on the machine. This article will shows how you can do port-forwarding with rinetd on Windows operating system such as windows xp, windows server 2008 server, windows server 2003 and etc. Please follow below steps:

1. Download rinetd

2. Configure rinetd.conf as per below

Please create rinetd.conf and put it in C:\rinetd folder, together with rinetd.exe 80 80

You will redirect ip with port 80 to with port80

    C:\>cd rinetd
     Volume in drive C is OS
     Volume Serial Number is 9314-A45E
     Directory of C:\rinetd
    03/15/2011  10:37 PM              .
    03/15/2011  10:37 PM              ..
    04/13/2003  01:29 PM             2,043 CHANGES
    02/17/1999  06:34 PM            22,320 getopt.c
    02/17/1999  06:15 PM             4,551 getopt.h
    04/13/2003  01:28 PM             8,484 index.html
    03/01/1999  10:41 AM               166 Makefile
    03/01/1999  10:39 AM             3,612 match.c
    08/07/1998  11:54 AM               188 match.h
    04/13/2003  01:27 PM               770 README
    03/15/2011  10:29 PM                97 rinetd-run.bat
    03/01/1999  10:42 AM             6,936 rinetd.8
    04/13/2003  01:26 PM            35,445 rinetd.c
    03/15/2011  09:26 PM                29 rinetd.conf
    02/17/1999  10:12 PM             3,555 rinetd.dsp
    02/17/1999  06:00 PM               535 rinetd.dsw
    04/13/2003  01:33 PM           290,893 rinetd.exe
    03/15/2011  09:56 PM             1,975 rinetd.ini
    02/17/1999  10:12 PM            74,752 rinetd.ncb
    02/17/1999  10:12 PM            48,640 rinetd.opt
    02/17/1999  06:49 PM             2,173 rinetd.plg
    03/15/2011  09:06 PM           114,688 ServiceEx.exe
                  20 File(s)        621,852 bytes
                   2 Dir(s)     463,695,872 bytes free

3. Run rinetd (manually).

    C:\rinetd>rinetd.exe -c rinetd.conf

We can also create a batch file, and call rinetd-run.bat to start rinetd with a click:

    @echo off
    cd c:\rinetd\rinetd
    start c:\rinetd\rinetd.exe -c c:\rinetd\rinetd.conf

4. Download ServiceEx, a windows application that allows a normal program to run as a Windows service.

READ  How to Troubleshoot the Directory Server System Tuning Analysis Warning and Notice in CentOS

5. Configure ServiceEx to make rinetd a windows service.

Refer and download

Modify the changes on ServiceEx.ini.sample and save as rinetd.ini

    ; Instructions for installing a service:
    ;  1.  Edit this file.  You need to fill in the values for ServiceExeFullPath, options,
    ;      desktop, Start and StartNow below.
    ;  2.  Decide on a name for the service.
    ;  3.  Save this file as that name, with an .ini extension added.  For example, if you will name
    ;      the service "NotepadService", you would save this file with the name NotepadService.ini
    ;      in the same directory where ServiceEx.exe is located.
    ;  4.  In Windows, select Start/Run then enter "cmd", without the quotes, in the prompt.
    ;  5.  Chdir to the directory where you have placed ServiceEx.exe
    ;  6.  Type "ServiceEx install ".  If all goes well your service will be installed (and running,
    ;      if you so specified).
    ; Once you have run ServiceEx successfully, if you want to change the values in this file, you should do the following:
    ; 1.  Stop the service (i.e. run "net stop  at the command line)
    ; 2.  Remove the service (i.e. run "ServiceEx remove )
    ; 3.  Edit and save this file as desired.  This file must be named the same as the service name with an .ini extension added.
    ; 4.  Install the newly configured service (i.e. run "ServiceEx install ).
    ; Unless you change the executable file, it is better to use the service manager to modify these values.
    ; Please visit for information on how to do that.
    ; full path to exe to be run as a service--use quotes if path contains spaces
    ; The section identifier below is REQUIRED
    ServiceExeFullPath = "c:\rinetd\rinetd.exe"
    ; program arguments to be sent to executable
    options = -c c:\rinetd\rinetd.conf
    ; can program interact with desktop [true | false] (default: true)
    desktop = true
    ; start type (valid values: Auto Manual Disabled) (default: auto)
    ; start the service upon installation [true | false] (default: no)

If you open rinetd.ini, you will notice this changes

    ServiceExeFullPath = "c:\rinetd\rinetd.exe"
    ; program arguments to be sent to executable
    options = -c c:\rinetd\rinetd.conf

6. Run rinetd as a windows service

    ServiceEx install rinetd

You can start and stop it using command line utilities.

      To start: "net start rinetd"
      To stop: "net stop rinetd"

If you browse, it will show you website.

Leave a Reply

Your email address will not be published. Required fields are marked *

A world leading hosting company that provides fully-managed innovative and secure solutions, suitable for hosting small to medium-sized websites

Built on the best available technologies combined with Google Cloud for strong redundancy and application availability. Backed by skilled experts to address web security threats, a devops team to create advanced custom security solutions, and 24/7 sysadmins to watch over the platform. This powerful, hands-on approach makes your sites faster, safer, and easier to manage. Starting from only $3.95/mo.


* up to 30 days money back guarantee