本文告诉大家如何贡献自己的服务器来搭建 tor 中转,支持 tor。本文使用的服务器是 Centos 6 ,如果你的服务器不是 Centos 6 就不要看啦。
1.下载并安装Tor
安装tor:
yum install tor -y
2.编译安装obfs4
安装所需软件:
yum install git mercurial golang -y
开始安装obfs4proxy:
export GOPATH=`mktemp -d`
go get git.torproject.org/pluggable-transports/obfs4.git/obfs4proxy
cp $GOPATH/bin/obfs4proxy /usr/local/bin/
3.配置Tor Bridges
首先,确认服务器上的时钟日期是正确的。 然后编辑/etc/tor/torrc,定义一个ORPort,不作为出口节点,设置成Bridge,请把中文删除
Log notice file /var/log/tor/notices.log 设置日志的位置,之后就需要从日志拿到端口和fingerprint
RunAsDaemon 1
ORPort 444 监听的端口,这个可以自己设置
Exitpolicy reject *:* 不作为出口
BridgeRelay 1 不对外广播
ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy
PublishServerDescriptor 0
AccountingMax 500 GBytes # 每月分配给 Tor 500G 流量
AccountingStart month 3 15:00 # 每月3号15点(Locale)清零
RelayBandwidthRate 100 KBytes # Throttle traffic to 100KB/s (800Kbps)
RelayBandwidthBurst 200 KBytes # But allow bursts up to 200KB (1600Kb)
重启Tor服务:
service tor restart
4.使用网桥
查看日志文件tail -n 100 -F /var/log/tor/notices.log,当看到有类似的输出,证明很成功:
[notice] Tor has successfully opened a circuit. Looks like client functionality is working. [notice] Bootstrapped 100%: Done [notice] Now checking whether ORPort the-vps-ip:444 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 : 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
其中obfs4端口可以从日志找到。