标签归档: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的怀抱…

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的包管理模式)

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

关于”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用户的主目录的问题

 

搭建NTP服务器

嗯,再晚一点的话就差不多该晚上断电了。可是如果运行Blog的话就对时间有着严密的要求。可是每次断电启动之后,路由的时钟都会恢复,怎么办呢,于是就想到了,干脆自己搭建一个吧。于是在一份完整的教程下,完成了ntp时间服务器的搭建,嗯,以后就不怕了哈~

参考:http://hi.baidu.com/sxpo/blog/item/f9c4ba11f4c54e72cb80c47d.html


同步时间。
如果不做域控制器又想有ntp,方法见下面。
(摘自 http://support.microsoft.com/kb/816042/zh-cn

  1. 将服务器类型更改为 NTP。为此,请按照下列步骤操作:a. 单击“开始”,单击“运行”,键入

regedit,然后单击“确定”。
b. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
c. 在右窗格中,右键单击“Type”,然后单击“修改”。
d. 在“编辑值”的“数值数据”框中键入 NTP,然后单击“确定”。

  1. 将 AnnounceFlags 设置为 5。为此,请按照下列步骤操作:a. 找到并单击下面的注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
    b. 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。
    c. 在“编辑 DWORD 值”的“数值数据”框中键入 5,然后单击“确定”。
  2. 启用 NTPServer。为此,请按照下列步骤操作:a. 找到并单击下面的注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
    b. 在右窗格中,右键单击“Enabled”,然后单击“修改”。
    c. 在“编辑 DWORD 值”的“数值数据”框中键入 1,然后单击“确定”。
  3. 指定时间源。为此,请按照下列步骤操作:a. 找到并单击下面的注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
    b. 在右窗格中,右键单击“NtpServer”,然后单击“修改”。
    c. 在“编辑值”的“数值数据”框中键入 Peers,然后单击“确定”。

注意:Peers 是一个占位符,应替换为您的计算机从中获取时间戳的对等端列表(以空格分隔)。列出

的每个 DNS 名称都必须是唯一的。必须在每个 DNS 名称后面附加 ,0x1。如果不在每个 DNS 名称后面

附加 ,0x1,则在步骤 5 中所做的更改将不会生效。
车里焖 原创
5. 选择轮询间隔。为此,请按照下列步骤操作:a. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\Specia

lPollInterval
b. 在右窗格中,右键单击“SpecialPollInterval”,然后单击“修改”。
c. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

注意:TimeInSeconds 是一个占位符,应替换为您希望各次轮询之间的间隔秒数。建议值为 900(十进

制)。该值将时间服务器配置为每隔 15 分钟轮询一次。

  1. 配置时间校准设置。为此,请按照下列步骤操作:a. 找到并单击下面的注册表子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection
    b. 在右窗格中,右键单击“MaxPosPhaseCorrection”,然后单击“修改”。
    c. 在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。
    d. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您

选择的值将因轮询间隔、网络状况和外部时间源而异。
e. 找到并单击下面的注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection
f. 在右窗格中,右键单击“MaxNegPhaseCorrection”,然后单击“修改”。
g. 在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。
h. 在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您

选择的值将因轮询间隔、网络状况和外部时间源而异。

  1. 退出注册表编辑器。
  2. 在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:
    net stop w32time && net start w32time

基础软件包

参考: http://hi.baidu.com/f_fx/blog/item/9bf3b76e4266f9d781cb4ab2.html,另外根据Backfire版本,部分软件有变更

注:本人只是打算用一下来脱机BT,跑一下网站什么的,所以多WAN什么,USB声卡什么,摄像头什么都没有装

opkg install luci-i18n-chinese #Luci汉化界面

opkg install kmod-nls-base kmod-nls-iso8859-1 kmod-nls-utf8 #语言组件

opkg install kmod-usb-core kmod-usb2 kmod-usb-storage #USB驱动

opkg install kmod-fs-ext3 kmod-fs-ntfs kmod-fs-vfat #分区格式支持

opkg install ntfs-3g fdisk e2fsprogs #分区管理工具

opkg install blkid block-mount #blkid用于查看USB设备uuid信息 block-mount,安装之后luci的System–Mount Points下可以直接查看挂载点信息。

opkg install block-mount block-hotplug block-extroot #用于将系统扩展到U盘,详见之前的文章