麒麟安全网络锦标赛:国内匿名网络先导配置

本教程以ubuntu 20.04系统为例,设置Tor+ssr前置代理的匿名网络服务,方便各位选手做好参赛前的准备;

前期硬件准备:Win10开发机一台、Linux系统电脑一台(新安装)、海外VPS

麒麟安全网络锦标赛:国内匿名网络先导配置

 

准备作为前置代理的SSR,服务器尽量选择靠近中国的,如港澳台、日本、俄罗斯都是不错的选择,具体vps供应商可以来这里找(该步骤也以ubuntu 20.04系统作为示例):

 

Python

# 现金付款

https://www.lowendtalk.com

# 虚拟货币付款

https://bitcoin-vps.com

在上述vps中搭建shadowsocks服务端和设置BBR加速

首先系统升级更新到最新状态:

 

SQL

sudo apt update

sudo apt upgrade

接着输入python3看看vps是否已经内置runtime,如果没有自行安装:

 

Nginx

sudo apt install python3-pip

然后装shadowsocks软件包:

 

CSS

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh

chmod +x ssr.sh

bash ssr.sh

自定义各项参数,编辑完后,程序自动启动。

 

JSON

{

"server": "0.0.0.0",

"server_ipv6": "::",

"server_port": 8080, // 改为自己的

"local_address": "127.0.0.1",

"local_port": 1080,

 

"password": "password",

"method": "aes-256-cfb",

"protocol": "auth_aes128_sha1",

"protocol_param": "",

"obfs": "plain",

"obfs_param": "",

"speed_limit_per_con": 0,

"speed_limit_per_user": 0,

 

"additional_ports" : {},

"timeout": 120,

"udp_timeout": 60,

"dns_ipv6": false,

"connect_verbose_info": 0,

"redirect": "",

"fast_open": false

}

之后是加速必备的BBR:

 

CSS

sudo wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

验证方法:

 

Ruby

$ uname -r

# 查看内核版本,显示为最新版就表示 OK 了

# ————————————

$ sysctl net.ipv4.tcp_available_congestion_control

# 返回值一般为:

# net.ipv4.tcp_available_congestion_control = bbr cubic reno

# ————————————

$ sysctl net.ipv4.tcp_congestion_control

# 返回值一般为:

# net.ipv4.tcp_congestion_control = bbr

# ————————————

$ sysctl net.core.default_qdisc

# 返回值一般为:

# net.core.default_qdisc = fq

# ————————————

$ lsmod | grep bbr

# 返回值有 tcp_bbr 模块即说明bbr已启动。

有的vps网络管理比较严格,需要手动开一下端口允许入口流量:

 

JSON

sudo ufw allow 8080 // 端口改为自己的

开发机安装shadowsocks客户端连接服务端

装完了服务端,肯定是需要测试下可用性的;这里给大家提供一个win平台可运行的图形化shadowsocks客户端SSTap:

 

安装好后按以下步骤填入上边设置好的信息:

麒麟安全网络锦标赛:国内匿名网络先导配置 麒麟安全网络锦标赛:国内匿名网络先导配置

选好代理模式后点击「连接」,如果能正常连接且流畅访问谷歌、油管、推特等国外网站,说明服务端配置成功。

Linux电脑创建shadowsocks客户端

准备一台独立的电脑,刷好Linux系统,启动全磁盘加密,且绝对不要插网线、绝对不要按安装过程中所谓的提示连接wifi、绝对不要以任何形式裸连!注意绝对不要沿用自己过去用过的电脑,这台电脑上绝对不能存储任何私人信息和任何能关联到你的信息;之后回到win开发机,在SSTap主界面代理模式处选择「全局」后启用连接,这一步是为了创建临时网络供Linux电脑使用:

麒麟安全网络锦标赛:国内匿名网络先导配置

直接菜单处搜索,打开移动热点设置并开启,可以编辑热点名称和密码:

麒麟安全网络锦标赛:国内匿名网络先导配置 麒麟安全网络锦标赛:国内匿名网络先导配置

查看电脑里的网络连接,并找出由SSTap创建的虚拟网(红框);在下图中,红框下方刚好就是上一步设置移动热点时创建的网络,名称为「本地连接* 2」,每个人设置后名称可能各有不同,请记住这个网络的名称,下边会用到:

麒麟安全网络锦标赛:国内匿名网络先导配置

右键点击上图红框所示的虚拟网络连接,选择属性-共享,勾选「允许其他……来连接」,将「家庭网络连接」设置为刚刚记住的那个无线热点,如下图所示:

麒麟安全网络锦标赛:国内匿名网络先导配置 麒麟安全网络锦标赛:国内匿名网络先导配置

此时将Linux电脑连接win10开发机的热点,这样至少它也套了一层代理,且可以畅通无阻地连接外网了;然后我们就可以顺利地进行tor的配置,首先还是系统升级更新到最新状态:

 

SQL

sudo apt update

sudo apt upgrade

接着装shadowsocks软件包:

 

Shell

wget https://raw.githubusercontent.com/the0demiurge/CharlesScripts/master/charles/bin/ssr

chmod +x ssr

cp ssr /usr/local/bin/ssr

