Center7.8服务器配置Tor服务和obfs4

 

1.搭建Tor服务

yum install tor

2.安装obfs4

这里要注意,可以直接用python进行安装,但是python安装的是obfsproxy,不支持obfs4,所以还是要进行go安装。

根据官网的安装指南,git的过时版本可能会go get失败,本人前面多次失败的原因就是这一点!所以,最好不要直接yum安装git和golang,版本太低。

1.安装最新版本的git和go:

具体步骤我是参考的这两篇博客:

1)我这里安装的git是2.9.5版本

#安装git

 

2.下载并安装obfs4项目

git clone http://www.github.com/Yawning/obfs4
cd obfs4
go build -o obfs4proxy/obfs4proxy ./obfs4proxy
cp ./obfs4proxy/obfs4proxy /usr/bin/obfs4proxy

3.配置网桥
打开torrc配置文件:

vim /etc/tor/torrc

在末尾添加以下语句:

Log notice file /var/log/tor/notices.log
RunAsDaemon 1
ORPort 4443 #也可以定义其他端口
Exitpolicy reject *:*
BridgeRelay 1
ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy
ExtORPort auto
PublishServerDescriptor 0

保存文件后退出,然后重新启动tor:

systemctl restart tor

查看tor的服务状态:

systemctl status tor

如果配置成功的话,应该会显示两个进程,一个是tor的,一个是obfs4proxy的,如下:

Tortoisegit 配置remote_git

通过日志文件,可以查看tor和网桥的连接状态:

tail -n 100 -F /var/log/tor/notices.log

Tortoisegit 配置remote_服务器_02


在/var/lib/tor/pt_state/obfs4_bridgeline.txt文件中可以看到类似如下的内容:

Bridge obfs4 <IP ADDRESS>:<PORT> <FINGERPRINT> cert=DG8neV5VX09OckUMFChNknBKEMDREJLvJeVEgxTJYXM69cEN1vbHEotNXb63Nwik13pQDg iat-mode=0

去掉Bridge并修改相关的参数即可得到我们的网桥,其中:
IP ADDRESS即为服务器的IP;PORT 为obfs4的监听端口,这里为45812;FINGERPRINT是Tor服务器对应的identity key fingerprint,即为上面图片的第一行。
我得到的网桥如下:

obfs4 服务器IP:45812 BB1841070CA72F740A6C2AD4E40713A793BC00B8 cert=DG8neV5VX09OckUMFChNknBKEMDREJLvJeVEgxTJYXM69cEN1vbHEotNXb63Nwik13pQDg iat-mode=0

4.配置防火墙文件

vim /etc/firewalld/zones/public.xml

添加以下规则:

<port protocol="tcp" port="ORPort端口"/> #torrc配置的端口,这里为4443
<port protocol="udp" port="ORPort端口"/>
<port protocol="tcp" port="obfs4端口"/> #查看日志文件时会有
<port protocol="udp" port="obfs4端口"/>

最后重新加载防火墙即可:

firewall-cmd --reload

4.常见问题

1.按照官网步骤go get出错,如下:

Tortoisegit 配置remote_git_03


解决方法:

出现这个错误,应该是没法连接涉及到的网站,需要配置代理访问外网:

#设置代理:
git config --global http.proxy 'socks5://127.0.0.1:9050’ #确保开启了tor服务
git config --global https.proxy 'socks5://127.0.0.1:9050’

2.go build出错:

Tortoisegit 配置remote_git_04