本帖最后由 wangchenyuF2 于 2018-5-15 03:24 编辑
CentOS 7 下搭建Tor代理服务器
连接服务器:
一. 安装:
需要填写y/n的时候 写:
↓-----------------------------------↓(因为我没有碰到这情况所以无法确定这一段可行性↓)我用他们家的 vultr VPS
1.若yum install tor提示未找到安装包,查看 /etc/yum.repos.d/下是否有epel.repo文件,若没有,说明系统未添加
epel yum外部源,需要手动添加,若已经添加epel外部源,可直接安装tor,则跳过2-6步骤。
2.根据你的操作系统,从网站获取对应的epel 的安装包,centos6.5_64位系统获取的安装包如下 (查看系统版本指令lsb_release -a && uname -a)
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
3.输入后回车
sudo rpm -ivh epel-release-6-5.noarch.rpm
4. 安装成功后可看到 /etc/yum.repos.d/目录下多了epel.repo 与epel-testing.repo文件
5.输入后回车
yum clean all
6.输入后回车
yum makecache
7.输入后回车
yum install tor
↑-----------------------------------↑(因为我没有碰到这情况所以无法确定这一段可行性↑)
二.启动:
Tor必须以非root用户启动,否则会启动失败。可以新建一个用户或使用已经存在的其他用户。新建用户操作可参考如下:
1.(创建一个用户)
2.(给admin用户创建密码)#之后需要你填写两次密码(密码不要太简单,否则报错) 我用大小写加数字就OK的 ,全小写会报错
3.然后
4.再然后
切换到用户admin运行Tor,成功运行Tor会显示以下打印
查看本机的网络状态,
可以看到TOR开启了本地9050端口作为SOCKS5代理,其他应用程序可以通过使用torsocks全局代理工具或者配置应用程序的代理为127.0.0.1:9050走Tor网络。 在服务器上验证能否正常连接到Tor 网络 ,可以使用以下语句测试进行对比测试获取到正确的本机IP信息:
公网上获取到的的IP为非本机IP(且每隔几分钟变化一次):
四.代理配置
现在要使该服务器成为一个TOR代理,使得其他主机可以使用该服务器的TOR代理,需要进行如下配置
vim /etc/tor/torrc 修改SOCK5代理端口,翻到最下面添加以下语句
重新运行TOR,查看网络状态,发现新打开监听端口9150
----------------------------------------------------------------(斟酌好了再改)
因为TOR提供的SOCK5代理没有用户密码验证。所以我们需要配置防火墙,修改iptables来指定允许的IP连接该端口。或者直接修改Tor配置文件,只允许指定的IP访问TOR代理接口,在torrc文件末尾添加以下语句。如:
SOCKSPolicy accept 45.32.24.178
SOCKSPolicy reject *
#SOCKSPolicy accept 192.168.0.0/16
--------------------------------------------------------------
五.其他TOR相关配置
配置Tor网络出口节点
比如想实现指定Tor网络出口节点,或者限制出口节点不走某些区域的功能。以指定出口节点为日本为例,在torrc配置文档末尾添加以下语句(StrictNodes 表示强制执行)
如果想要排除某些国家/地区的节点,如中国,香港可以添加
------------------------------------------------------------------(看自己需求)
配置前置代理
为Tor配置前置代理,比如在国内是无法直接连接TOR网络的,需要使用前置代理翻墙,然后再使用TOR网络进行双重代理。前置代理可以是HTTP,SOCKS4,SOCKS5等代理,支持用户密码验证,如添加SOCK5代理,添加以下语句在torrc文件末尾。
-------------------------------------------------------------------
使用你的IP:9150就可以用Sock代理了
感谢分享!
CentOS 7 下搭建Tor代理服务器
连接服务器:
一. 安装:
yum install tor
需要填写y/n的时候 写:
y
↓-----------------------------------↓(因为我没有碰到这情况所以无法确定这一段可行性↓)我用他们家的 vultr VPS
1.若yum install tor提示未找到安装包,查看 /etc/yum.repos.d/下是否有epel.repo文件,若没有,说明系统未添加
epel yum外部源,需要手动添加,若已经添加epel外部源,可直接安装tor,则跳过2-6步骤。
2.根据你的操作系统,从网站获取对应的epel 的安装包,centos6.5_64位系统获取的安装包如下 (查看系统版本指令lsb_release -a && uname -a)
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
3.输入后回车
sudo rpm -ivh epel-release-6-5.noarch.rpm
4. 安装成功后可看到 /etc/yum.repos.d/目录下多了epel.repo 与epel-testing.repo文件
5.输入后回车
yum clean all
6.输入后回车
yum makecache
7.输入后回车
yum install tor
↑-----------------------------------↑(因为我没有碰到这情况所以无法确定这一段可行性↑)
二.启动:
Tor必须以非root用户启动,否则会启动失败。可以新建一个用户或使用已经存在的其他用户。新建用户操作可参考如下:
1.(创建一个用户)
useradd admin -d /home/admin
2.(给admin用户创建密码)#之后需要你填写两次密码(密码不要太简单,否则报错) 我用大小写加数字就OK的 ,全小写会报错
passwd admin
3.然后
chown -R admin:admin /home/admin
4.再然后
chown -R admin:admin /var/run/tor
切换到用户admin运行Tor,成功运行Tor会显示以下打印
复制代码
- Boottrapped 0%: Starting
- Bootstrapped 5%: Connecting to directory server
- Bootstrapped 10%: Finishing handshake with directory server
- Bootstrapped 15%: Establishing an encrypted directory connection
- Bootstrapped 20%: Asking for networkstatus consensus
- Bootstrapped 25%: Loading networkstatus consensus
- I learned some more directory information, but not enough to build a circuit: We have no usable consensus.
- Bootstrapped 40%: Loading authority key certs
- Bootstrapped 45%: Asking for relay descriptors
- I learned some more directory information, but not enough to build a circuit: We need more microdescriptors: we have 0/7219, and can only build 0% of likely paths. (We have 0% of guards bw, 0% of midpoint bw, and 0% of exit bw = 0% of path bw.)
- Bootstrapped 50%: Loading relay descriptors
- Bootstrapped 55%: Loading relay descriptors
- Bootstrapped 60%: Loading relay descriptors
- Bootstrapped 69%: Loading relay descriptors
- Bootstrapped 74%: Loading relay descriptors
- Bootstrapped 80%: Connecting to the Tor network
- Bootstrapped 90%: Establishing a Tor circuit
- Tor has successfully opened a circuit. Looks like client functionality is working.
- Bootstrapped 100%: Done
三. 测试
启动Tor成功之后,可以输入netstat -lnt
查看本机的网络状态,
tcp 0 0 127.0.0.1:9050 0.0.0.0:* LISTEN
可以看到TOR开启了本地9050端口作为SOCKS5代理,其他应用程序可以通过使用torsocks全局代理工具或者配置应用程序的代理为127.0.0.1:9050走Tor网络。 在服务器上验证能否正常连接到Tor 网络 ,可以使用以下语句测试进行对比测试获取到正确的本机IP信息:
curl ipinfo.io
公网上获取到的的IP为非本机IP(且每隔几分钟变化一次):
torsocks curl ipinfo.io
四.代理配置
现在要使该服务器成为一个TOR代理,使得其他主机可以使用该服务器的TOR代理,需要进行如下配置
vim /etc/tor/torrc 修改SOCK5代理端口,翻到最下面添加以下语句
SOCKSPort 9050 # Default: Bind to localhost:9050 for local connections.
SOCKSPort 0.0.0.0:9150 # Bind to this address:port too.
重新运行TOR,查看网络状态,发现新打开监听端口9150
tcp 0 0 127.0.0.1:9050 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9150 0.0.0.0:* LISTEN
----------------------------------------------------------------(斟酌好了再改)
因为TOR提供的SOCK5代理没有用户密码验证。所以我们需要配置防火墙,修改iptables来指定允许的IP连接该端口。或者直接修改Tor配置文件,只允许指定的IP访问TOR代理接口,在torrc文件末尾添加以下语句。如:
SOCKSPolicy accept 45.32.24.178
SOCKSPolicy reject *
#SOCKSPolicy accept 192.168.0.0/16
--------------------------------------------------------------
五.其他TOR相关配置
配置Tor网络出口节点
比如想实现指定Tor网络出口节点,或者限制出口节点不走某些区域的功能。以指定出口节点为日本为例,在torrc配置文档末尾添加以下语句(StrictNodes 表示强制执行)
ExitNodes {jp}
StrictNodes 1
如果想要排除某些国家/地区的节点,如中国,香港可以添加
ExcludeNodes {cn},{mo},{hk}
StrictNodes 1
------------------------------------------------------------------(看自己需求)
配置前置代理
为Tor配置前置代理,比如在国内是无法直接连接TOR网络的,需要使用前置代理翻墙,然后再使用TOR网络进行双重代理。前置代理可以是HTTP,SOCKS4,SOCKS5等代理,支持用户密码验证,如添加SOCK5代理,添加以下语句在torrc文件末尾。
Socks5Proxy 127.0.0.1:1080
#Socks5ProxyUsername username
#Socks5ProxyPassword password
-------------------------------------------------------------------
使用你的IP:9150就可以用Sock代理了
感谢分享!