2015年12月29日星期二

Raspberry Pi 树莓派2 搭建 Shadowsocks服务器 (Ubuntu 14.04)



“想在低成本路由搭建SS服务端的朋友可以看这里

下面介绍树莓派2搭建SS服务端
设备:树莓派2 Model B 获得公网IP
用途:在境外的路由为树莓派开通DMZ就能为你服务了

固件:2015-04-06-ubuntu-trusty.img (ubuntu 14.04)
下载地址:
http://www.finnie.org/software/raspberrypi/2015-04-06-ubuntu-trusty.zip

步骤:
在windows下用Win32DiskImager.exe把固件写进去TF卡,在树莓派2启动
(用户名和密码是ubuntu)。



--------------------------------ROOT登陆---------------------------
作为测试中阶段,一开始我们可以用root登陆
sudo passwd root
输入现有密码并更新root密码
su root
用root登陆
-------------------------------安装ssh服务---------------------------------

sudo apt-get update
#密码ubuntu
sudo apt-get install openssh-server
#这时安装完成了,重启将启动服务

#安装fail2ban服务,该服务装好后重启生效、自启动,
作用:ssh登录错误5次ban10分钟。
sudo apt-get install fail2ban

#可以在/etc/fail2ban/jail.conf修改fail2ban参数。

#由于ssh现在可以被远程访问

#如果你想像我一样偷懒,加强一些ssh防护。可以:
用root登录,用命令
userdel ubuntu
删除ubuntu用户
更好的方式是取消密码登录,用私匙登录SSH。


---------------以下是采用这里的一键脚本搭建Python shadowsocks服务端--------------

reboot
重启树莓派后

sudo apt-get update

更新好后,下载一键脚本运行
wget http://mirrors.linuxeye.com/oneinstack.tar.gz
tar xzf oneinstack.tar.gz
cd oneinstack
./shadowsocks.sh install


会要求你输入ss的密码,端口9002,然后让他自动处理吧!

10-20分钟后应该处理好,例如下图显示





注意看看是否有命令错误,无误的话
绿色地方就是你所需要的信息(端口,密码,加密方式)

这时手机ss客户端照着输入,用3G网络连上去测试下网页,
如无问题都能打开,代表服务端正常运行。
如果无法打开网页,可以用不同宽带电脑登上putty执行远程ssh连接,来测试公网以及防火墙是否打通。



#卸载该服务的命令
./shadowsocks.sh uninstall



跑300KB/s时占用率7.8%。






为日后安全,可以选择安装ubuntu防火墙ufw

1、安装
sudo apt-get install ufw

2、启用
#设置防火墙随系启动(会提示重启后生效)
sudo ufw enable

#设置防火墙关闭所有外部对本机的访问(本机访问外部正常)。
sudo ufw default deny

#允许外部访问ssh服务
sudo ufw allow ssh

#打开9002端口
sudo ufw allow 9002

#查看防火墙状态
sudo ufw status
#你会发现开通了ipv4和v6 22端口和9002端口






PS:我一开始用传统的搭建树莓派搭建服务端方式,无法搭建成功。之后用秋水逸冰的Shadowsocks Python版一键安装脚本,也不成功,卸载之后用文中脚本,顺利搭建起来。

注意防火墙问题,我的树莓派环境在内网,公网的TP-Link路由为树莓派开通DMZ。日后用端口转发更安全。长久用还需加强树莓派的SSH加密(更改ssh端口、取消密码登录,加入私钥等)。


相关阅读:
OpenWRT 路由器搭建 Shadowsocks 服务器 (ramips-mt7620 router)
Raspberry Pi 树莓派2 搭建 Shadowsocks服务器 (Raspbian\Debian)

没有评论:

发表评论

设置debian/ubuntu 2分钟后 定时重启

 #使用以下命令,安装at并安排系统在两分钟后执行重启: apt-get install at -y && echo "shutdown -r now" | sudo at now + 2 minutes