home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 13 / AACD13.ISO / AACD / Online / TCPProxy / README < prev    next >
Text File  |  2000-03-24  |  5KB  |  152 lines

  1.  
  2. Version 1.1.6 - 24MAR00wzk
  3. - ------------------------
  4.  
  5.   * Minor bug fix: tcpproxy didn't close all listening sockets after
  6.     accepting a connection.
  7.  
  8.  
  9. Version 1.1.5 - 20MAR00wzk
  10. - ------------------------
  11.  
  12.   * Changed uid/gid handling: tcpproxy will now keep it's ids after
  13.     startup until an incoming connection is accepted.
  14.  
  15.   * The logname directive sets a different name for syslog logging.
  16.  
  17.  
  18. Version 1.1.4 - 11NOV99wzk
  19. - ------------------------
  20.  
  21.   * Added the use of shutdown() when the client closes it's output
  22.     channel.
  23.  
  24.   * Added the -w option.
  25.  
  26.  
  27. Version 1.1.3 - 13OCT99wzk
  28. - ------------------------
  29.  
  30.   * Added access control programs to grant or deny requests based
  31.     on almost anything.
  32.  
  33.   * Fixed -z handling, works now also for command line configurations.
  34.  
  35.   * tcpproxy accepts now port names from /etc/services.
  36.  
  37.  
  38. Version 1.1.2
  39. - -----------
  40.  
  41.   * Option -c is now an alias for -f.
  42.  
  43.   * Option -z: lists the configured server ports.  This data can be
  44.     used if the tcpproxy services should be should down with the
  45.     netuser or fuser command.
  46.     
  47.   * tcpproxy tried to write it's pidfile after changing it's user
  48.     and failed when opening the file in a directory owned by root.
  49.  
  50.  
  51.  
  52. README for tcpproxy-1.1.0
  53. - -----------------------
  54.  
  55.   * What is tcpproxy?
  56.     tcpproxy is a program that forwards TCP/IP requests to another,
  57.     the real server, machine.  Another description for it's function
  58.     is `port redirection'.
  59.  
  60.     It can be used with or without a configuration file either as
  61.     standalone daemon or server or from within inetd.
  62.  
  63.     tcpproxy was written for usage on some kind of firewall or
  64.     Internet/intranet access system.
  65.  
  66.     tcpproxy doesn't protect your server against network attacks like
  67.     buffer overflows or application protocol violations because it
  68.     simply doesn't care what kind of data it transmits.  You'll have
  69.     to use real application gateway proxys for that.
  70.  
  71.  
  72.   * Usage
  73.  
  74.     tcpproxy is able to forward the following incomplete list of
  75.     application protocols:
  76.  
  77.         SMTP, POP3, NNTP, NetBIOS (samba), HTTP, gopher ...
  78.     <any protocol using simple TCP connection goes here>
  79.  
  80.     FTP is not supported because it uses a second TCP connections
  81.     for data transmission.
  82.  
  83.     You can use tcpproxy to access servers on the other side of
  84.     your Internet access system.  If you have more outside servers
  85.     than one to access you can either use an application gateway
  86.     that supports server selection (pop3.proxy not contained in
  87.     this archive) or setup a virtual interface on the inner side
  88.     of your access system because tcpproxy does server selection
  89.     based on it's connected interface.  See the manpage for an
  90.     example configuration.
  91.  
  92.  
  93.   * Handling requests by programs -- Service Routing
  94.  
  95.     tcpproxy supports also server programs residing on the access
  96.     system that handle incoming requests in a way normal inetd
  97.     does it.  tcpproxy won't however run as root so it's not
  98.     possible to start a local POP3 server from within tcpproxy.
  99.  
  100.     But you can use this feature for service routing.  Consider
  101.     the following example:
  102.  
  103.     Your internal network is 192.168.1.1/24 with the local mail
  104.     server on mail.internal.com, the access server's external ip is
  105.     192.7.100.114 and the external mail server of your provider
  106.     (which we will use as relay) is on mail.provider.com.
  107.  
  108.     Now you want to forward connects from the internal network be
  109.     forwarded to mail.provider.com and connects from the Internet
  110.     being forwarded to your local mail server.  The following
  111.     setup in /etc/tcpproxy.conf will solve that:
  112.  
  113.       port 25
  114.       
  115.         interface 192.7.100.114
  116.       server mail.internal.com
  117.     
  118.     interface 192.168.1.1
  119.       server mail.provider.com
  120.  
  121.     Solving this example with service routing goes this way:  First
  122.     we startup the proxy server to forward traffic across the access
  123.     server:
  124.  
  125.       root@access-system/~ # tcpproxy -b 25 /usr/local/sbin/smtp-handler
  126.  
  127.     The smtp-handler program is something like:
  128.  
  129.       #!/bin/akanga -p
  130.       #
  131.       # smtp-handler -- route SMTP connections
  132.       #
  133.  
  134.       ipconf = `{ ipnumber -c 192.168.1.1/24 $PROXY_CLIENT }
  135.       if (~ $ipconf(5) -) {
  136.               # connect from the internet
  137.           #
  138.                 exec tcpproxy mail.internal.com:25
  139.       } else {
  140.           # connect from an internal IP number
  141.           #
  142.           exec tcpproxy mail.provider.com:25
  143.               }
  144.  
  145.     While this setup is much more complex than the solution with the
  146.     configuration file it provides a way of implementing service routing
  147.     or access control based on the tcpproxy's client or interface.
  148.  
  149.     Notice that none of the programs used in smtp-handler is included in
  150.     the tcpproxy package.  You'll have to get them separate.
  151.  
  152.