本地dns服务器

isp那破dns不存在的就域名劫持到广告页面,这个很不爽 本地开个dns服务器挺好挺好

下载个TreeWalk http://www.ntcanuck.com/downloads.htm

步骤一: 将软件“TreeWalk”下载并解压,双击“TreeWalk”安装图标,安装向导将引导你完成整个安装过程(依默认方式安装即可)。

步骤二: 安装完毕,TreeWalk DNS服务就自动开启,本机的首选DNS服务器地址也会自动被设置为“127.0.0.1”(TreeWalk旧版本中要手动设置,而在Win2000系统中由于是保留地址,需要借助另外的工具来设置),而原来的ISP的DNS服务器自动被设置为备用DNS服务器,然后本地DNS服务器就开始工作了。

小提示:要手动打开/关闭TreeWalk DNS服务,只要在任务栏中单击“开始”按钮,再依次选择“程序→TreeWalk→service→Start DNS service/ Stop DNS service”项即可。如果选择“Stop DNS service”项关闭本地DNS服务器,系统会自动调用ISP的DNS服务器继续工作。

步骤三: 如果要确认当前为网络提供DNS服务的是否本地 DNS服务器,只要在Windows下打开“命令提示符”窗口,输入“nslookup www.qq.com”命令后回车,然后从显示的DNS服务器信息中得出结论。

关于openwrt pppoe拨号自动断线问题

从网上查找到的资料
如果您发过成功连线 Internet 后,经常无故断线。查看 pppd 的日志。
Jan 14 19:39:52 diictodon pppd[5616]: No response to 5 echo-requests
Jan 14 19:39:52 diictodon pppd[5616]: Serial link appear to be disconnected.
Jan 14 19:39:52 diictodon pppd[5616]: Connect time 4.5 minutes.
如果发现类似上的讯息,可能是 echo-request 问题。检查 /etc/ppp/options 应会发以下选项:
编辑vi  /etc/ppp/options
lcp-echo-interval 10
lcp-echo-failure 5
这表示系统 10 秒会向 ADSL 服务器发出 echo request 以确认连线是否正常。如果 ADSL 服务器 50秒 (10秒 x 5) 都没有回应,系统会假定连线有问题,自动断开。您可以把 lcp-echo-failure 加大至 15 :
lcp-echo-interval 30
lcp-echo-failure 15

我将设置改成了
lcp-echo-failure 5
lcp-echo-interval 60
看看效果如何

#debug
logfile /dev/null
noaccomp
nopcomp
nocrtscts
lock
maxfail 0
lcp-echo-failure 15
lcp-echo-interval 60

lighttpd+sqlite+mysql+php

安装软件包
lighttpd
lighttpd-mod-access
lighttpd-mod-alias
lighttpd-mod-cgi
lighttpd-mod-fastcgi
libsqlite2
libsqlite3
php5
php5-cgi
php5-fastcgi
php5-mod-ctype
php5-mod-pdo
php5-mod-pdo-sqlite
php5-mod-session
php5-mod-sqlite
php5-mod-mysql
php5-mod-pdo-mysql
php5-mod-tokenizer
php5-mod-mbstring
php5-mod-session
php5-mod-sockets
php5-mod-xml

配置lighttpd
vi /etc/lighttpd/lighttpd.conf
server.modules = (
“mod_access”,
“mod_fastcgi”,
“mod_alias”
)
server.document-root =”/mnt/www” 改为网页所在路径
index-file.names = ( “index.php”,”index.html”, “default.html”, “index.htm”, “default.htm” )
增加 url.access-deny = ( “~”, “.inc”,”.sqlite” )

【#fastcgi.server = (
# “.php” => (
# “localhost” => (
# “host”=>”127.0.0.1”,
# “port”=>1026,
# “socket” => “/tmp/php-fastcgi.socket”,
# “bin-path” => “/usr/bin/php”
# )
# )
#)】改为
【fastcgi.server = (
“.php” => (
“localhost” => (
“socket” => “/tmp/php-fastcgi.socket”,
“bin-path” => “/usr/bin/php-fcgi”
)
)
)】或
【fastcgi.server = (
“.php” => (
“localhost” => (
“host”=>”127.0.0.1”,
“port”=>1026,
“bin-path” => “/usr/bin/php-fcgi”
)
)
)】

编辑php.ini
vi /etc/php.ini
doc_root = “/www” 改为网页所在路径
修改上传文件路径和大小
file_uploads = On
upload_tmp_dir = “/mnt/sda1/phproot/tmp” 上传文件路径
upload_max_filesize = 200M 上传文件最大尺寸
max_file_uploads = 20

去掉下列项目extension前的分号
extension=gd.so
extension=ctype.so
extension=pdo.so
extension=pdo_sqlite.so
extension=session.so
extension=tokenizer.so
extension=mbstring.so
extension=pdo_mysql.so
extension=sockets.so
extension=mysql.so
extension=xml.so
extension=xmlreader.so
extension=xmlwriter.so
extension=sqlite.so
extension=sqlite3.so

去掉前面注释.
date.timezone = Asia/Chongqing

配置mysql

安装完以后,首先要建库
运行 /usr/bin/mysql_install_db –force
它好像是提示找不到路径 /mnt/data什么的,如果是这样,你就自己先去它说的地方建一个目录先,让它生成以后我们再移到要放到地方。

让它建完库后,在/etc目录下应该会多了一个my.cnf文件
其中有两个地方要注意一下
1, datadir                = /mnt/data/mysql/
        刚才它就是要求我们装在这个,你可以把它改成你要存放的路径(记得要它里面的所有文件复制到修改后的目录下)
2, bind-address                = 127.0.0.1
        这个127.0.0.1要把它改成0.0.0.0,这样路由以外的机器才能访问数据库。
编辑后保存退出

现在,设置基本就完成了
运行服务
运行  /etc/init.d/mysqld start
如果没有报错,恭喜你,你设置成功了
直接运行 mysql 应该就能进入管理模式了。

附言:
刚开如我是用mysql-gui-tools-noinstall-5.0-r17-win32这个工具去测试路由以外的设置能不能连上服务器的,录入了路由IP及用户名后,它提了一个报错,说拒绝接入之类的,安装完MySQL后,远程连接数据库的时候,出现 ERROR 1130 (HY000): Host ’192.168.0.1’ is not allowed to connect to this MySQL server提示信息,不能远程连接数据库。考虑可能是因为系统数据库mysql中user表中的host是localhost的原因,于是,我尝试把这个值改为自己服务器的ip,果然就好用了,不过用 mysql -u root -p命令就连不上数据库了,需要用mysql -h 服务器ip -u root -p因为默认的连接mysql数据库user表中host的值,而这个命令的默认host是localhost,就连不上了。

具体操作方法:

用localhost连接上mysql后,
use mysql;
update user set host=’123.456.789.254’;(IP为你想要远程连接数据库的本地机器的IP)
\q;

退出mysql,然后重新启动mysql就可以了。

其他解决方案

下面这个方法比较NB

2. 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
mysql -u root -pvmware
mysql>use mysql;
mysql>update user set host = ’%’ where user = ’root’;    //这个命令执行错误时可略过
mysql>flush privileges;
mysql>select host, user from user;

3. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’%’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’192.168.0.1’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION;

测试info.php
phpinfo();
?>