博文

适用于安装了Tomato的AC66U的Shadowsocks-libev客户端

一直在找Tomato对应的optware版本的ss,但是网上到处都是针对OpenWRT的预编译版本(比如 这里 ),找遍大街都没找到对应Tomato的,不过好心人还是有的 下载地址是: http://dl.lazyzhu.com/file/Toolchain/ss-libev/1.4.8-5d7dd372fc/mips/shadowsocks-libev-openssl_1.4.8_mipsel_uclibc.zip 通过这次也终于让我知道了,原来AC66U虽然在Tomato的首页显示的是Broadcom BCM5300 chip rev 1,但是其实却是Mipsel的芯片 这个东西解压之后是四个可执行文件,没有对应的安装包 如果自己懒得写启动脚本的话,可以善用 以前的安装包 下载安装之前的包之后,把解压之后的ss-redir拷贝到/opt/bin目录替换源文件就可以了 这下终于可以如愿以偿的使用rc4-md5加密方式了 参考链接: http://www.right.com.cn/forum/thread-138582-1-1.html http://mujj.us/post/510.html

用iptables限制NAT下每IP的网速

iptables -I FORWARD -d 192.168.0.119 -j DROP iptables -I FORWARD -m limit -d 192.168.0.119 --limit 300/sec -j ACCEPT 意思是限制对应ip的数据包下载流量为每秒300个包,这个数量x mtu的值1500(1.5K),实际速度大概是450K/s iptables -I FORWARD -s 192.168.0.119 -j DROP iptables -I FORWARD -m limit -s 192.168.0.119 --limit 300/sec -j ACCEPT 同样的,这样可以限制上传速度 iptables -I FORWARD -p tcp -s 192.168.0.0/24 -m connlimit --connlimit-above 20 -j REJECT iptables -I INPUT -p tcp -s 192.168.0.0/24 -m connlimit --connlimit-above 20 -j REJECT 这样可以限制连接数

在CentOS 7上用Systemd建立shadowsocks自动启动服务

CentOS 7开始使用Systemd替代原有的init.d作为启动管理工具,原本以为很复杂,后来发现其实比init.d还要简单。 安装完shadowsocks-libenv之后: vim /etc/systemd/system/ss-redir.service 写入以下内容: [Unit] Description=Shadowsocks Redir Client After=network.target [Service] Type=forking PIDFile=/run/shadowsocks/redir.pid PermissionsStartOnly=true ExecStartPre=/bin/mkdir -p /run/shadowsocks ExecStartPre=/bin/chown nobody:nobody /run/shadowsocks ExecStart=/usr/local/bin/ss-redir -f /var/run/shadowsocks/redir.pid -c /usr/local/etc/ss-redir.json Restart=on-abort User=nobody Group=nobody UMask=0027 [Install] WantedBy=multi-user.target 然后运行 systemctl enable ss-redir.service 启用此服务的自动运行 开启服务:systemctl start ss-redir 查看状态 systemctl status ss-redir

在CentOS7上开启Samba匿名共享

CentOS中内置了Samba 4.1.1导致原有的将security设置为share直接允许匿名访问的方法失效,正确的做法是 vim /etc/samba/smb.conf security = user passdb backend = tdbsam map to guest = Bad User #增加这一句将所有认证失败的用户认为是guest [share]         path = /mnt/hdd1         comment= Test         browseable = yes         guest ok = yes         read only = no         writable = yes 然后是打开防火墙对应的端口,在打开防火墙之前,我先卸载掉CentOS 7自带的firewalld,用iptables来管理 systemctl stop firewalld systemctl mask firewalld 安装iptables的service管理程序 yum install iptables-services 用以下命令开关和重启iptables systemctl [stop|start|restart] iptables 打开几个必须的端口 iptables -I INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT iptables -I INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT iptables -I INPUT -m...

利用ipset进行选择性的翻墙

