分类目录归档:OpenWrt

对OpenWRT的研究

proftpd:无法启动

嘛……因为新买了的路由只有trunk版,可是trunk版并没有vsftpd,只有proftpd,这下子麻烦了,又要重新接触一个新的软件……嘛,就稍微研究了一下。

继续上参考:

http://www.deepvps.com/proftpd-failed-to-start.html

——————————————————————————-

愚蠢的proftpd啊,居然连自动分析IP都不能,如果没有在配置文件里面写上IP的话就死活不能启动 (= =b),真是够愚蠢的。

如果出现了

- warning: unable to determine IP address of 'OpenWrt'
- error: no valid servers configured
- Fatal: error processing configuration file '/etc/proftpd.conf'

之类的文字,就在配置文件里面加上服务器的IP吧

DefaultAddress 192.168.11.1

之后就能成功启动了

结果最后发现该死的,编译的时候没有加入语言支持,最后不得不放弃这软件,投入pure-ftpd的怀抱…

su: /bin/sh: Permission denied

嗯,出现这个问题好几次了,于是就稍微记录一下。

参考:http://sunrenen.iteye.com/blog/796187

 

出现这个问题的原因是切换过去的那个账户无法访问某些文件,包括

/
/bin/sh
/lib/ld-***.so

这堆文件都能被访问,问题就没问题了~

chmod 755 /bin /sbin /lib

OpenWRT上使用macvlan

这个东西是多拨的基础,嗯,虽然我对多拨没有兴趣,但是对这个单线多WAN的技术相当感兴趣,于是稍微研究了一下,折腾了一阵子终于成功了。

参考:

使用macvlan+multiwan 单线多拨 教程 

 

首先,安装软件包:

opkg install kmod-macvlan

会顺便装上另外一些基础包。

然后就是创建虚拟的物理网卡

ip link add link eth1 eth2 type macvlan

ifconfig eth2 hw ether 00:11:22:33:44:55

ifconfig eth2 up

注意上面的eth1对应你打算创建虚拟网卡的物理网卡(就是插着线的个网卡),eth2是新建的虚拟网卡,当然你也可以写成eth3,eth4等,就看你建多少个网卡了。

因为每次重启这个虚拟的网卡都会消失,所以就把自己写的命令加到/etc/rc.local里面去,以便每次启动就自动加载。

接下来就是新建wan口的事情了,比较推荐在luci下操作,因为比较直观,如果想靠命令行的话,就手动修改/etc/config/network,按照以下格式增加wan口。

wan口使用dhcp获得地址:

config ‘interface’ ‘wan2’

option ‘ifname’ ‘eth2’

option ‘proto’ ‘dhcp’

或者是用静态IP:

config ‘interface’ ‘wan2’

option ‘ifname’ ‘eth2’

option ‘proto’ ‘static’

option ‘ipaddr’ ‘192.168.1.51’

option ‘mask’ ‘255.255.255.0’

option ‘gateway’ ‘192.168.1.1’

option ‘dns’ ‘192.168.1.1’

或者是pppoe

config ‘interface’ ‘wan2’

option ‘ifname’ ‘eth2’

option ‘proto’ ‘pppoe’

option ‘username’ ‘username’

option ‘password’ ‘password’

option ‘defaultroute’ ‘1’

option ‘peerdns’ ‘1’

呵呵~想想我们学校……啧~刚好入手一只WZR-HP-AG300H,千兆网口什么的完全不能发挥作用啊,干脆就建10个wan好了~

一直以来藐视Samba是我的错

不知为何,一直以来都不怎么喜欢Samba的文件管理方式,直到昨天,多手把luci-app都装了一遍,其中有个Samba,就用上了。

在Windows上访问了一次之后,我擦嘞,居然可以直接打开!不用缓存!直接看在U盘上的视频完全不是问题啊。下载到电脑之后再看什么的弱爆了!

于是果断把移动硬盘换上去,啧,直接看自动硬盘上的300G资源啊,爽!

不过由于自动硬盘的格式是ntfs,用ntfs-3g挂载之后访问是没什么问题,不过太吃CPU了啊,而且似乎挂500G的移动硬盘还是有点吃力,看视频会卡,不知是无线的问题还是CPU的问题,以后再研究。

原来自己无知的东西还有很多啊。

使用SSH代理

嗯,最近因为某些原因开始研究SSH代理,这是个好东西啊!只需要一枚SSH密码/密钥文件,就可以进行安全的代理,相当的神奇。至少不会被扫描出有开代理服务。嗯,开始着手吧~

参考:

1.上班族ssh tunnel求生手冊

2.如何使用RSA密钥登陆ssh

