README
上传用户:julian
上传日期:2007-01-04
资源大小:22k
文件大小:4k
源码类别:

代理服务器

开发平台:

Unix_Linux

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