Tor的目的在其匿名性,众所周知,如果我们想连接到Tor网络可能需要一个网桥,一般的网桥还不行,因为会被检测到Tor流量,ip直接被ban掉,当我还知之甚少的时候,一个VPS的ip就被某知名防火墙封禁了3天,当然恢复后,这个ip也不好再用了。
Tor的节点分为三种
1.作为出口节点,Exit Nodes。出口节点实际上是暴露于互联网的,相当于最后真正去访问站点的那个人。
2.在Tor directory中列出的中继节点,叫Tor Relay。IP很可能被检测到,很可能被屏蔽。
3.在Tor directory中不列出的中继节点,叫Bridges Relay,也就是我们这篇文章重点介绍的节点。它可以帮助你绕过网络运营商对于Tor的封锁。
混淆插件
在过去的几年中,审查者开始可以屏蔽即使使用了Bridges的Tor clients。故,在严格审查的环境下,我们应该使用混淆插件进行规避,比如meek,比如obfs4,在这里,将着重介绍如何使用obfs4。
VPS对于Tor的支持
并非所有VPS商都允许使用Tor,所以应该事先了解政策支持情况,下面表格列出了常用的VPS支持情况:
VPS | Bridges | Relay | Exit |
---|---|---|---|
DigitalOcean | YES | YES | NO |
Vultr | YES | YES | NO |
Linode | YES | YES | Ambiguous |
获取更多信息,可以参考支持/禁封列表。
本文以Ubuntu Xenial Xerus 和 Centos 7 为例
Ubuntu Xenial Xerus
1.下载并安装Tor
在sources.list
中添加源:
deb http://ift.tt/oEZMpj xenial main
deb-src http://ift.tt/oEZMpj xenial main
添加gpg key:
gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
安装tor:
apt-get update
apt-get install tor deb.torproject.org-keyring
2.下载并安装obfs4
向sources.list
添加源:
deb http://ift.tt/oEZMpj obfs4proxy main
安装
apt-get update && apt-get install obfs4proxy
3.配置Tor Bridges
首先,确认服务器上的时钟日期是正确的。
然后编辑/etc/tor/torrc
,定义一个ORPort,不作为出口节点,设置成Bridge:
Log notice file /var/log/tor/notices.log
RunAsDaemon 1
ORPort 443
Exitpolicy reject *:*
BridgeRelay 1
ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy
ExtORPort auto
PublishServerDescriptor 0
重启Tor服务:
service tor restart
4.使用网桥
查看日志文件tail -F /var/log/tor/notices.log,当看到有类似的输出,证明很成功:
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:443 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent.
记住obfs4监听的地址。并且还能找到你的server identity fingerprint
t,也复制下来
在/var/lib/tor/pt_state/obfs4_bridgeline.txt
文件中可以看到类似如下的内容:
Bridge obfs4 <IP ADDRESS>:<PORT> <FINGERPRINT> cert=6LMNcXh6MIfApbZiMksnS4Kj+2sffZ5pybSqtcOO5YoHgfrMpkBJqvLxhuR2Ppau0L2seg iatmode=0
把Bridge去了,ip换了,端口写对了,fingerprint粘贴了,之后,把这行复制即可,这个,就是你的网桥了。愉快使用吧。
Centos 7
1.下载并安装Tor
安装tor:
yum install tor -y
2.编译安装obfs4
安装所需软件:
yum install git mercurial golang -y
开始安装obfs4proxy:
export GOPATH=`mktemp -d`
go get http://ift.tt/2hc0ODx
cp $GOPATH/bin/obfs4proxy /usr/local/bin/
3.配置Tor Bridges
首先,确认服务器上的时钟日期是正确的。
然后编辑/etc/tor/torrc
,定义一个ORPort,不作为出口节点,设置成Bridge:
Log notice file /var/log/tor/notices.log
RunAsDaemon 1
ORPort 443
Exitpolicy reject *:*
BridgeRelay 1
ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy
ExtORPort auto
PublishServerDescriptor 0
重启Tor服务:
service tor restart
4.使用网桥
查看日志文件tail -F /var/log/tor/notices.log,当看到有类似的输出,证明很成功:
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:443 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent.
记住obfs4监听的地址。并且还能找到你的server identity fingerprint
,也复制下来
在/var/lib/tor/pt_state/obfs4_bridgeline.txt
文件中可以看到类似如下的内容:
Bridge obfs4 <IP ADDRESS>:<PORT> <FINGERPRINT> cert=6LMNcXh6MIfApbZiMksnS4Kj+2sffZ5pybSqtcOO5YoHgfrMpkBJqvLxhuR2Ppau0L2seg iatmode=0
把Bridge去了,ip换了,端口写对了,fingerprint粘贴了,之后,把这行复制即可,这个,就是你的网桥了。
另外还需要注意对防火墙的配置:
vi /etc/firewalld/zones/public.xml
添加如下行:
<port protocol="tcp" port="ORPort端口"/>
<port protocol="udp" port="ORPort端口"/>
<port protocol="tcp" port="obfs4端口"/>
<port protocol="udp" port="obfs4端口"/>
使新规则生效:
firewall-cmd --complete-reload
至此,网桥可以使用。
来源:http://ift.tt/2pBK5MA
via iGFW http://ift.tt/2qIzih6
No comments:
Post a Comment