pbnc.readme
1pbnc - a simple userspace port bouncer
2--------------------------------------
3pbnc runs in userland and acts as a simple TCP port forwarder.
4It has a single-threaded design (uses select(), does not
5fork). It can handle multiple targets with an unlimited number
6of clients (at least in theory), and supports simple IP-based
7access control. Since pbnc works on network level, it does not
8care about the application protocol. It can tunnel FTP
9(control connection), SSH, HTTP and all other protocols using
10TCP communication. Application-level SSL/TLS encryption is
11also no problem.
12
13I came up with this little script when I needed to forward
14ports on a machine without root privileges. If you have root,
15use kernel-level bouncing instead (iptables under Linux).
16
17
18Prerequisites
19-------------
20You need Perl with the following modules installed:
21
22o IO::Socket::INET (included in default install)
23o IO::Select (included in default install)
24o POSIX (included in default install)
25o Net::Netmask
26
27Since Net::Netmask is not installed with perl by default, I
28have included it in the tarball (Net/Netmask.pm).
29
30
31Configuration
32-------------
33Edit pbnc.cfg. It contains a commented sample configuration.
34
35
36Usage
37-----
38Command line parameters:
39
40./pbnc.pl <CONFIGFILE> [debug]
41
42Example:
43
44./pbnc.pl pbnc.cfg
45
46When using "debug", pbnc will not fork and instead spit
47verbose output on the terminal.
48
49
50License
51-------
52pbnc.pl is released under BSD license.
53
54(c) Tom Kistner aka duncanthrax 2004
55 <tom@duncanthrax.net>
56