新年献礼:利用ADSL+3322自架服务器。

发表于:2007-07-04来源:作者:点击数: 标签:
首先感谢platinum的热心帮助!在他的帮助下,我解决了总是掉线的问题,才有了这篇文档。 作者:好好先生转载请保留上述信息,谢谢您的配合。 =========================================================================== 这一段时间也太忙了,身体也不好

首先感谢platinum的热心帮助!在他的帮助下,我解决了总是掉线的问题,才有了这篇文档。
作者:好好先生 转载请保留上述信息,谢谢您的配合。
===========================================================================
    这一段时间也太忙了,身体也不好。没有写过什么东西给大家,很是惭愧。今天在platinum的帮助下,终于借助3322的动态域名和adsl架起了自己的服务器。现在我把自己的心得写一下。也算是新年的献礼吧!希望给和我一样没有工作环境又没有钱的穷哥们儿一个学习linux的方法。愿大家一同进步!
   一、adsl的安装配置
     在redhat下adsl的配置还是比较简单的,一般情况下默认已经安装了rp-pppoe这个工具包,如果没有安装的话,你可以这样装上。把第一张光盘放入光驱,mount /dev/hdc /mnt/cdrom;cd /mnt/cdrom/Redhat/RPMS/;rpm -ivh rp-ppp*.rpm就行了,rh8中是rp-pppoe-3.4-7.i386.rpm;;rh9中是rp-pppoe-3.5.2.i386.rpm;或者您可以到http://www.roaringpenguin.com/pppoe/查找并下载最新版本。
    然后打开一个终端窗口,输入adsl-setup。根据提示输入你的用户名和密码(电信分给你的用户名和密码)然后设置一下dns(如果你不知道当地电信的dns可以只输入一个server,会自动给你认出的),以及设置一下是否允许其它用户使用和是否一开机就自动连接及防火墙的相关选项就OK了。
    adsl设置时常见的问题有两个,一个是和默认网关冲突,不能上网。检查一下你的日志/var/log/messages会看到提示信息,然后你vi
/etc/sysconfig.network和/etc/sysconfig/network-scripts/ifcfg-eth0删除gateway那一行。重新启动,然后adsl-start就可以了。另外一个是adsl-start可以成功,但是上不去网。ping不通公网的域名。那样的话,vi
/etc/reslove.conf加上当地电信的dns就行了。比如北京的,你可以vi
/etc/reslove.conf 加上nameserver 202.106.196.115就可以了。
   另外,如果要架站,需要注意一个地方:就是连接超时自动断开。解决方法是vi
/etc/sysconfig/network-scripts/ifcfg-ppp0,把PPPOE-TIMEOUT=后面的数字改成0,把CONECT-TIMEOUT=后面的数字也改成0。这样你上网就稳定了。然后cp /etc/sysconfig/network-scripts/ifcfg-ppp0 /etc/ppp/pppoe.conf.这样你可以用adsl-connect &来连接你的adsl。在断线时它会自动重拨。还有,如果你需要过程启动服务器话,别忘了把ppoe.conf和/etc/sysconfig/network-scripts/ifcfg-ppp0中的onboot=no设为onboot=yes,不然你一重启,你的服务器别人和自己就都访问不了了。^-^
    二、3322客户端的配置
     因为我没有固定ip,只能“曲线救国”了。从http://www.3322.org上申请一个免费的?
用户,并下载它的for
linux的客户端ez-ipupdate-3.0.10-linux-i386.tgz。然后tar xvzf
ez-*.tgz会生成一个ez-ipupdate-3.0.10-linux-i386的文件夹。cd ez-ipupdate-3.0.10-linux-i386,more README。参考README修改qdns.conf。我的如下:
#!/usr/local/bin/ez-ipupdate -c
#
# example config file for ez-ipupdate

#下面动态域名和静态域名选一个
                                                                                
#动态域名
service-type=qdns
#静态域名
#service-type=qdns-static
                                                                                
#设置用户名和密码
user=longfeihome:******* (改成你的用户名和密码)
                                                                                
#你需要更新的域名
host=longfei.3322.org(改成你的域名)
                                                                                
#你的网络端口
interface=ppp0
                                                                                
#如果使用通配符,请将下面的注释去掉
#wildcard
                                                                                
#如果使用邮件服务器(mx)
mx=mx.longfei.3322.org(改成你自己的)
                                                                                
                                                                                
max-interval=2073600
                                                                                
