2016年12月30日星期五

Shadowsocks-libev 多用户 多端口 多实例 自启动

shadowsocks-libev并不像go版本或python版本的shadowsocks客户端/服务端软件那样直接支持多实例配置(相关说明看这里)。shadowsocks-libev需要通过加载不同的配置文件来实现多端口使用。


在CentOS启动脚本shadowsocks-libev的基础上做修改,实现多个配置文件自动加载:


#!/bin/bash
#
# Script to run Shadowsocks in daemon mode at boot time for multiple
# config.json file.
# ScriptAuthor: icyboy, update by nksmiles
# Revision 2.0 - 30th Dec. 2016
#============================================================
# Run level information:
# chkconfig: 2345 99 99
# Description: lightweight secured scoks5 proxy
# processname: ss-server
# Author: Max Lv <
max.c.lv@gmail.com>;
# Run "/sbin/chkconfig --add shadowsocks" to add the Run levels.
#============================================================

#============================================================
# Paths and variables and system checks.

# Source function library
. /etc/rc.d/init.d/functions

# Check that networking is up.
[ ${NETWORKING} ="yes" ] || exit 0

# Daemon
NAME=shadowsocks-server
DAEMON=/usr/bin/ss-server

##################################
# Path to the configuration file.
# Multiple config.json files are listed here.
CONF=/etc/shadowsocks-libev/config.json
CONF1=/etc/shadowsocks-libev/config1.json
##################################

#USER="nobody"
#GROUP="nobody"

# Take care of pidfile permissions
mkdir /var/run/$NAME 2>/dev/null || true
#chown "$USER:$GROUP" /var/run/$NAME

# Check the configuration file exists.
#
if [ ! -f $CONF ] ; then
    echo "The configuration file cannot be found!"
    exit 0
fi

if [ ! -f $CONF1 ] ; then
    echo "The configuration file1 cannot be found!"
    exit 0
fi

# Path to the lock file.
LOCK_FILE=/var/lock/subsys/shadowsocks

##################################
# Path to the pid file.
# Multiple pid files are listed here
PID=/var/run/$NAME/pid
PID1=/var/run/$NAME/pid1
##################################


#====================================================================
# Run controls:

RETVAL=0
# Start shadowsocks as daemon.
start() {
    if [ -f $LOCK_FILE ]; then
         echo "$NAME is already running!"
         exit 0
    else
         echo -n $"Starting ${NAME}: "
         #daemon --check $DAEMON --user $USER "$DAEMON -f $PID -c $CONF > /dev/null"
         daemon $DAEMON -c $CONF -f $PID
         #multiple config.json file
         daemon $DAEMON -c $CONF1 -f $PID1
    fi

    RETVAL=$?
    [ $RETVAL -eq 0 ] && success
    echo
    [ $RETVAL -eq 0 ] && touch $LOCK_FILE
    return $RETVAL
}


# Stop shadowsocks.
stop() {
    echo -n $"Shutting down ${NAME}: "
    killproc -p ${PID}
    #killproc multiple PID
    killproc -p ${PID1}
    RETVAL=$?
    [ $RETVAL -eq 0 ]
    rm -f $LOCK_FILE
    rm -f ${PID}
    #remove multiple PID
    rm -f ${PID1}
    echo
    return $RETVAL
}

# See how we were called.
case "$1" in
    start)
         start
         ;;
    stop)
         stop
         ;;
    restart)
         stop
         start
         ;;
    condrestart)
         if [ -f $LOCK_FILE ]; then
         stop
         start
         RETVAL=$?
         fi
         ;;
    status)
         status $DAEMON
         RETVAL=$?
         ;;
    *)
         echo $"Usage: $0 {start|stop|restart|condrestart|status}"
         RETVAL=1
esac

exit $RETVAL


将上述脚本保存为/etc/init.d/shadowsocks-libev并添加执行权限,就可以用下面命令启动了:
/etc/init.d/shadowsocks-libev start

启动后,可以通过以下命令查看ss-server是否监听了两个配置文件的端口:
netstat -tlnp


另外,也可以通过修改以上启动脚本来实现更多配置文件的加载。

2016年12月28日星期三

