分类目录归档:网络

对各种网络问题的研究

大神器发现!猫大的神器  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用户的主目录的问题

 

搭建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

[笔记]cron似乎很好用

参考:http://blog.htmlor.com/2006/07/25/cron_guide/

———————————————————————–

cron用法说明
July 25th, 2006 | htmlor | linux, 技巧 | 4 Comments »

cron的用法老是记不住,索性写下来备忘。下文内容大部分是根据《Cron Help Guide》翻译而来,有些部分是自己加上的。

全文如下:

cron来源于希腊单词chronos(意为“时间”),是linux系统下一个自动执行指定任务的程序。例如,你想在每晚睡觉期间创建某些文件或文件夹的备份,就可以用cron来自动执行。
服务的启动和停止

cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:
/sbin/service crond start
/sbin/service crond stop
/sbin/service crond restart
/sbin/service crond reload

以上1-4行分别为启动、停止、重启服务和重新加载配置。

要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可。
查看、编辑和删除

cron把命令行保存在crontab(cron table)文件里,这个文件通常在 /etc 目录下。每个系统用户都可以有自己的crontab(在 /var/spool/cron/ 下)。要查看当前用户的crontab,输入 crontab -l;要编辑crontab,输入 crontab -e;要删除crontab,输入 crontab -r。如当前是root身份,要查看/编辑/删除/某用户的crontab,只需在相应的命令后加上 -u USERNAME(如 crontab -e -u USERNAME)即可。crontab文件的默认编辑器是vi,可以输入 export VISUAL=’editor’ 更改默认编辑器。

cron服务每分钟不仅要读一次 /var/spool/cron 目录内的所有文件,还需要读一次 /etc/crontab 文件。配置这个文件也能让cron执行任务。使用crontab命令是对用户级任务的配置,而编辑 /etc/crontab 文件是对系统级任务的配置。
语法说明

以下是两个cron语句的例子(在 /etc/crontab 文件里)。前者用来晚间备份 /etc 目录,后者运行Analog程序处理服务器的统计信息。
12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
52 5 * * * root /usr/local/src/analog-5.32-lh/analog >> /dev/null 2>&1

以下是cron语句中的字段与字段说明:字段 说明
1 分钟(0-59)
2 小时(2-24)
3 日期(1-31)
4 月份(1-12;或英文缩写Jan、Feb等)
5 周几(0-6,0为周日;或单词缩写Sun、Mon等)
6 用户名(执行命令时以此用户的身份)
7 要执行的命令(路径)

现在来看第一行:
12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1

这条语句将在每天的凌晨3点12分(03:12)运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。>> /dev/null 2>&1 表示把所有标准输出发送到 /dev/null(linux的回收站),把标准错误输出(2)发送到和标准输出(1)同样的地方(即 /dev/null)。运行这行命令将不会产生任何输出。

这条语句可以变得稍微复杂一点:
30 15 13 6 1 * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1

它将在6月13日周一的15:30运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。

以下语句可以达到同样的效果:
30 15 13 Jun Mon * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1

如果你想以用户joey的身份每小时的第15分钟运行某个程序,可以使用:
15 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1

其中的星号(*)是通配符,表示cron将忽略这个字段。

如果你想每两小时就运行某个程序,可以在小时字段里使用 */2。它将会在2点,4点,6点……22点,24点运行。具体语句如下:
0 */2 * * * joey /usr/bin/somecommand >> /dev/null 2>&1

cron语句中还可以使用逗号(,)来指定多个时间。例如你想在每小时的15分和30分运行某个程序,可以在分钟字段使用 15,30:
15,30 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1

如果你想在每月的第一周(即1号到7号)每天的指定时间运行某个程序,可以在日期字段使用 1-7:
15,30 */2 1-7 * * joey /usr/bin/somecommand >> /dev/null 2>&1

这条语句将在每月的第1-7日每两小时的15分和30分(02:15,02:30……22: 15,22:30等)运行 /usr/bin/somecommand 命令。

如果你想在每天的16:18执行一个脚本集合,可以把所有要执行的脚本放到一个目录中(如 /home/username/cron),可以使用:
18 16 * * * root run-parts /home/username/cron >> /dev/null 2>&1

如果你想保存某个程序的输出结果, 可以把 >> /dev/null 2>&1 替换为 >> /home/user/somecommand.log 2>&1 。
总结
查看当前用户的cron配置,使用 crontab -l
编辑当前用户的cron配置,使用 crontab -e
删除当前用户的cron配置,使用 crontab -r
以root身份查看/编辑/删除某用户的cron配置,在命令后加上 -u USERNAME
配置系统级的任务,编辑 /etc/crontab 文件

(完)

基础软件包

参考: 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盘,详见之前的文章

 

[笔记]让OPENWRT运行在U盘上(2011627)

参考:http://hi.baidu.com/adslchina/blog/item/f29ead35eee0f092a61e12b0.html?

安装各种软件包

  •  USB控制器
opkg install kmod-usb-core kmod-usb-ohci kmod-usb-uhci kmod-usb2 kmod-usb-storage usbutils
  • 文件系统支持
opkg install kmod-fs-ext3 kmod-fs-ntfs ntfs-3g kmod-fs-vfat
  • 磁盘工具
opkg install e2fsprogs blkid
  • 文件系统扩展工具
opkg install block-mount block-hotplug block-extroot

进入luci(始终图形界面还是非常方便啊)

找到“系统”-“挂载点”-“挂载点”-“添加”

当文件系统选择“ext3”的时候,下面就会多出一个选项,将block-extroot挂载到/overlay,钩上,然后重启。

完成