AC68U路由器安装ssserver服务

1.挂载U盘

梅林固件用Entware需要一个可随意读写的空间,这个空间需要挂载到 /opt目录。插上你的U盘,执行df命令:

admin@NETGEAR-9599:/tmp/home/root# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 27008 27008 0 100% /
devtmpfs 127756 0 127756 0% /dev
tmpfs 127860 588 127272 0% /tmp
/dev/mtdblock4 90880 2196 88684 2% /jffs
/dev/sda1 30384076 229480 28611172 1% /tmp/mnt/sda1

从上面的输出可以看到,我的U盘是sda1设备。记住这个设备名称,直接终端执行以下内容:

cat << EOF > /tmp/script_usbmount.tmp
if [ \$1 = "/tmp/mnt/sda1" ]
then
ln -sf \$1 /tmp/opt
/opt/etc/init.d/rc.unslung start
fi
EOF
nvram set script_usbmount="`cat /tmp/script_usbmount.tmp`"

cat << EOF > /tmp/script_usbumount.tmp
if [ \$1 = "/tmp/mnt/sda1" ]
then
/opt/etc/init.d/rc.unslung stop
fi
EOF

其中“/tmp/mnt/sda1”替换为自己的U盘路径,然后执行(将上面的脚本内容永久的保存在NVRAM 中):

nvram set script_usbumount="`cat /tmp/script_usbumount.tmp`"
nvram commit

重启即可看到效果。其目的是自动挂载(卸载)U盘到 /opt 目录。待系统启动以后,cd进入/opt 自行确认是否是U盘路径。

注意:在使用U盘前,请先在电脑上用傲梅分区助手格式化成Linux所兼容的文件系统,对于AC68U的Merlin推荐ext3格式 。也可以直接用如下方法格式化:

mount 
umount /mnt/sda1
mkfs.ext3 /dev/sda1
mount /dev/sda1 /mnt/sda1

2.安装 Entware

Merlin在15年开始的某个版本上就已经内置了Entware的安装脚本了,直接终端执行即可:

entware-setup.sh

进入交互:

admin@NETGEAR-9599:/tmp/home/root# entware-setup.sh
Info: This script will guide you through the Entware installation.
Info: Script modifies "entware" folder only on the chosen drive,
Info: no other data will be changed. Existing installation will be
Info: replaced with this one. Also some start scripts will be installed,
Info: the old ones will be saved on Entware partition with name
Info: like /tmp/mnt/sda1/jffs_scripts_backup.tgz
Info: Looking for available partitions...
[1] --> /tmp/mnt/sda1
=> Please enter partition number or 0 to exit
[0-1]:

选择你的U盘路径,通常选择1。之后就是不断的回车确认即可。等待安装完成以后,执行opkg命令,看是否正常,如果无异常,恭喜你,Entware 环境安装成功。此时,你进入/opt目录,会发现生成了以下文件系统结构:

admin@NETGEAR-9599:/tmp/home/root# cd /opt/
admin@NETGEAR-9599:/tmp/mnt/sda1/entware# ls
bin etc lib sbin share tmp usr var
admin@NETGEAR-9599:/tmp/mnt/sda1/entware#

没错,Entware将会把软件安装在这里,并且一切仓库软件所需要的东西都会在这里有一份跟标准安装所依赖的一样的结构目录文件。随意读写的/opt目录此时相当于系统的根目录。软件可执行文件会被安装到/opt/bin 中,并且该路径存在于PATH变量中。跟正常Linux系统安装到/usr/bin或者/usr/local/bin是一样的效果。

PS:刚装上以后必须得执行一次更新命令下载仓库索引到本地:

Opkg update
Opkg upgrade

可能会出现这样的错误:

Downloading http://pkg.entware.net/binaries/armv7/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/packages

在我这台路由上没有更新,也可以进行安装。

根据ShadowsocksR 服务端安装教程,git、python肯定是必须的,直接执行:

Opkg install git
Opkg install python

需要安装libopenssl库,执行:

opkg install libopenssl

之后提示已经是最新,所以这一步应该可以省略。

3.安装ssserver

切换到jffs,执行:

cd /jffs
git clone -b manyuser git://github.com/Ssrbackup/shadowsocksr.git

执行完毕后此目录会新建一个shadowsocksr目录,其中根目录的是多用户版(即数据库版,个人用户请忽略这个),子目录中的是单用户版(shadowsocksr/shadowsocks)。
根目录即/jffs/shadowsocksr,子目录即 /jffs/shadowsocksr/shadowsocks

服务端配置,进入根目录初始化配置:

cd /jffs/shadowsocksr
opkg install bash
bash initcfg.sh

以下步骤要进入子目录:

cd /jffs/shadowsocksr/shadowsocks

####快速运行####

python server.py -p 443 -k password -m aes-256-cfb -O auth_sha1_v4 -o http_simple
#说明:-p 端口 -k 密码 -m 加密方式 -O 协议插件 -o 混淆插件

#### 使用配置文件运行 ####

如果你的ssserver目录是/jffs/shadowsocksr,进入这里修改config.json中的server_port,password等字段。

要用chacha20加密的还要改个文件util.py

cd /jffs/shadowsocksr/shadowsocks/crypto
vi util.py

#把第二个usr改成opt
'/usr/local/lib*/lib%s.*' % name,
'/usr/lib*/lib%s.*' % name,

运行子目录内的server.py:

python server.py

如果要在后台运行:

python server.py -d start

如果要停止/重启:

python server.py -d stop/restart

查看日志:

tail -f /var/log/shadowsocksr.log        
#用 -h 查看所有参数

最后要开启防火墙443端口:

iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT

4.添加开机启动脚本:

用Winscp打开/jffs/scripts,新建一个自启动文件,名为firewall-start,內容如下:

#!/bin/sh
#SSRServer
sleep 10
/jffs/shadowsocksr/shadowsocks/server.py -d start -c /jffs/shadowsocksr/config.json
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT

保存,再在firewall-start文件,右click属性改为0755

5.更新源代码

如果代码有更新可用本命令更新代码,进入shadowsocksr目录执行:

git pull

成功后重启ssserver服务



【上一篇】 【下一篇】

Posted in 教程 ,硬件 ,网络 ,软件 | Tags: , , ,

0 条评论

添加评论

[ Ctrl + Enter ]


Title - Artist
0:00