安装tor和privoxy
sudo apt-get install tor privoxy
首先我们来配置Tor。
(j u h `8O,@9m!W } B*X01.打开Tor的配置文件/etc/tor/torrc。
LUPA开源社区(A r3O m+C s0{
sudo gedit /etc/tor/torrc
LUPA开源社区,n y m9f R x
2.找到如下一行,
LUPA开源社区7R"Y K$O h:?(V
引用
SocksListenAddress 127.0.0.1 # accept connections only from localhost
^ \+E | K e h P O0在后面添加一行
j L4C!V5K X)M;Z G0
引用
SocksListenAddress XX.XX.XX.XX:PORT # accept connections from local network
`3G |7v I7X L'l0这里的XX.XX.XX.XX是Tor本机IP地址,端口可以任意,但不能是9050和
其他已使用的端口。
*u { f"] { H o03.重启Tor之后,就能添加一个监听地址,提供给局域网访问,现在基于Socks方式的代理访问已经就添加好了。
LUPA开源社区0m \ \4J x M7~ F+i F
LUPA开源社区 q5S7z T g1q'T.W I
下面我们来配置Privoxy。
LUPA开源社区 L#u(s:M m-s k)`
1.打开Privoxy的配置文件/etc/privoxy/
LUPA开源社区 V L g ^ _ W n
sudo gedit /etc/privoxy/config
a o-v ~#h-o%P0d6|02.在头部加上 (注意有一个.)
forward-socks4a / 127.0.0.1:9050 .
LUPA开源社区 T#u g%])N {(t
LUPA开源社区 A5I r g J#Z
3.找到如下一行。
LUPA开源社区 T.R f+W#J3C&~!U M
引用
listen-address 127.0.0.1:8118
Z5| t |0?0t1I C0把它修改为
,b Q/y!i$o.p0
引用
listen-address XX.XX.XX.XX:8118
LUPA开源社区4g-H3]2C r e K;P s
XX.XX.XX.XX为Privoxy所在服务器的IP地址。
| C;N:v H f T4P04.重新启动Privoxy之后,新的http_proxy地址就生效了。
cd /etc/init.d
sudo ./tor start
sudo ./privoxy start
,g/J5K k8j0B X0
2M&W%]2~ X Z A }&N a0由此,局域网内任何机器就可以通过下面两个代理进行无限制的访问了。
LUPA开源社区 m i I4U L \.B [ I M I;{
socks:XX.XX.XX.XX:Port (局域网的机器访问的代理地址) 127.0.0.1:9050(本机代理地址)
._(Q p u r:n S0http_proxy: XX.XX.XX.XX:8118 (局域网所有机器http代理访问地址,包括本机,因为测试发现Privoxy只能添加一个监听地址。)
C1} B j j o A \0LUPA开源社区 t N&t,i*l.Y+W#x2^
当然了,这种无限制访问也是很危险的,作为始作俑者,不能让它太泛滥了,要做一些访问控制,只让受信任的client来访问。
P Y h |,Z D0配置Tor的访问控制。
a n i*I r X5`0u |;n01.打开Tor的配置文件/etc/tor/torrc。
LUPA开源社区 ] } e$C(K9^9u5V a p
sudo gedit /etc/tor/torrc
LUPA开源社区 j6R @ n5] p L
2.找到如下两行,
a ]+S K$|4N ` r0
引用
#SocksPolicy accept 192.168.0.0/16LUPA开源社区 y9I6w _&x p ^+f
#SocksPolicy reject *
;[6m k X \0可以很明显看出来,这是对Tor服务器做访问控制的地方,默认没有任何记录,即代表此Tor无任何限制。我们需要添加如下几行,做一些访问控制。示例如下:
LUPA开源社区1j V x7g+t p(A I o M
引用
SocksPolicy accept 192.168.1.100 #允许192.168.1.100访问TorLUPA开源社区 } P3|'o _ c
SocksPolicy accept 127.0.0.1 #允许127.0.0.1访问Tor,这是给Privoxy开辟的通道,如果不添加这一行,Privoxy就不能访问Tor了。
5@ |5c B }%H*x0SocksPolicy reject * #限制所有IP访问Tor。
LUPA开源社区'{ N+t S o w4e K N
我们可以从配置里面看出来,Tor的访问控制是白名单优先于黑名单,即只要出现在白名单中的地址无论是否出现在黑名单中,它都能访问Tor。
LUPA开源社区/D V1M }-@-n g"E+b ? f
所以上面的配置可以理解为,限制除了192.168.1.100和127.0.0.1可以访问Tor外,其他一律排除。
w.a ^ n Y i+J ?0LUPA开源社区 t N Y(T1H N \ x$A
配置Privoxy的访问控制
` V E"K.c01.打开Privoxy的配置文件/etc/privoxy/
LUPA开源社区.O.w3\ t a t&p U'D p7T
sudo gedit /etc/privoxy/config
LUPA开源社区;i t!D b&Y J H C t
2.找到如下的两行
LUPA开源社区 h(X(c ?0b't v7h
引用
# permit-access 192.168.45.64/26LUPA开源社区(O ] C | i2` S
# deny-access 192.168.45.73 www.dirty-stuff.example.com
LUPA开源社区(i J w$g7e O&i ~ z l
很 明显,这是对访问Privoxy的IP做限制的地方,默认是没有任何的记录,即代表无任何限制。但是当你添加任何一条Permit-access记录后, 系统即认为你只允许此条记录中对应的IP或域名才能访问Privoxy,其他任何地址都不能访问。在Privoxy的规则中,和Tor的规则正好相反,是 黑名单的优先级高于白名单的优先级,即出现在黑名单中的地址无论是否出现在白名单中,它都不能访问Privoxy。
LUPA开源社区 \ e:v f | s
我们就可以按照自己的要求添加记录了,可添加多条记录。如:
LUPA开源社区 t6T K1F t G T l ^
引用
permit-access 192.168.1.100LUPA开源社区 U A/\ c A c K [
permit-access 192.168.1.101LUPA开源社区 V1P v M(G c h7e5@ Y
Z$` g-y { T0即代表只有192.168.1.100、192.168.1.101这两个IP地址可以访问本机的Privoxy,其他任何地址都不能访问。
LUPA开源社区2o8g#h P v u:g+u H
LUPA开源社区-K5D3|5[,Y C f
现在,一个受自己控制的、局域网内可以使用的、无限制访问互联网的Tor服务器就配置好了。
LUPA开源社区4? w l a g i ~
$}#q C C0t0PS:这是在Tor管网上查看资料研究后写出的日志,不敢确保无错,如有错,请指正,谢谢。转载请注明原文出处。