소스 검색

tun2socks: add man page

ambrop7 14 년 전
부모
커밋
7b7e1c477b
2개의 변경된 파일131개의 추가작업 그리고 0개의 파일을 삭제
  1. 5 0
      tun2socks/CMakeLists.txt
  2. 126 0
      tun2socks/badvpn-tun2socks.8

+ 5 - 0
tun2socks/CMakeLists.txt

@@ -8,3 +8,8 @@ install(
     TARGETS badvpn-tun2socks
     RUNTIME DESTINATION bin
 )
+
+install(
+    FILES badvpn-tun2socks.8
+    DESTINATION share/man/man8
+)

+ 126 - 0
tun2socks/badvpn-tun2socks.8

@@ -0,0 +1,126 @@
+.TH badvpn-tun2socks 8 "February 2012"
+.SH NAME
+badvpn-tun2socks \- create a TUN device to route TCP traffic through a SOCKS server
+.SH SYNOPSIS
+.PP
+.B
+badvpn-tun2socks
+.br
+  [\fB\-\-help\fR]
+.br
+  [\fB\-\-version\fR]
+.br
+  [\fB\-\-logger\fR <stdout/syslog>]
+.br
+  [\fB\-\-syslog-facility\fR <string>] [\fB\-\-syslog-ident\fR <string>]
+.br
+  [\fB\-\-loglevel\fR <0-5/none/error/warning/notice/info/debug>]
+.br
+  [\fB\-\-channel-loglevel\fR <channel-name> <0-5/none/error/warning/notice/info/debug>] ...
+.br
+  [\fB\-\-tundev\fR <name>]
+.br
+  \fB\-\-netif\-ipaddr\fR <ipaddr>
+.br
+  \fB\-\-netif\-netmask\fR <ipnetmask>
+.br
+  \fB\-\-socks\-server\-addr\fR <addr>
+.br
+  [\fB\-\-udpgw-remote-server-addr\fR <addr>]
+.br
+  [\fB\-\-udpgw-max-connections\fR <number>]
+.br
+  [\fB\-\-udpgw-connection-buffer-size\fR <number>]
+.PP
+Address format is a.b.c.d:port (IPv4) or [addr]:port (IPv6).
+.SH DESCRIPTION
+.PP
+badvpn-tun2socks
+is a network utility used to "socksify" TCP connections at the network
+layer. It implements a TUN device which accepts all incoming TCP
+connections (regardless of destination IP), and forwards them through
+a SOCKS server. This allows you to forward all connections through
+SOCKS, without any need for application support. It can be used, for
+example, to forward connections through a remote SSH server.
+.SH EXAMPLE
+.PP
+This example demonstrates using tun2socks in combination with SSH's dynamic forwarding feature.
+
+Connect to the SSH server, passing -D localhost:1080 to the ssh
+command to enable dynamic forwarding. This will make ssh open a local
+SOCKS server which tun2socks forward connection through.
+
+First create a TUN device (eg. using openvpn):
+
+.nf
+  openvpn --mktun --dev tun0 --user <someuser>
+.fi
+
+Configure the IP of the new tun device:
+
+.nf
+  ifconfig tun0 10.0.0.1 netmask 255.255.255.0
+.fi
+
+Now start the badvpn-tun2socks program:
+
+.nf
+  badvpn-tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 \\
+                   --socks-server-addr 127.0.0.1:1080
+.fi
+
+Note that the address 10.0.0.2 is not a typo. It specifies the IP address of the virtual
+router inside the TUN device, and must be different from the IP of the
+TUN interface itself (but in the same subnet).
+
+Now you should be able to ping the virtual router's IP (10.0.0.2):
+
+.nf
+  ping -n 10.0.0.2
+.fi
+
+All that remains is to route connections through the TUN device
+instead of the existing default gateway. This is done as follows:
+
+1. Add a route to the SSH server through your existing gateway, with a
+lower metric than the original default route.
+
+2. If your DNS servers are in a network that is not direcly attached (e.g. in the Internet),
+also add routes for them (like for the SSH server). This is
+needed because tun2socks does not forward UDP by default (see below).
+
+3. Add a default route through the virtual router in the TUN device,
+with a lower metric than the original default route, but higher than
+the SSH and DNS routes.
+
+This will make all external connections go through the TUN device,
+except for the SSH connection (else SSH would go through the TUN
+device, which would go through... SSH).
+
+For example (assuming there are no existing default routes with metric
+<=6; otherwise remove them or change their metrics):
+
+.nf
+  route add <IP_of_SSH_server> gw <IP_of_original_gateway> metric 5
+  <same for DNS>
+  route add default gw 10.0.0.2 metric 6
+.fi
+.SH UDP FORWARDING
+tun2socks can forward UDP, however this requires a forwarder daemon, badvpn-udpgw to run
+on the remote SSH server:
+
+.nf
+  badvpn-udpgw --listen-addr 127.0.0.1:7300
+.fi
+
+Then tell tun2socks to forward UDP via the forwarder:
+
+.nf
+  --udpgw-remote-server-addr 127.0.0.1:7300 
+.fi
+.SH COPYRIGHT
+.PP
+Copyright \(co 2010 Ambroz Bizjak <ambrop7@gmail.com>
+.br
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.