# please create this file and ensure that the user that ez-ipupdate is running
# as has write permissions to it then uncomment this line, if you don't your
# dyndns aclearcase/" target="_blank" >ccount will probably get banned. if you run ez-ipupdate as root (bad
# idea, use "run-as-user") then you can just uncomment this line.
#cache-file=/etc/ez-ipupdate.cache.eth1
                                                                                
# for the mean time we'll just use a cache file in the temp directory
cache-file=/tmp/ez-ipupdate.cache
                                                                                
# uncomment this once you have everything working how you want and you are
# ready to have ez-ipupdate running in the background all the time. to stop it
# you can use "killall -QUIT ez-ipupdate" under linux.
daemon
如果一上网就自动同步数据。则根据README中所说的vi /etc/ppp/ip-up.在结尾的exit
0前插入/usr/local/bin/ez-ipupdate -i tun0 -h longfei.3322.org(你的域名) -S qdns
-u
longfeihome:******(你的用户名和密码)。并且对应的把ez-ipupdate和qdns
拷贝到/usr/local/bin下并且修改它的权限让它可以执行。
    如果你还担心,adsl通过dhcp取的ip租约到期后域名的同步问题,那么你可以在加一道保险。crontab -e然后加入下面一句0-59/50-59/5 * * * * /usr/local/bin/ez-ipupdate -c /usr/local/bin/qdns.conf让它每隔五分钟自动同步一下你的域名。
    三、web服务器的配置。
      这儿配置了一个简单的phpbb的论坛。你可以从网上下载到phpbb2.05的中文版。在这儿简单说一下服务器的配置。
      你可以在终端窗口中输入redhat-config-packages在“万维网服务器”右面的“细节”选上php模块(默认是不安装的),在sql-数据库服务器中选上mysql。最好一并选上ftp服务器(我们一会儿要用哦)然后点击“更新”,根据提示插入光盘。一会儿就安装完毕。
      1.service mysqld start
      2.mysqladmin -u root -p password 你的密码
       Enter passwod:(直接回车)
       给你的root用户设上密码。默认root用户没有密码,并且可以访问所有的数据库,很危险哦!
 3.mysql -u root -p密码
       create database phpbb;
       quit
     4.vi /etc/httpd/conf/httpd.conf
      把DocumentRoot改成你下载的phpBB的路径,比如/phpBB/phpBB2
      把<Directory "/var/www/html">也改成上述路径
      在DirectoryIndex 后面加上index.php
      把AddDefaultCharset iso8859-1改成AddDefaultCharset
GB2312(把默认语言设成中文)
     5.service httpd start
     6.cd /php/BB/phpBB2(换成你的实际路径)
     7.chmod 666 config.php(默认是只读的,会提示你出错的)
     8.然后打开浏览器,输入http://localhost应该就会看到安装的页面了。把数据库中输入你刚建的phpbb,用户名可以用root,密码用你刚才设置的密码。然后设上管理员的用户?名和密码及信箱。就可以开始安装了。很快就安装完成了,这时会提示删除两个文件夹,你根据提示删除之。就成功了!
    四、FTP服务器的配置
    useradd -d 你的下载目录 -s /sbin/nologin username(用户名)
    passwd username加上密码。就增加了一个不能登录系统的用户
    然后vi /etc/vsftpd/vsftpd.conf
    把anonymous_enable=YES注释掉不允许匿名登录。
    把chroot_list_enable=YES
      chroot_list_file=/etc/vsftpd.chroot_list
    前的注释去掉。
   把ftpd_banner=*前的注释去掉。后面改成你的欢迎信息(这样设置可以避免显示ftp服务器的版本信息)
   然后保存,service vsfpd start就可以了。
   对了,如果要把下载用户锁定到它的目录中,别忘了vi
  /etc/vsftpd.chroot_list然后加入你刚生成的用户名。这样就OK了
    这样一个自架的服务器就配置成功了!别忘了告诉你的朋友,测试一下哦! 如果有什么问题,欢迎交流沟通!另外,在这儿没有讲架设邮件服务器,因为反垃圾邮件联盟现在把基于动态IP的邮件服务器视为垃圾邮件服务器,架设了也会有这样那样的问题。所以就不讲了!
    祝大家在新的一年里学习进步,万事如意!

 hughr 回复于:2004-01-23 21:59:33
