博文

目前显示的是标签为“路由器”的博文

远程记录OpenWRT日志

默认的OpenWRT日志放在/tmp/log下,这样有个问题就是每次重启就会丢失全部的日志,于是公司的路由器每次重启之后连为什么重启都不知道 于是就想办法把日志迁移出来,好在OpenWRT本身就附带了远程日志打印功能,于是直接在内网中开一个rsyslog服务器就可以了 在/etc/rsyslog.d/下新建一个router.conf 内容如下: module(load="imtcp") module(load="imudp") input(type="imudp"      port="514"      ruleset="routerSet") input(type="imtcp"      port="514"      ruleset="routerSet") # rsyslog RuleSets ruleset(name="routerSet") {     action(type="omfile"         File="/var/log/router.log") } (这个配置文件可以在 http://www.rsyslog.com/rsyslog-configuration-builder/ 生成) 接下来启动一下rsyslog服务就可以了 systemctl restart rsyslog 在OpenWRT端需要做的工作: vim /etc/config/system 在config system下增加这么几行         option log_remote '1'         option log_ip '192.168.0.13'  # 你的日志i服务器内网IP         option log_port '514'         option log_size '0'  # 如果不加这个可能会丢失部...

适用于安装了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

利用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自...

用OpenWRT打造自动翻墙路由器(详解篇)

最初先调整一下bash ,让它符合自己的工作习惯: 到vim /etc/profile,可以在里面设置自己想要的alias 比如我加了一行: alias ll='ls -al' 然后就装图形显示界面再说 首先update一下 opkg update 安装luci opkg install luci 设置luci自动启动 /etc/init.d/uhttpd enable 结果告诉我 /etc/rc.common: line 1: procd_add_reload_trigger: not found 坑爹,搜索了一下发现是因为我的固件版本与软件仓库的版本不符,导致软件与系统组件不搭配所致,后来发现是 新版的OpenWrt更新了而已,于是我升级了一下系统就好了 ,如果你无法升级系统,那么可以按照下述方式解决: 先把安装的那些个用不了的一个个卸载掉 opkg remove luci opkg remove uhttpd-mod-ubus opkg remove uhttpd 修改opkg的配置,修改到以前的仓库 vim /etc/opkg.conf 注释掉原有的仓库地址,改用旧的 #src/gz barrier_breaker http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages src/gz barrier_breaker http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages 然后在opkg update一下,继续 opkg install luci opkg install luci-i18n-chinese 这次在/etc/init.d/uhttpd start 的时候就不会报错了 然后稳妥的进入luci的Web界面,修改一下时区、界面语言之类的 接下来的工作是 修改防火墙的设置,让远端的HTTP和SSH能够通过 vim /etc/config/firewall config rule                ...

给HG255D刷OpenWRT

图片
可能是给自己的AG300H刷OpenWRT宣传得太多了,于是同事也让我刷,东西是很便宜的HG255D,这东西可以说满大街的都是文章介绍怎么给他刷的,也被很多人认为是神器一般的存在,网上也有一大堆的改造版、升级内存了的HG255D,所以导致这个东西反倒有点众说纷纭,虽然都说简单,但是我还是花了接近一晚上的时间才搞定。 以下记录一下怎么给它刷ralink版的u-boot和最新的pandorabox改版的OpenWRT 首先我手头的这台的HG255d是32M内存的版本,我也搞不清楚这个路由器到底原生是多少M内存了,网上满天飞的都是64M的版本,也有地方介绍u-boot是支持16M的,于是这台到底该没改过,我也不知道。 然后参考的网页是这里: http://downloads.openwrt.org.cn/OpenWrt-DreamBox/HG255D/ (主要提供资料和文件下载) http://site.douban.com/148965/widget/notes/7526769/note/228371035/ (也有人说简单一点可以走这个方式,但是我没有成功,到升级的那一步卡住了) http://www.anywlan.com/forum.php?mod=viewthread&tid=182901 (我的最终流程类似这个,但是所用的u-boot和最终OpenWRT版本变化了) http://pan.baidu.com/s/15TFZY (我自己用到的全部工具,包括了一个USB-TTL的转接器在Win8下的驱动) 以下为详细步骤: 要刷u-boot,TTL是少不了的,首先准备好TTL,接线方式如下图 图中从左至右依次RX、VCC、GND、TX 连接TTL的时候注意, 不要接VCC线,否则无法正常工作 ,原理暂不明,我本职工作也不是硬件工程师,也不追究了,具体连接电脑的方式参看我之前的 帖子 拔掉路由器的网线,保证TTL连接好了之后开机,然后不停的按键盘的“4”进入console  去下载一个TFTP32,保证它和你的u-boot在同一个文件夹下,我用的u-boot是u-boot-rom-hg255d_hg256.bin,(其实上面那个链接里也有提供更新的版本,但是可惜的是,我刷上去不能用)  把...

WZR-HP-AG300H安装OpenWRT和自动翻墙代理

图片
前两天在淘宝入手了一个2手的AG300H,是日产的中古货,比行货便宜了接近一半,比较超值,加上那惊人的128M内存,由衷的打动了我,于是入了一个开始准备折腾OpenWRT 寄过来的时候就刷好了DD-WRT,理论上这个时候去下载一个Factory升级包直接升级就能到OpenWRT了,但是我脑一抽,给升级到 官方的1.78版 了,这下无论选择退回到官方的1.77,还是选择升级到其他的版本的DDWRT,它统统报告说是不合法的Rom了 不得已,我选择使用TFTP来进行升级,这个方法 网上也都有 ,大致的操作流程如下: 修改本地IP到192.168.11.2(必须是这个IP,可以同时添加多个IP地址,Windows、Linux下都可以,不妨碍操作) 添加固定路由,arp -s 192.168.11.1  02:AA:BB:CC:DD:20 (必须是这个硬件地址,后面连接TTL的时候看路由器启动的命令行就明白为什么了,如果是Windows 7或7以上的话,命令有所不同,参看 这里  ——反正就是它禁用了arp命令,必须要改用netsh命令来完成) 下载你要升级的Rom的TFTP版本,DD-WRT的话,下载地址在 这里 ,如果是OpenWRT的话,下载地址在 这里 ,选择带tftp字样的下载链接。 如果是Linux下,首先安装tftp,yum install tftp、apt get install tftp……,然后拔掉路由器的电源,输入 tftp 192.168.11.1 verbose bin put xxxx(这是你下载的rom的名字) 然后你不要回车,开始接通你的路由器电源,盯着它开机,你会看到依次是红灯点亮、然后红灯灭一下然后所有的灯都亮了……这时候立刻回车,等着它提示完成 如果是在Windows下,如果是Win7,首先到控制面板、系统组件中安装TFTP组件,然后到命令行输入tftp -i 192.168.11.1 put xxxx(这是你下载的rom的名字) 然后也是一样的,不要回车,接通你的路由器电源,盯着它开机,你会看到依次是红灯点亮、然后红灯灭一下然后所有的灯都亮了……这时候立刻回车,等着它提示完成 提示上传完毕之后,等待10分钟左右(一定有这么长的时间,文件上传之后,系统会先解包,然后格式化所有扇区、写入操作系统,然...