sudo apt-get install jq

 

# 安装ssr客户端

ssr install

 

# 命令行输入ssr可以弹出帮助

 

# 配置并启动

# (配置文件在:~/.local/share/shadowsocksr/config.json,使用nano进入修改)

 

# 卸载

ssr uninstall

配置一览:

 

JSON

{

"server": "100.100.100.100", // 改为自己的服务端ip

"server_ipv6": "::",

"server_port": 8080, // 改为自己的服务端port

"local_address": "127.0.0.1",

"local_port": 1080,

 

"password": "password", // 改为自己的服务端密码

"method": "aes-256-cfb", // 改为自己的服务端加密方式

"protocol": "auth_aes128_sha1", // 改为自己的服务端协议

"protocol_param": "",

"obfs": "plain",

"obfs_param": "",

"speed_limit_per_con": 0,

"speed_limit_per_user": 0,

 

"additional_ports" : {},

"timeout": 120,

"udp_timeout": 60,

"dns_ipv6": false,

"connect_verbose_info": 0,

"redirect": "",

"fast_open": false

}

Linux电脑配置&加入Tor网络

运行命令以在sources.list中启用https的使用:

 

JSON

sudo apt install apt-transport-https

运行命令以添加Tor存储库:

 

Nginx

sudo sh -c 'echo "deb [arch=amd64] https://deb.torproject.org/torproject.org $(lsb_release -sc) main" >> /etc/apt/sources.list.d/tor-project.list'

注1:对于arm64(例如Rasperry Pi),32位Ubuntu 18.04 / 16.04,必须把[arch=amd64]从命令中删除;

注2:对于Linux Mint和其他基于Ubuntu的系统,$(lsb_release -sc)在命令中替换为系统所基于的Ubuntu代码名(例如,focus,bionic,groovy);

麒麟安全网络锦标赛:国内匿名网络先导配置

密钥会定期更新,从下面的链接下载最新的keyring .deb软件包

 

CSS

wget https://deb.torproject.org/torproject.org/pool/main/d/deb.torproject.org-keyring/deb.torproject.org-keyring_2020.11.18_all.deb

然后安装它:

 

Nginx

sudo apt install ./deb.torproject.org-keyring_2020.11.18_all.deb

最后,刷新软件包缓存并通过2个命令安装Tor:

 

SQL

sudo apt update

sudo apt install tor

通过以下命令验证是否安装成功:

 

Nginx

tor --version

如果弹出来的版本号为0.4.5.8或者更新,则安装成功;接着开始配置前置代理,将Tor与本地shadowsocks客户端桥接起来:

 

JSON

sudo nano /etc/tor/torrc

推荐把这个配置文件全部的注释都看一遍,对Tor提供的服务有个大致的了解;然后把以下配置添加到该文件的最底部:

 

JSON

# 本机连接Tor网络的端口,默认为9050

SocksPort 9050

 

# 可加可不加,加了就代表别人可以通过你的电脑直接加入Tor网络,类似于软路由

# SocksPort 0.0.0.0:9051

 

# 设置哪些ip的机器可使用该Tor服务(此配置仅允许本地访问)

SocksPolicy accept 127.0.0.1

SocksPolicy reject

 

# 桥接本地shadowsocks作为前置代理

Socks5Proxy 127.0.0.1:1080

Ctrl+O保存Ctrl+X退出;然后断开与Win开发机的连接,开发机这边也停用热点,相当于临时网络的使用到此为止了;接着在ubuntu无网络连接的情况下,先后启用shadowsocks客户端和Tor:

 

Nginx

ssr start

sudo /usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0

接着在设置界面配置网络代理服务器,端口填写上述在torcc中配置的数字:

麒麟安全网络锦标赛:国内匿名网络先导配置

这个时候就可以连接wifi了,然后运行下列命令检查出口网络的ip信息:

 

JSON

curl ipinfo.io

如果这个地址是国外的某个地区,且每5分钟变换一次,说明配置成功,可以参加我们的网络安全竞赛了:

麒麟安全网络锦标赛:国内匿名网络先导配置

此外,我们还应该设置开机自动启动shadowsocks客户端(Tor安装后自动设置为开机启动):

 

Bash

sudo cp -r ~/.local/share/shadowsocksr/* /root/.local/share/shadowsocksr/

 

Bash

sudo nano /etc/systemd/system/rc-local.service

填入以下信息并保存:

 

Makefile

[Unit]

Description=/etc/rc.local Compatibility

Documentation=man:systemd-rc-local-generator(8)

ConditionFileIsExecutable=/etc/rc.local

After=network.target

 

[Service]

Type=forking

ExecStart=/etc/rc.local start

TimeoutSec=0

RemainAfterExit=yes

GuessMainPID=no

新建执行脚本并保存:

 

Nginx

sudo nano /etc/rc.local

 

Bash

#!/bin/bash -e

sudo sleep 5

sudo ssr start

exit 0

这样开机就能使用匿名网络了~

 

 


人生有無數種可能,人生有無限的精彩,人生沒有盡頭。一個人只要足夠的愛自己,尊重自己內心的聲音,就算是真正的活著。