46Bouncer is a very simple tool that is able to accept TCP/UDP connections in IPv4/6 and forward them to an application in IPv6/4. In other words, it acts as a proxy between the IPv4 and IPv6 world (and vice versa).
46Bouncer comes in three forms:
- a GUI executable (only for Win32) that can be launched after the user log on into the system
- a Win32 service (only for Win32) that will be launched automatically by the system at start up
- a standard console application, that can be launched after the user log on into the system. This allocation can work also in daemon mode (UNIX only)
The first one is much simpler, it does not require special permissions (it just opens / closes a socket), and it is especially targeted for testing purposes. You can launch the program and monitor its behavior by means of the "Status" window, which reports the status of each connection.
The service version is dedicated to a "production" environment, since monitoring and error reporting are quite limited; however it does not require a prior user log-on and it is launched automatically by the system at start up.
The console version is really handy and is works on all the supported platforms.
This executable can be launched without any prior action. The user can either insert the translation parameters manually or load a configuration file. In detail, the user interface has the following parameters:
- Instance: the bouncer is able to translate on several ports at the same time; each instance is identified by the name and the proper parameters
- Previous: it tells the user interface to show the previous instance
- Description: the name of the instance currently visible
- Number: the number of the current instance
- Next: it tells the user interface to show the next instance
- Receive on: parameters that are used by 46Bouncer to accept incoming connections
- Port: port on which 46Bouncer waits for new connections
- On Address: the address (if any) on which connection are accepted; for example the "127.0.0.1" setting tells 46Bouncer to accept connections on the loopback interface only
- Send to: parameters that are used by 46Bouncer to forward connections to the proper host (after the protocol translation)
- Host: host that will terminate the connections
- Port: port on which connections are terminated
- Using Address: the network address that 46Bouncer will use to forward data (useful in presence of multiple network interfaces)
- Miscellaneous: parameters that complete the configuration
- Protocol: it selects if the translation will be on TCP or UDP streams
- Bouncer From: it determines if 46Bouncer will translate from IPv6 to IPv4 or vice versa
- Max Connections: the maximum number of TCP connections that will have to be queued on the accept() socket call (usually you do not have to modify this parameter)
- Actions: it selects the actions (start/stop/reset) available on the 46Bouncer
- Start: it starts the currently instance; 46Bouncer will begin translating connections with the parameters currently showed
- Start All: it starts all the instances that have valid parameters; therefore instances that are not visible will be started as well
- Reset / Reset All: it resets the parameters to their default value
- Stop/Stop All: it stops all the current instances that are translating connections
- Configuration File: it selects the configuration file on which the 46Bouncer parameters are saved; this file will contain the configuration of all the instances
- Load: it loads a new configuration file
- Save: it saves the current settings into a new configuration file
- Status: it shows a new window containing the log of the activities (incoming connections, accepted connections, and so on); this log can be saved and it cannot be larger than 5MB (the program resets the log as soon as it exceeds this value)
- About: it shows the About dialog box
- Exit: it exits the program
Although the configuration file is very simple (a text file) we strongly discourage to edit it by hand. 46Bouncer does not like mistakes into this file.
The Win32 Service version of 46Bouncer (the executable 46BncSvc.exe) is less user-friendly than the standard version. In order to manage the service you have to:
- Install the service: you have to type the following command from the command line:
46BncSvc create -f <full_path_config_file> [-l <logfile]
This requires having the appropriate privileges to create the service (usually only the administrator of the machine). The configuration file is the one already created with the standard 46Bouncer (obviously, we have to make sure that it works). Remember that the service does not have too much monitoring/diagnostic capabilities.
If specified the logfile (by means of the '-l' switch), 46BncSvc will trace all the incoming connections to a log file.
- Launch the service: you can either
- type 46BncSvc start from the command line
- go into the 'services' applet (Start - Control Panel - Administrative Tools - Services), select the 46Bouncer Service, then press the Start button
- Stop the service: you can either
- type 46BncSvc stop from the command line
- go into the 'services' applet, select the 46Bouncer Service, then press the Stop button
- Uninstall the service: you have to type the following command from the command line:
To Change the name of the configuration file you need to stop and delete the service, then to create another service with a different configuration file. If anything goes wrong during installation/start/..., an event will be generated into the Application Log (Start - Control Panel - Administrative Tools - Event Viewer).
Important note: to be sure that the 46Bouncer Service has been started correctly, you have to check at the Event Viewer. Please do not rely on the "successfully" messages printed on the command line, or on the "no messages, no problem" from the 'services' applet. Only the Event Viewer is able to tell you if the service started properly.
This is a very simple application. The syntax is similar to the service version:
- 46Bouncer -f <full_path_config_file> [-l <full_path_log_file>] [-d]
- -f: load and launch the selected config file
- -l: log events on file (if not specified, logging is done on stderr)
- -d: run in daemon mode (UNIX only)
Warning: The executable does not recognize configuration files that are not coherent with the OS platform. For instance, carriage return are different in UNIX and DOS: the Win32 version of 46Bouncer will support only configuration files according to the DOS format (and vice versa).