;

ssh创建sshtunnel的命令是

ssh -NfD bind_addres:port remote_ip

这样就可以创建一个一个ssh代理了,类型是socket4/5,端口是port。

bind_address自己看着写,在于自己搭建的端口要向那个网卡提供服务。

;

问题由来了,可不可以直接登录而不输入密码呢?如果要输入密码的话,就不能让这个代理自动启动(使用autossh)了。

答案就是使用密钥文件。好吧~我为此曾经纠结不了不知多久,因为总不能使用密钥文件来登录。终于在参考2里面找到了答案:因为dropbear的配置没有启用密钥文件登录(后来才找到怎么弄)于是换了一个openssh(方法在最后补上)。并且参照参考2打开了密钥文件登录

;

找到/etc/ssh/sshd_config

找到并消除注释(添加)

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

;

,然后,ok。

详细的操作过程如下:

ssh-keygen -t rsa

会询问密钥文件名称,输入密码(如果用MAC OS的话要记住,似乎第一次使用的话会询问),确认密码

简单点的话直接3个回车就可以了。

然后找到~/.ssh/id_rsa.pub,将里面的内容复制到服务器端的~(用户文件夹)/.ssh/authorized_keys文件里面。然后重启sshd,就可以用密钥文件登录了。

;

;

接下来是补课时间……将ssh服务器从dropbear换成openssh的方法

先安装openssh-server

然后在网页界面或是telnet关掉dropbear的自启动,然后结束掉dropbear,再打开sshd的自启动,打开sshd。嗯,好了。

;

Openwrt顺利地完成更新

昨天在www.openwrt.org.cn看见有rc6的放出,于是赶紧的更新了。

因为路由的话是用了extroot,所以软件包都在U盘上,于是很多软件包有更新,于是只有逐个逐个upgrade,不过有几个包被标记为“hold”,无法升级,所以这时候,直接加上“–force-reinstall”就可以升级了。

至于一个虚拟机上的……嗯,那就麻烦多了因为是x86架构,所以挑升级固件的时候好像挑错了,直接在网页界面升级之后无法打开。于是不得已,重新下载了一个硬盘镜像来转格式,转格式使用的是qemu,陌生的很,只得跟着教程走,顺便记录一下命令

qemu-img convert -f raw openwrt-x86-ext2.image -O vmdk openwrt-x86-ext2.vmdk (灰色部分为文件名,自行修改)然后重新载入,安装软件……嗯大概就是这样啦

大神器发现!猫大的神器  DDNAS 1.2G 512M的 双SATA 双千兆NAS

CPU Marvell 88F6281 1.2G

RAM 512MB

SATA 2口(SATA2.0)

USB2.0 4口(其中两个是插针方式)

WIFI minipci-e Atheros ABGN(可选)

千兆LAN 2口 (软件设定一个为lan,一个为wan)

FLASH 16MB

系统 出厂默认OpenWRT, 到手刷机可选 OpenWRT+debian (openwrt的内核,Debian的包管理模式)

大杀器啊!!!好想入手啊!!!

Openwrt上的Socket Proxy搭建

Socket Proxy搭建的话使用的是名叫“srelay”的软件,设置什么的非常简单

只需要找到

/etc/srelay.conf

,并在里面添加上允许的ip地址就可以了。

例如

# allow local subnet to access socks proxy

192.168.1.0/24 any -

0.0.0.0

加粗的部分是新添加上去的,表示允许任意IP通过这个代理服务器

至于更多的用法,输入

srelay -h

以查看

关于”500:OOPS cannot change directory:/home/ftp”的解决办法参考

嗯,最近又重新将路由的OpenWRT固件重新刷了一次,再次装上vsftpd之后,又出现了在匿名登录的时候,会出现

500:OOPS cannot change directory:/home/ftp

的状况,

在网上各种搜索,都是

setsebool ftpd_disable_trans 1 service vsftpd restart

这样的代码……可是似乎OpenWRT并不支持这样的命令,找了一次啊附加的软件包里面,似乎也没有相关的支持,然后我就苦逼了,不带这样玩吧喂,给点提示都好啊,不要再去刷回那个版本的固件吧,很麻烦的啊喂…… 然后,看着http://guyuanli.itpub.net/post/37743/490567这篇文章里面的介绍,突然想到了“用户”这样的存在,就跑去/etc/passwd里面看,果然看见了

ftp:*:55:55:ftp:/home/ftp:/bin/false

这样的一句,然后随手改成了

ftp:*:55:55:ftp:/mnt/ftp:/bin/false

,重启了一下vsftpd,就OK了。看来应该是ftp用户的主目录的问题