跟 UMU 一起玩 OpenWRT(入门篇11):文件共享

需求

组建文件共享服务。

解决

文件共享可以通过 FTP/FTPS、SFTP、NFS、Windows 文件共享(网上邻居)。其中 FTP/FTPS、SFTP 需要先下载,无法“直接打开”,实用性较差就不介绍了,重点放在 Windows 文件共享,最后再简单介绍一下 NFS。

Windows 文件共享

OpenWRT 使用 samba 提供 Windows 文件共享服务。如有条件应该使用 samba4,安装命令为:

1
2
3
4
opkg update
opkg install samba4-server
# 如果 samba4 不可用,则安装 samba3.6
# opkg install samba36-server

参考:

如果配置后,无法正常访问,您可以参考一下《Windows 7 无法访问 NAS 或 Samba 服务器之解决》。

NFS

NFS 和 Windows 文件共享是两大文件共享服务,NFS 在 Linux 设备之间的传输效率高于 samba,但大部分客户端都是 Windows,所以 UMU 更推荐 samba。

参考:

跟 UMU 一起玩 OpenWRT(入门篇10):穿透内网

UMU 把路由器放在公司,然后在家里想登录它,这时候就有一个问题:如何穿越到公司内网呢?本文给出的一种解决方案:SSH 反向连接。涉及的软件是 autossh。

您需要准备一台有固定外网 IP 的服务器,UMU 使用的是某某云主机(避免广告嫌疑就不说了,呵,广告位招租),如果不想出钱购买,可以用家庭 ADSL + 动态域名代替,效果可能差一些,但基本可用。

为了更清晰地说明,列一下各个角色:

  1. 控制端:UMU 的笔记本,不管在什么网络,都要求能够连接到放在公司的路由器;

  2. 中转服务器:一台某某云主机,固定 IP,用 cloud_ip 表示;

  3. 被控端:放在公司的路由器,内网 IP,用 internal_ip 表示。

基本原理:让被控端主动连接中转服务器,然后控制端连接中转服务器,就可以间接连接被控端了。

被控端安装、设置,主要参考:http://wiki.openwrt.org/doc/howto/autossh

1
2
3
4
opkg update
opkg install autossh
dropbearkey -t rsa -f /etc/dropbear/id_rsa
dropbearkey -y -f /etc/dropbear/id_rsa | grep ssh-rsa

把上面最后一行命令的输出复制下,注意只有一行,待会儿要上传到中转服务器。或者也可以把最后一条命令改为打印到文件,再用 WinSCP 下载到本地。

1
dropbearkey -y -f /etc/dropbear/id_rsa | grep ssh-rsa > /tmp/pubkey

查看一下 autossh 配置:

1
uci get autossh.@autossh[0].ssh

如果没有问题,就把中转服务器的信息设置上去:

1
2
uci set autossh.@autossh[0].ssh='-i /etc/dropbear/id_rsa -f -N -T -R 2222:localhost:22 <user>@<cloud_ip>'
uci commit

接下来登录到中转服务器(Linux Server,如果是 OpenWRT,要把以下的 ~/.ssh/authorized_keys 换成 /etc/dropbear/authorized_keys),把公钥(/tmp/pubkey)上传:

1
2
3
4
5
6
7
8
echo "key 内容" >> ~/.ssh/authorized_keys
## 或者
#cat pubkey >> ~/.ssh/authorized_keys
chmod 0700 ~/.ssh/
chmod 0600 ~/.ssh/authorized_keys
vi /etc/ssh/sshd_config
## 改为允许证书登录
service sshd restart

/etc/ssh/sshd_config 需要打开的有:

1
2
3
4
5
6
7
RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

GatewayPorts yes

到路由器上测试:

1
ssh -i /etc/dropbear/id_rsa -f -N -T -R 2222:localhost:22 <user>@<cloud_ip>

如果成功则大功告成,以后只需要 ssh 到中转服务器的 2222 端口就等于连接到路由器了。最后配合本地端口转发,可以连接很多内网机器了。如下图:

Putty

再加一台路由器,用于做本地端口转发,就可以让 Surface、iPad 之类的设备也能快乐地穿透到内网了。

公司组织旅游,是到女同事A的家乡一带,所以她说可以带我们自助游,住宿也可以自己安排,稣想是两男一女应该不会被误会,咳咳,稣可不能接受那啥…而且他们俩比较熟,但都不是单身,稣是打酱油的,他们都可以,稣也就同意了。

刚到就天黑了,直接去住宿,尼玛…是一个大房里有小房间,看起来是民宅,所以比较便宜,男同事B习惯早睡,居然直接倒头便睡…稣撸撸手机,熬一下睡,结果听见A大叫有鬼啊!然后吓跑逃出…