支持!
建议本版朋友全都架站!

 repol 回复于:2004-01-23 22:24:20
这篇文章很好呀
非常感谢

 好好先生 回复于:2004-01-24 11:39:01
up.

 py 回复于:2004-01-24 12:24:58
可ADSL老是自动改变IP,就是说总是隔几天就掉线,虽然在ADSL猫上设置了自动重拨,可IP还是改变了。这样的话怎么架站?请问各位大峡有没有解决的办法?

 repol 回复于:2004-01-24 18:15:42
[root@localhost bin]# ez-ipupdate -i tun0 -h repol.3322.org -S qdns -u repol:25
077970
Incorrectly built binary which accesses errno, h_errno or _res directly. Needs t
o be fixed.
ez-ipupdate Version 3.0.10
Copyright (C) 1999-2000 Angus Mackay.
ioctl(SIOCGIFADDR): No such device
could not resolve ip address for tun0.
我安装了,报这个错,是怎么回事呀

 好好先生 回复于:2004-01-24 18:41:14
[quote:3827f0d244="py"]可ADSL老是自动改变IP,就是说总是隔几天就掉线,虽然在ADSL猫上设置了自动重拨,可IP还是改变了。这样的话怎么架站?请问各位大峡有没有解决的办法?[/quote:3827f0d244]
我不是说了用3322的动态域名(DDNS)来做解析吗?

 好好先生 回复于:2004-01-24 18:44:09
[quote:cb9939c607="repol"]alhost bin]# ez-ipupdate -i tun0 -h repol.3322.org -S qdns -u repol:25
077970
Incorrectly built binary which accesses errno, h_errno or _res directly. Needs t
o be fixed.
ez-ipupdate Version 3.0.1..........[/quote:cb9939c607]
我的只会报Incorrectly built binary which accesses errno, h_errno or _res directly. Needs to be fixed.这句错,这是我手动执行qdns.conf时报错。但能够正确解析域名。

 hughr 回复于:2004-01-24 19:47:07
[quote:5c1be13dc7="repol"]alhost bin]# ez-ipupdate -i tun0 -h repol.3322.org -S qdns -u repol:25
077970
Incorrectly built binary which accesses errno, h_errno or _res directly. Needs t
o be fixed.
ez-ipupdate Version 3.0.1..........[/quote:5c1be13dc7]

interface=ppp0

写上你的端口

 lixforalpha 回复于:2004-01-24 20:49:02
唉,3322还不是完全免费啊!
只能使用一段时间,长时间使用每年还要100大洋!

 hughr 回复于:2004-01-24 20:50:21
kmip就是完全免费了..用这个吧.

 好好先生 回复于:2004-01-24 20:55:53
3322的域名顶级域名要钱,这样的域名不要钱吧?我记得是这样。

 platinum 回复于:2004-01-25 00:35:04
crontab -e后面不太对
[quote:f6370ff1ea]
crontab -e然后加入下面一句0-59/50-59/5 * * * * root /usr/local/bin/ez-ipupdate -c/usr/local/bin/qdns.conf让它每隔五分钟自动同步一下你的域名。
[/quote:f6370ff1ea]
把root去掉,如果是直接修改的/etc/crontab,这样就对了:)

longfei.3322.org,支持!
(不过现在好象上不了了,不知道是不是24小时开机)

 platinum 回复于:2004-01-25 00:39:13
另外,onboot=no设为onboot=yes,我原来测试未成功,所以在/etc/rc.local里加了个adsl-connect &,不知道好好的能不能成功?

 好好先生 回复于:2004-01-25 13:54:20
[quote:f4247624c2="platinum"]另外,onboot=no设为onboot=yes,我原来测试未成功,所以在/etc/rc.local里加了个adsl-connect &,不知道好好的能不能成功?[/quote:f4247624c2]
我的是rh9,设为onboot=yes就可以了。另外,我现在不是24小时开机,因为我还没有改成包月的。

 好好先生 回复于:2004-01-25 14:00:19
[quote:336dcd2b01="platinum"]
把root去掉,如果是直接修改的/etc/crontab,这样就对了:)

[/quote:336dcd2b01]
谢谢!我大意了,我已经改过来了。

 platinum 回复于:2004-01-25 14:07:29
北京的包月还可以,120,就是速度慢,宽带快,却基本上不是真IP,或着路由器做了端口限制,挺郁闷的……

 好好先生 回复于:2004-01-25 14:09:51