搬瓦工CentOS 6安装Lighttpd、PHP、SQLite和Zblog

参考链接:

https://www.howtoforge.com/installing-lighttpd-with-php5-php-fpm-and-mysql-support-on-centos-6.4-p2

1、前提

服务器IP使用192.168.0.100

2、安装Lighttpd

因为CentOS的官方软据仓库中不包含Lighttpd和PHP-FPM,所以我们需要启用Remi RPM 软件仓库和EPEL软件仓库:
rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum install yum-priorities

编辑/etc/yum.repos.d/epel.repo...
vi /etc/yum.repos.d/epel.repo

添加行priority=10到[epel]部分:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[...]

然后同样修改/etc/yum.repos.d/remi.repo文件的[remi]部分,并将enable改为1:
vi /etc/yum.repos.d/remi.repo

[remi]
name=Les RPM de remi pour Enterprise Linux $releasever - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
failovermethod=priority

[remi-test]
name=Les RPM de remi en test pour Enterprise Linux $releasever - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/test/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/test/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

然后可以通过下面的命令安装Lighttpd:
yum install lighttpd

之后我们创建Lighttpd的系统启动链接并将其启动(之后系统启动时Lighttpd自动启动):
chkconfig --levels 235 lighttpd on
/etc/init.d/lighttpd start

如果Lighttpd启动时失败,并报如下错误信息...
(network.c.203) socket failed: Address family not supported by protocol


打开/etc/lighttpd/lighttpd.conf...
vi /etc/lighttpd/lighttpd.conf

并更改server.use-ipv6,由enable改为disable:
[...]
##
## Use IPv6?
##
server.use-ipv6 = "disable"
[...]

然后尝试重启Lighttpd,现在应该可以正常工作了:
/etc/init.d/lighttpd start

现在直接在浏览器中输入地址http://192.168.0.100,你应该看到下面的页面:


在CentOS 6.4上Lighttpd的默认文档根目录/var/www/lighttpd/,配置文件是/etc/lighttpd/lighttpd.conf。

3、安装PHP5

我们可以通过PHP-FPM使得PHP5在Lighttpd上工作,我们安装下述软件包:
yum install php-fpm lighttpd-fastcgi

PHP-FPM是守护进行,运行FastCGI服务在端口9000上。
打开/etc/php-fpm.d/www.conf...
vi /etc/php-fpm.d/www.conf

并将user和group设置为lighttpd:
[...]
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = lighttpd
; RPM: Keep a group allowed to write in log dir.
group = lighttpd
[...]

为PHP-FPM创建系统启动链接并将其启动:
chkconfig --levels 235 php-fpm on
/etc/init.d/php-fpm start

为了在Lighttpd中启用PHP5,我们必须修改两个文件,/etc/php.ini/etc/lighttpd/lighttpd.conf。首先我们打开/etc/php.ini并取出cgi.fix_pathinfo=1这一行前面的注释:
vi /etc/php.ini

[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]

然后我们打开/etc/lighttpd/modules.conf并取出include "conf.d/fastcgi.conf"这一行前面的注释:
vi /etc/lighttpd/modules.conf

[...]
##
## FastCGI (mod_fastcgi)
##
include "conf.d/fastcgi.conf"
[...]

然后打开/etc/lighttpd/conf.d/fastcgi.conf:
vi /etc/lighttpd/conf.d/fastcgi.conf

fastcgi.server这一部分,保留原来的注释并添加你自己的fastcgi.server部分,如下:
[...]
## PHP Example
## For PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini.
##
## The number of php processes you will get can be easily calculated:
##
## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN )
##
## for the php-num-procs example it means you will get 17*5 = 85 php
## processes. you always should need this high number for your very
## busy sites. And if you have a lot of RAM. :)
##


fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)

#fastcgi.server = ( ".php" =>
#                   ( "php-local" =>
#                     (
#                       "socket" => socket_dir + "/php-fastcgi-1.socket",
#                       "bin-path" => server_root + "/cgi-bin/php5",
#                       "max-procs" => 1,
#                       "broken-scriptfilename" => "enable",
#                     )
#                   ),
[...]

然后我们重启Lighttpd:
/etc/init.d/lighttpd restart