一般而言想要实现透明的自动翻墙路由器有两种策略: 利用IP地址段国家区分的方式,国外的统统走翻墙,国内的统统直连,我的Blog中之前介绍的大体上都是这种,这种方式的优点是适应性高,对于自己以前没有注意过的网站也可以很好的流畅的体验,缺点也很明显——就是带宽利用不高,因为对于不需要翻墙的网站而言,大部分时候直连的速度还是要优于翻墙的。 利用squid缓存劫持配合polipo做二级代理,利用squid强大的代理策略做域名区分的代理,这个的有点是因为是以域名区分的代理,所以相对而言某些本身没有被屏蔽的网站访问要快一些,同时翻墙用的VPS主机的负载也要小一点,缺点是需要维护相对较为庞大的squid的配置列表同时squid的缓存劫持还比较麻烦,需要linux系统支持,我没有在我的Tomato和OpenWRT上实现过,而且Squid的体积相对非常庞大,对于路由器的小体积而言是个大负担 于是广大淫民不断的探索,终于基于ipset第三种翻墙策略也孕育诞生了。 其基本原理是在访问网站解析域名的同时,将设置为需要翻墙的域名解析到的ip地址存入ipset的对应set中,然后在iptables中对于这些存入特定的set的ip地址的网络连接自动走s绕行。 要完成这个,需要三个必要条件,一是路由器支持ipset,二是dnsmasq支持ipset,三是iptables支持ipset包 我是在tomato的shibby版的mod上做的,因为下载的是all in one版本,所以所有的软件都自带了 首先运行一下ipset 如果不是报告-bash: ipset: command not found,那就是支持ipset了 然后运行一下iptables -m set -h 如果最后有set match options:等等字样,就说明你的iptables是支持set option了 最后运行一下dnsmasq --help|grep ipset 如果能看到ipset的相关说明就说明dnsmasq是支持的了(这货如果不支持也可以有其他的办法绕过,可以去搜索一下ipset-dns这个包) 相比用ip地址段翻墙,这个的配置很简单,核心是dnsmasq的配置文件,因为tomato的dnsmasq.conf 不可以太长(更加重要的是这个文件是每次重启dnsmasq自...

统计连接到某个端口的IP的数量

这个主要是Shadowsocks要用到,因为公车了之后经常会有各种的IP连上来 netstat -nat|grep -i "9527"|awk '{print $5}'|cut -d ":" -f1 |sort |uniq -c|sort -n

在华硕RT-N16上安装OpenWRT

图片
这货其实无比好装,虽然之前被绕了很多弯子 简单的说,它有个特性,就是自带了刷不死,无论你怎么刷系统,变砖了也好,只要你拔掉电源,然后按住RESET按钮,再插上电源,它就会自动进入TFTP模式,所以你只管刷,除非它硬件损坏,否则是不会挂的 之前被误导一直是因为官方的OpenWRT的 WIKI 上说它只是被第三方所支持,所以我一直跑去刷哪个 第三方的固件 ,但是经测试,这个第三方固件的r36828版才是可以刷的 也就是 http://openwrt.razvi.ro/barrier_braker_asus_rt-n16_svn_r36828/openwrt-brcm47xx-squashfs.trx 这个固件是可以刷的版本,但是它也有很多问题,比如它的系统版本过低导致无法使用Trunk的仓库,有很多软件会有异常——比如iptables geoip 最后搞得我不得不拆机解决问题 这货拆机非常简单,把四个踮脚卸下来,然后前盖就可以直接取下来了 TTL线的旁边还有标注接口的名称,链接也是毫无问题,只需要注意不要接VCC就可以了 但是倒腾了半天之后我才发现这货在最新版trunk中已经被支持了—— 直接用 这个 固件就好了 刷机的方式也很多样化,你可以曲线救国的方式,先刷DD然后升到OpenWRT 也可以直接TFTP刷机,用第三方的工具,或者华硕自己带的FW修复工具都可以,只需要把自己的IP指定为192.168.1.2,然后向192.168.1.1中灌入固件就可以了 但是现在的固件可以看到的问题有—— WIFI灯不亮,这个据说是无解 不支持802.11n,这个暂时对我来说不妨碍使用