我现在是40小时的,上个月只用了26小时。所以要架自己的服务器了。^-^

 platinum 回复于:2004-01-25 14:13:30
对了好好,你的FTP是VSFTPD吧,你是怎么设置权限和速度的?
我经过测试发现,ADSL上行最大55K/S,如果全占满了,别人就什么也干不了了
所以我的FTP限制了10个线程,每个5K/S,这样才稍微好些

 ae66 回复于:2004-01-25 14:14:40
该怎样设置?我的linux不用装ppp?

 好好先生 回复于:2004-01-25 14:23:33
[quote:715e23c1db="platinum"]对了好好,你的FTP是VSFTPD吧,你是怎么设置权限和速度的?
我经过测试发现,ADSL上行最大55K/S,如果全占满了,别人就什么也干不了了
所以我的FTP限制了10个线程,每个5K/S,这样才稍微好些[/quote:715e23c1db]
权限我已经在ftp配置那儿写了。
速度我在vsftpd.conf中增加了几句:
local_max_rate=10000(本地用户限速10K)
max_per_ip=1(每个IP 最大连接数是1个,禁用多线程)
max_clients=50(最多50个并发连接)
ftp版有一个网友找了一个pdf的配置文档很好。你下来看看。

 好好先生 回复于:2004-01-25 14:24:43
[quote:1578b3e64f="ae66"]该怎样设置?我的linux不用装ppp?[/quote:1578b3e64f]
你看看ADSL设置那一部分。

 platinum 回复于:2004-01-25 15:56:05
[quote:ba45d19f19="好好先生"]
权限我已经在ftp配置那儿写了。
速度我在vsftpd.conf中增加了几句:
local_max_rate=10000(本地用户限速10K)
max_per_ip=1(每个IP 最大连接数是1个,禁用多线程)
max_clients=50(最多50个并发连接)
ftp版有一?.........[/quote:ba45d19f19]

这……岂不是只能同时5个人下嘛?如果人多了,ADSL怎么受的了呢?
如果上行全满了,phpBB也会无法访问了

 好好先生 回复于:2004-01-25 16:04:12
我看了,最多时10个人左右。现在有三个人下载。没有办法,这样用本来就是没有办法的办法。没有限速时,第一个人下载会快一点,现在就是均衡一下他们的速度。对大家公平一点。人多时,速度还是会降低的。

 platinum 回复于:2004-01-25 16:54:04
VSFTPD可以做速度限制均衡嘛?
我的意思是,比如带宽100M,我限制最大下载100K/S,最多10个人同时登陆,可以做到下载速度均衡嘛?1个人是100K/S,2个人就是个50K/S……10个人是各10K/S?

 hughr 回复于:2004-01-25 16:56:03
如果100MB带宽,限十人,每人限速10000K,如果十人都Login了.那么就是均分了,如果每人限制10000K,只上了五人,那就是有一半未被使用.

 platinum 回复于:2004-01-25 16:58:22
[quote:6028d633c9="hughr"]如果100MB带宽,限十人,每人限速10000K,如果十人都Login了.那么就是均分了,如果每人限制10000K,只上了五人,那就是有一半未被使用.[/quote:6028d633c9]
这是肯定的呀,我知道,但这样的话,网络资源就浪费了,能不能做个最大承受的均衡?

 好好先生 回复于:2004-01-25 16:59:21
应该是这样的。如果不限速的话,这样先下的人优先。如果限速了,这样会给后来者节省带宽的。

 hughr 回复于:2004-01-25 17:00:07
[quote:354ca45e7a="platinum"]
这是肯定的呀,我知道,但这样的话,网络资源就浪费了,能不能做个最大承受的均衡?[/quote:354ca45e7a]

均Heng我还未见过.但你可以根据自己的需求来设置最合理的方式.

 platinum 回复于:2004-01-25 17:01:41
假如带宽512K,实际最大上行55K/S,我用其中45K/S的速度做服务,用这45K/S做大家下载的均衡,那多好,能实现嘛?
比如就一个人来,他的速度是45K/S,来了5个人,每个人都是9K/S,实际服务器还有10K/S的带宽没用到,用来做WEB,可行嘛?

 hughr 回复于:2004-01-25 17:04:46