4、测试PHP5 / 获取PHP5的安装细节

默认网站文档根目录是/var/www/lighttpd/。现在我们在这个目录创建一个小PHP文件(info.php)并在浏览器中调用。这个文件会显示大量有关PHP安装的有用细节,例如所安装的PHP版本。
vi /var/www/lighttpd/info.php

<?php
phpinfo();
?>

现在我们在浏览器中调用文件(例如http://192.168.0.100/info.php):


正如你所看到的,PHP5正在工作,并通过FPM/FastCGI工作,正如在Server API那一行所显示的。如果你继续向下滚动,你会看到在PHP5中已经启用的模块。

5、安装SQLite3

默认情况下,通过yum安装的PHP应该包含SQLite3,可以通过下面命令进一步确认:
yum install sqlite

6、让PHP-FPM 使用Unix Socket

默认情况下PHP-FPM监听127.0.0.1上的9000端口。也可以让PHP-FPM使用Unix socket,这样可以避免TCP开销。要这样做,打开/etc/php-fpm.d/www.conf...
vi /etc/php-fpm.d/www.conf


并将下面几行做如下更改:
[...]
;listen = 127.0.0.1:9000
listen = /tmp/php5-fpm.sock
[...]
listen.owner = lighttpd
listen.group = lighttpd
listen.mode = 0660
[...]




然后重新加载:
/etc/init.d/php-fpm reload

下一步打开Lighttpd的PHP配置文件/etc/lighttpd/conf.d/fastcgi.conf并将域名和端口相应的行替换为"socket" => "/tmp/php5-fpm.sock":
vi /etc/lighttpd/conf.d/fastcgi.conf

fastcgi.server += ( ".php" =>
        ((
                "socket" => "/tmp/php5-fpm.sock",
                "broken-scriptfilename" => "enable"
        ))
)

最后重启Lighttpd:
/etc/init.d/lighttpd restart

7、下载并安装zblog


cd /var/www/lighttpd
wget https://github.com/zblogcn/zblogphp/releases/download/1626/Z-BlogPHP_1_5_0_1626_Zero.zip
yum install unzip
unzip Z-BlogPHP_1_5_0_1626_Zero.zip
chown lighttpd:lighttpd /var/www/lighttpd/* -R
rm index.html

2016年12月27日星期二

CentOS 6安装Shadowsocks-libev以及相关配置

参考Shadowsocks-libev在Github上的说明:
download yum repo on Fedora Copr and put it inside /etc/yum.repos.d/.


在Fedora Copr上下载软件仓库配置文件:


将配置文件放置到/etc/yum.repos.d/:
mv librehat-shadowsocks-epel-6.repo /etc/yum.repos.d/


然后通过yum安装shadowsocks-libev:
yum update
yum install shadowsocks-libev


如果想把shadowsocks-libev作为服务运行,拷贝启动脚本shadowsocks-libev到/etc/init.d/目录下后,启动:
wget https://cokebar.info/wp-content/uploads/2014/11/shadowsocks-libev
mv shadowsocks-libev /etc/init.d/


然后可以通过以下命令在启动、停止和重启shadowsocks-libev服务:
/etc/init.d/shadowsocks-libev start
/etc/init.d/shadowsocks-libev stop
/etc/init.d/shadowsocks-libev restart


对于shadowsocks-libev有两点需要注意:
1. shadowsocks-libev以服务运行时无法输出日志:
https://github.com/shadowsocks/shadowsocks-libev/issues/174
2. shadowsock-libev不支持python版、go版的多端口配置:
https://github.com/shadowsocks/shadowsocks-libev/issues/5





2016年9月24日星期六

在OS X系统使用QEMU模拟器为UBNT EdgeRouter编译deb软件包

一、在OS X系统安装QEMU

1、安装Homebrew

Homebrew是OS X上强大的包管理器。为了解决QEMU安装的依存关系,我们先按照Homebrew官网的介绍安装Homebrew:
http://brew.sh/index_zh-cn.html


2、使用Homebrew安装QEMU

Bash
$ brew install qemu


二、在QEMU上构建EdgeRouter的软件包编译环境

此步骤主要参考了以下文章:
https://blog.austinchou.com/compile-shadowsocks-libev-and-chinadns-for-edgerouter-poe/

1、在QEMU上构建MIPS64编译环境

首先在EdgeRouter中使用打开CLI窗口登陆,使用uname命令查看平台架构:
Bash
$ uname -a 
Linux ERL-3 3.10.20-UBNT #1 SMP Sat May 28 09:46:11 PDT 2016 mips64 GNU/Linux
从显示结果可以看到是mips64架构。
然后从下面网址下载已经预安装mips64架构的debian系统的系统映像。
https://people.debian.org/~aurel32/qemu/
选择mips文件夹,依据说明下载wheezy 64位相关的两个文件:
vmlinux-3.2.0-4-5kc-malta 
debian_wheezy_mips_standard.qcow2
然后再OS X系统的终端中运行以下命令启动:
Bash
qemu-system-mips64 -M malta -kernel vmlinux-3.2.0-4-5kc-malta -hda debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0"

搬瓦工Debian系统Lighttpd/SQLite/PHP安装Z-Blog

1.系统选择

众所周知,Debian是Linux系统中做Web服务器比较稳定的发行版。由于Debian 6(squeeze)已经停止支持,而搬瓦工上的Debian 8又是全64位系统,所以我们选用Debian 7系统。
Debian Long Term Support
Debian 6   “Squeeze” until 29th of February 2016
Debian 7   “Wheezy” from 26th of April 2016 to 31st of May 2018

2.安装系统

先在搬瓦工管理后台KiwiVM面板左侧的Main Controls里面使用Stop按钮停止服务器。
然后选择Install new OS,选择debian-7.0-x86-minimal,在I agree that all existing data on my VPS will be lost.前面打勾,点击Reload重装系统。
重装系统后会生成新的SSH端口号和root账户密码。要记录下来方便SSH远程管理。

3.升级系统

系统安装完成后要先升级系统,先更新软件包信息:
Bash
apt-get update
运行此命令时可能会出现以下出错信息:
There is no public key available for the following key ids ****
运行以下命令解决这个问题:
Bash
apt-get install debian-archive-keyring
apt-key update

4.安装Lighttpd/SQLite/PHP

4.1.安装Lighttpd

Bash
apt-get install lighttpd

4.2.安装SQLite

Bash
apt-get install sqlite

4.3.安装php5

Bash
apt-get install php5-cgi php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

4.4.修改php配置文件

Bash
vi /etc/php5/cgi/php.ini
查找cgi.fix_pathinfo,将其值改为1:
PHP
cgi.fix_pathinfo=1

4.5.配置lighttpd

Bash
vi /etc/lighttpd/lighttpd.conf
更改文件内容为:
Bash
server.modules = (
 "mod_access",
 "mod_alias",
 "mod_compress",
 "mod_redirect",
 "mod_rewrite",
 "mod_fastcgi",
)
server.document-root = "/var/www"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"

index-file.names = ( "index.php", "index.html",
 "index.htm", "default.htm",
 " index.lighttpd.html" )
url.access-deny = ( "~", ".inc" )

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
include_shell "/usr/share/lighttpd/use-ipv6.pl"

dir-listing.encoding = "utf-8"
server.dir-listing = "enable"

compress.cache-dir = "/var/cache/lighttpd/compress/"
compress.filetype = ( "application/x-javascript", "text/css", "text/html", "text/plain" )

include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

fastcgi.server = ( ".php" => ((
  "bin-path" => "/usr/bin/php5-cgi",
  "socket" => "/tmp/php.socket",
  "max-procs" => 1,
  "bin-environment" => (
    "PHP_FCGI_CHILDREN" => "4",
    "PHP_FCGI_MAX_REQUESTS" => "1000"
  ),
)))
 重启lighttpd使配置生效:
Bash
/etc/init.d/lighttpd restart

5.功能测试

使用phpinfo检测:
Bash
vi /var/www/phpinfo.php
输入以下内容:
PHP
<?php
phpinfo();
?>
然后可以通过IP地址访问此页面:
http://11.22.33.44/phpinfo.php

6.安装Z-Blog

6.1.在主目录下载Z-Blog文件


Bash
cd ~
wget https://github.com/zblogcn/Release/raw/master/zip/Z-BlogPHP_1_4_Deeplue_150101.zip
下载完成后用unzip命令解压发现命令不存在……
先安装unzip:
Bash
apt-get install unzip
然后解压备用:
Bash
unzip Z-BlogPHP_1_4_Deeplue_150101.zip
解压后Blog程序在/root/Release文件夹。

6.2.创建站点目录

Bash
mkdir -p /home/wwwroot/blog
在home/wwwroot创建站点,并根据站点内容创建子目录,如果以后进行多站点管理可以清除的知道站点目录。

6.3.修改站点环境连接

Bash
vi /etc/lighttpd/lighttpd.conf
在最后一行添加:
Bash
$HTTP["host"] =~ "(^|\.)localhost\.localdomain$" {
 server.document-root = "/home/wwwroot/blog"
 accesslog.filename = "/var/log/lighttpd/blog/access.log"
 server.error-handler-404 = "/404.html"
}
根据自己的域名修改localhost和localdomain。
重启lighttpd使配置生效:
Bash
/etc/init.d/lighttpd restart

6.4.站点安装

将刚才下载解压好的程序文件放到/home/wwwroot/blog/目录下:
Bash
cp -R ~/Release/ /home/wwwroot/blog/
为了防止运行出错,需要修改文件夹权限:
Bash
chown -R www-data:www-data /home/wwwroot
用IP地址(或者已经绑定好的域名)直接打开:
http://11.22.33.44/
根据安装向导安装即可。

2016年9月17日星期六

UBNT airMax设备 airOS 5.5.8以上版本开启compliance test模式方法

SSH登入设备。

方法一:
touch /etc/persistent/ct
save
reboot

方法二:
echo "radartool cactime 1000" > /etc/persistent/rc.poststart
echo "echo '<option value=\"511\">MLINK</option>' >> /etc/ccodes.inc" >> /etc/persistent/rc.poststart
chmod +x /etc/persistent/rc.poststart
cfgmtd -w -p /etc/
touch /etc/persistent/ct
reboot

方法二会使Main页面出现Costum Script : Enabled,并且国家代码出现MLINK 。国家代码选择MLINK 即可。

2016年9月15日星期四

UniFi Picostation M2HP 刷入openwrt

第一步,选择bullut m的openwrt固件
第二步,长按reset进入tftp模式
第三步,tftp刷入openwrt的factory固件
第四步,通过192.168.1.1 LuCIa管理界面,启用wifi
第五步,wifi连入设备,确保wifi连接通畅,将eth0从lan中移除
第六步,新建wan接口,物理设备为eth0,设置为dhcp 客户端或者pppoe拨号。

注意:airOS 5.6之后uboot无法正常刷第三方固件,openwrt给的办法是降级的5.5版本的固件,但网络上难以找到。我的办法是picostation由airmax改unifi,然后刷4.8.20的unifi controller带的固件。刷完后uboot被降级,可以刷入openwrt。

2016年8月29日星期一

UBNT Edgemax Edgerouter Lite-3内部USB存储损坏

手动制作恢复U盘:
找一台Linux电脑
1.大于2G U盘一个,格式化俩分区(FAT/ext3),
# Device Boot Start End Blocks Id System
# /dev/sdd1 2048 292863 145408 c W95 FAT32 (LBA)
# /dev/sdd2 292864 3710975 1709056 83 Linux

2.下载1.6升级包解压(ER-e100.v1.6.0.4716006.tar);
3.将ER-e100.v1.6.0.4716006目录下得vmlinux.64和vmlinux.64.md5,复制到第一个分区根目录下;
4.将ER-e100.v1.6.0.4716006目录下squashfs.tmp,用dd写入第二个分区“ dd if=/路径/squashfs.tmp of=/dev/sda2 bs=4096”
5. sync

6,将U盘插入erlite,通电启动。

2016年8月27日星期六

UniFi UAP-LR刷入openwrt

由于需要一台吸顶安装的胖AP,刚好手头还有台UAP-LR,决定刷入openwrt当胖AP使用。


需要注意的是,在openwrt的wiki页面,将UAP和UAP-LR列在了一起:
https://wiki.openwrt.org/toh/ubiquiti/unifi
一开始输入了UAP的openwrt固件,结果UAP-LR直接变砖了。
后来用TFTP刷入UAP-Outdoor的固件,才正常使用。参考页面:
https://forum.openwrt.org/viewtopic.php?id=55032


1、使用tftp刷入最新openwrt固件

建议使用weird-solutions的TFTP Client,非常好用。

UAP-LR进入TFTP模式需要断电后,按住RESET上电,一直等到UAP-LR绿色和橙色的灯交替闪烁才行。

2、启用SSH

刷入openwrt固件后,进入192.168.1.1使用LuCI设置密码,启用SSH。

3、设置灯的状态

SSH登陆设备,设置灯亮,参考如下网址:

https://wiki.openwrt.org/toh/ubiquiti/unifi

发现将如下设置添加到 /etc/config/system文件尾部后,重启仍不亮
config led
 option default '0'
 option name 'led1'
 option sysfs 'ubnt:green:dome'
 option trigger 'netdev'
 option dev 'br-lan'
 option mode 'link'

config led
 option default '0'
 option name 'led2'
 option sysfs 'ubnt:orange:dome'
 option trigger 'netdev'
 option dev 'br-lan'
 option mode 'tx rx'
进入/sys/class/leds目录,发现灯名称改为ubnt:green:front和 ubnt:orange:front

修改配置:
config led
 option default '0'
 option name 'led1'
 option sysfs 'ubnt:green:front'
 option trigger 'netdev'
 option dev 'br-lan'
 option mode 'link'

config led
 option default '0'
 option name 'led2'
 option sysfs 'ubnt:orange:front'
 option trigger 'netdev'
 option dev 'br-lan'
 option mode 'tx rx'

4、配置网络



由于UAP-LR只有一个网口,所以跟一般的路由器不同,默认情况下这个网口是LAN口,我们需要拿UAP-LR当路由器,必须将这个口设为WAN口进行拨号。需要按照特定顺序配置:




4.1. 使用LuCI页面启用无线,无线是桥接到LAN网络的。


4.2. 连接到无线网络,断开电脑到设备的网线连接。确保可以通过无线SSH登录设备。

4.3. 默认eth0对应LAN,eth1对应WAN,由于网口对应eth0,所以我们要修改/etc/config/network文件,替换LAN和WAN下的eth0和eth1,使LAN对应eth1,WAN对应eth0。

4.4. 重启设备。

4.5. 将PoE电源上的LAN连接到猫上,设置WAN口为PPPoE,并设置拨号密码。

4.6. 连接openwrt的无线,上网吧。

2016年3月25日星期五

Debian系统Shadowsocks安装与配置

一、安装之前确保系统最新


# apt-get update&&apt-get upgrage

二、安装python版的shadowsocks


# apt-get install python-pip
# pip install shadowsocks


三、配置与启动


创建配置文件:

# vi /etc/shadowsocks/config.json


将下述内容粘贴:


{
    "server":"107.182.179.116",
    "local_address": "127.0.0.1",
    "local_port":1080,
    "port_password":{
         "443":"myPassword1",
         "8388":"myPassword2"
    },

    "timeout":600,
    "method":"aes-256-cfb",
    "fast_open": false,
    "workers": 2
}


将server-ip以及myPassword更改为服务器的IP地址和自己的密码。


然后可以使用下述命令启动或者停止shadowsocks服务:


ssserver -c /etc/shadowsocks/config.json -d start
ssserver -c /etc/shadowsocks/config.json -d stop


想让shadowsocks开机自动运行,修改rc.local

# vi /etc/rc.local


将下述内容放到exit 0之前:


/usr/bin/python /usr/local/bin/ssserver -c /etc/shadowsocks/config.json -d start

移动光猫改桥接模式

使用以下管理用户名和密码登录移动光猫: 用户名:CMCCAdmin 密码:aDm8H%MdA 登陆后,查看“网络-宽带设置”,选择名称中含有“INTERNET”的连接名称,截图记录原有INTERNET设置: 截图记录后,删除此配置。 参考原有配置,新建一个INTERNET连接,并...