稣和B都起来了,表示鬼你妹啊,玩我们?B说无聊,继续睡了!好淡定,哈哈!

然后稣,见A好久都不回来,电话也不通,开始担心,就去大厅找工作人员帮忙,工作人员说可能两个女生出去逛街了吧!然后稣一惊,什么两个女生…一看住房登记才知道我们是两男两女入住,还有一个女同事C…吓屎了,稣給她打电话,铃声从床底传来,啊…原来她被A杀了,然后立刻变鬼来报复A,嗯,好合理的剧情,反正不是稣干的,稣就安心地睡了。第二天醒来,才知道,只是一个梦…

跟 UMU 一起玩 OpenWRT(入门篇9):远程监听

需求

在《跟 UMU 一起玩 OpenWRT(入门篇8):网络摄像机》介绍的 mjpg_streamer 并不能传输声音,所以有了本文!

参考

http://forum.anywlan.com/thread-282658-1-1.html

安装

1. 示例硬件信息

硬件还是选用微软 LifeCam HD-3000,您也可以去淘个便宜的带麦克风的 USB 声卡。

2. 安装程序

1
2
3
opkg update
opkg install kmod-usb-audio
opkg install icecast

如果您打算使用 ogg 格式则安装 ices:

1
opkg install ices

用 mp3 格式则安装 darkice:

1
opkg install darkice

3. 配置

ices 的配置文件(ices-oss.xml)可以去官网(http://www.icecast.org/ices.php)下载整个压缩包,里面有。

经验

由于涉及声音编码,需要大量计算,经过实践,CPU 才 400MHz 的 DIR-505,无论是 ogg 还是 MP3 格式都卡成翔……

请用配置更好的路由器测试,比如如意云 RY-01 的 CPU 是 600MHz 的,勉强可行。

跟 UMU 一起玩 OpenWRT(入门篇8):网络摄像机

需求

买了一个微软 LifeCam HD-3000,已经过了视频聊天的年纪,插到 DIR-505 玩一下吧。

安装

安装过程出奇简单:

1
2
opkg update
opkg install kmod-video-uvc

如果安装失败,看看是不是固件应该升级了,请参考《跟 UMU 一起玩 OpenWRT(入门篇5):升级固件》。

插上摄像头,检查一下 /dev/video0 是否存在,如果不存在,reboot 一下,如果存在,接下来安装和运行应用:

1
2
3
4
5
opkg install mjpg_streamer
# 使用 MJPG 格式,推荐:
mjpg_streamer -i "input_uvc.so -d /dev/video0" -o "output_http.so -p 8080 -w /www/webcam"
# 使用 YUV 格式,多了一个 -y 参数,比较慢,不推荐:
mjpg_streamer -i "input_uvc.so -y -d /dev/video0" -o "output_http.so -p 8080 -w /www/webcam"

其它可选输入参数,例如:

-r 320x240 设置分辨率为320x240

-f 10 设置刷新率

设置用户密码,加输出参数:

-c user:password

调试

打开浏览器,输入 Mhttp://192.168.1.1:8080/,如果没问题,参考网页上的说明操作即可。

由于 DIR-505 性能一般,效果可能不理想,建议在更高配置的路由器上尝试。

如意云使用经验

优点

玩了好多个路由器,有传统,有所谓智能,还是比较赞赏如意云,相反的,之前已经吐槽过小米和圾路由。下面就来说说如意云的好处吧!

  1. 生态完善,支持的移动设备多,连 WP8/8.1 都支持了,UMU 主要手机是 Lumia 822,这个很满足,还有 PC 客户端,方便 PC 和移动设备之间同步数据。插件齐全,虽然很多插件没具体玩过,但至少看数量是不输圾路由的。

  2. 很好滴继承 OpenWRT 的开放性,天生 root 了,或者专业点说,SSH 服务没关闭,直接连,省去很多烦恼,用小米或圾路由,老是怕一升级就要重新 root,好讨厌的感觉……还可以刷 PandoraBox:http://downloads.openwrt.org.cn/PandoraBox/RY-1/

  3. 性价比不错,RY-01 才 81 元,从配置、功能、稳定性来比,差不多价位的传统路由完全不必考虑了。虽说运行内存和外壳材料方面不如圾 1S,但 USB 接口带来不少扩展性是圾 1S 没有的,而且 1S 要 109 元。

  4. 观其高配版 RY-02 配置也不落人后,后劲十足。

    这不是广告:要买的话,千万不要去迅雷商城,那边是 99 元,苏宁还是 81 元。

槽点

  1. 很丑……一股廉价感,还真是对得起价格;

  2. 如意云的 WiFi 密码不能用,.#&等特殊字符,好撒币的做法……

  3. WiFi 信号不如极路由 1S,虽然差距不大,但 UMU 还是通过实测数据挖掘出这个真相。