想法是好,但具体不知如何实现呀,即使是有这样的方法,我想Vsftpd暂时也未支持吧,这么酷的功能,怎么会没见过呢?
况且用十K做WWW服务,不好,FTP限速五K更是不实际的.
FTP有专门的做了,你就用五十五K做了下WWW吧.这样比较好.要不你就换个一百MB的东东.

 platinum 回复于:2004-01-25 17:11:26
[quote:8083cc81e5="hughr"]要不你就换个一百MB的东东[/quote:8083cc81e5]
好是好,¥啊!!!!

 hughr 回复于:2004-01-25 17:12:20
多少两/月??

 platinum 回复于:2004-01-28 13:16:34
我找到开机ppp0设备不能自动拨号的原因了

1、文件名不对
RH73生成的/etc/sysconfig/network-script里的文件是ifcfg-,应该是ifcfg-ppp0

2、设备不对
里面的DEVICE是空的,应该是DEVICE=PPP0

3、ONBOOT
ONBOOT=yes

综上修改后,启动计算机就可以自动拨号上网了,不用在rc.local里添加拨号指令了

有个问题,就是为什么RH73系统adsl-setup后生成的文件不是ifcfg-ppp0而是ifcfg-

 huzhiwen 回复于:2004-01-30 15:45:05
很好的帖子,這兒是我的一個小腳本,希望有用
[code:1:aba2cdb645]
#!/bin/bash
###filename:monitorip.sh
if [ -f /root/monitor/ip.txt ]
then
echo "12" >/dev/null
else
ifconfig|grep P-t-P > /root/monitor/ip.txt
fi
org_ip=`cat /root/monitor/ip.txt|cut -d: -f 2|cut -d ' ' -f 1`
now_ip=`ifconfig|grep P-t-P|cut -d: -f 2|cut -d ' ' -f 1`
if [ $org_ip = $now_ip ] 
then
echo "donot need update ip\n" >/dev/null 
else
ifconfig|grep P-t-P > /root/monitor/ip.txt
/root/firewall/firewall.sh
/root/ez-ipupdate/ez-ipupdate -c /root/ez-ipupdate/qdns.conf
fi
[/code:1:aba2cdb645]
腳本用途:減少到3322服務器的連接,無須每五分鐘都要連接,影響服務質量

/root 下建立monitor目錄,建立ip.txt文件,將此腳本替代原來的crond任務腳本

 好好先生 回复于:2004-01-30 15:49:20
谢谢了!

 llzqq 回复于:2004-01-30 17:21:31
我在/SBIN/ADSL-START中加了这句:
"/usr/local/ezip/ez-ipupdate -c /usr/local/ezip/qdns.conf"
可运行时包错:
[root@home root]# adsl-start
Incorrectly built binary which accesses errno or h_errno directly. Needs to be fixed.
ez-ipupdate Version 3.0.10
Copyright (C) 1999-2000 Angus Mackay.
connected to members.3322.org (61.177.95.125) on port 80.

 好好先生 回复于:2004-01-30 17:25:10
我也见过多次这个错误,但不影响我的域名更新。不知道这是那个文件有问题,我在启动我的@message时也有"Incorrectly built binary which accesses errno or h_errno directly. Needs to be fixed"这样的错误。

 platinum 回复于:2004-01-30 18:19:30
发现一个新问题
如果启动的时候自动挂ppp0设备,则24小时左右电信的DHCP到期后(或者网络质量问题)断线,就再也连不上了

因为启动的时候激活ppp0设备是“一次性工作”,所以我又改回用adsl-connect &来拨号了

 huays 回复于:2004-01-30 20:38:53
谢谢你的文章

 xinmencuoxue 回复于:2004-02-03 21:43:11
三年前,就用了。我的网站

 jeffreyli 回复于:2004-02-04 09:29:29
请问一下楼主我在局域网里如何进行呢?
是不是需要端口映射呢?
如何操作,谢谢各位大虾,,,,,,,,

 好好先生 回复于:2004-02-04 09:33:18
应该是要进行端口映射吧.我没有这样做过.提供个思路供借鉴.在拨号的机器上装3322.org的客户端,然后在上面配置端口映射到指定的机器上.但是现在有个问题,拨号的机器上的IP是动态取得的,不知能不能实现.谁对Iptables有研究?可以试试给出一个方案.

 alibab 回复于:2004-09-03 19:58:06
今天3322上不去呀

原文转自:http://www.ltesting.net