鸟哥的 Linux ADSL 私房菜


以淘汰计算机安装 Linux 做为服务器分享 ADSL 的带宽

最近更新日期:2002/01/27

目的与适用性
Linux
所需硬件与安装 Linux 所需套件
安装第二块网络卡
Linux 上面的 ADSL 拨接方法
激活 Linux 上面的 NAT 设定
设定 Windows 用户端的计算机设定
要不要设定 MTU !嘿!当然不需要
还有什幺可以玩得!呵!架站来玩玩!


目的与适用性

目的:
就如同前面所说的:
因此,将废弃计算机拿来当主机,嘿!是一件非常棒的利用方式!不过,以当前的主机系统来说,我们可以将他约略分成两大类,分别是 MicroSoft NT 系列( Windows 2000 也是属于 NT 系列的喔!)与 Unix-Like Linux Solaris FreeBSD 等等都是!好了,我们都知道要使用 Windows 操作软件时,全局的硬件系统就不能太差,否则计算机的运行速度一定让你等到肝火上升,所以,为了您的健康着想,这个时候安装 Windows 在废弃计算机上面,似乎不太妥当。OK!那另一个 Linux 系统如何呢?哈哈!他只要 p-100 档次的 CPU 加上 32 MB 左右的 RAM 就可以跑了!而且在『不运行 X-Window 』的情况下,运行的效率是不错的!所以,以下我们就来谈一谈怎样在 Linux 上面架设一个 NAT 主机来提供网络的带宽分享!
原理:
Linux 服务器连接上 Internet 的原理其实很简单(其实就是 NAT 功能啦),主要分为两步骤:
同样的,这里要注意,由于所有的虚拟IP的计算机均是通过第一张网卡对外挂机,所以在 Internet 上看到的从你的主机连出去的计算机之 IP 都是同一个(就是对外网络卡的 IP 啦)。
优点与缺点:
使用 Linux 来架设 NAT 主机,优点是:网络的传输速度很快,比 Windows 2000 的分享还要快。另外, Linux 主机有等价多的附加价值,不但可以作为邮件主机、WWW主机、FTP主机,并且可以作为你局域网的中心站!此外, Linux 是一套管理存储器很好的操作软件,所以平时没有大量工作的时候,CPU是在待机的状况,所以并不会发生高热(就是说比较不会停机啦)!在 VBird 家中的 P-166 超频至 P-200,连续引导系统到当前(从 2001/02 到当前)没有关机过,使用上一切正常!不过缺点就是学习 Linux 的时间需要比较长一些,而且对于用惯了 Windows 并且没有学过程序语言的朋友来说, Linux 倒真的是很难入门!然而,如果您只是需要安装一个可以转换 IP NAT 主机,那幺照以下的步骤一步一步来,呵呵!也是可以实现你的需求啦!
适用性:
所需要的软硬件配备:

Linux 所需硬件与安装 Linux 所需套件

OK!既然我们使用的是『即将被淘汰的计算机』也就是 P-166 以下档次的计算机(当然可以选择更好的,这里仅说明最低的硬件配备啦!)那我们需要怎样的硬件呢?以 VBird 来说,我建议的配备有点象这样:
好了,确认完你的硬件之后,开始要来安装罗,如果要理解每一个步骤代表的意义,那幺请到 鸟哥的私房菜馆 来看看,底下仅列出需要注意的几个步骤罗(底下先以一块网络卡来安装喔!):

安装第二块网络卡

怎样安装第二块网络卡呢?就是将 Linux 关机罗,然后安装第二块卡,然后引导系统,然后就可以自动的被捉到罗!如果无法被自动的捉到,那幺就麻烦了!请参考这一篇看看如何安装第二块网络卡吧!
连上 Internet
另外,全部的硬件连接之后是怎样呢?可以这样看:
所有硬件连接完毕之后就会象底下的图示这样!


Linux 上面的 ADSL 拨接方法

Linux 上面拨接到 ADSL 计时制是使用 rp-pppoe 这一个套件至于 Red Hat 7.2 VBird 建议使用 rp-pppoe-2.6.5 这一个版本就可以罗!安装的步骤可以直接以 rpm 来安装即可;
那如何拨接呢?详细的步骤我写在 这里 了,简单的很:
 

step 1:
[root@tsai /root]# /sbin/ifdown eth0
[root@tsai /root]# /usr/sbin/adsl-setup
假设我们以第一块网络卡连上 ADSL ,所以先断掉 eth0 的挂机!

step 2:
>>> Enter your PPPoE user name (default bxxxnxnx@sympatico.ca):
这个时候请输入你在 ADSL 的帐号,
如果是 seednet 的话,应该有点象这样==> T0123456
注意大小写喔!

step 3:
>>> Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethn, where 'n' is a number.
(default eth1):eth0
因为我们使用 eth0 挂机的呀!

step 4:
>>> Enter the demand value (default no):
这里按 enter 不用设定就好了!

step 5:
>>> Enter the DNS information here: 139.175.10.20
>>> Enter the secondary DNS server address here: 163.28.112.1
这里要你输入惯用的 DNS 主机,若使用 seednet 的话,可以打入
139.175.10.20
若在台南地区的话,可以使用成大的 DNS => 163.28.112.1

step 6:
>>> Please enter your PPPoE password:
>>> Please re-enter your PPPoE password:
这里就输入你的 ADSL 口令啦,要输入两次喔!

step 7:
The firewall choices are:
0 - NONE: This script will not set any firewall rules.  You are responsible
          for ensuring the security of your machine.  You are STRONGLY
          recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
                for a LAN
>>> Choose a type of firewall (0-2):0
这里要你选择 防火墙 的形式,通常我是不设火墙的,
所以直接选 0 就对了!

step 8:
Ethernet Interface: eth0
User name:          T0123456
Activate-on-demand: No
Primary DNS:        139.175.10.20
Secondary DNS:      163.28.112.1
Firewalling:        NONE

>>> Accept these settings and adjust configuration files (y/n)? y
接下来将你的设定作一个集成结果输出,如果没有问题的话,
输入 y 之后就完成设定啦!
基本上,设定完成之后以下的文件会被自动改变,
有影响的是 resolv.conf 这个文件,你可以手动改变这个文件喔!

Adjusting /etc/ppp/pppoe.conf
Adjusting /etc/resolv.conf
  (But first backing it up to /etc/resolv.conf-bak)
Adjusting /etc/ppp/pap-secrets and /etc/ppp/chap-secrets
  (But first backing it up to /etc/ppp/pap-secrets-bak)
  (But first backing it up to /etc/ppp/chap-secrets-bak) 

连上 Internet 之前,请先确认 eth0 eth1(用来连接线到 Modem 的那一张网络卡)已经断线了,可以使用 /sbin/ifconfig 来确认,然后直接输入
    /usr/sbin/adsl-start
即可连上网络啦!通常比较容易出问题的地方在于硬件的挂机情况,请先确认所有的硬件挂机没有问题喔!通常,如果你使用小乌龟(ATU-R)时,请使用跳线连接网络卡与ATU-R另外一个容易出错的地方在于输入的帐号与口令,帐号与口令都是你的 ISP 给你的,并且注意大小写

激活 Linux 上面的 NAT 设定

NAT 设定由于 Linux 核心的不同而有点差异性,如果您是使用旧的 2.2.x 核心的话,也就是 Red Hat 7.0 以前的版本时,那幺你可以使用下面的指令来激活 NAT 的功能:
 

 echo "1" > /proc/sys/net/ipv4/ip_forward
 /sbin/ipchains -P forward DENY
 /sbin/ipchains -A forward -j MASQ -s 192.168.1.0/24 -d 0.0.0.0/0
 /sbin/modprobe ip_masq_ftp
 /sbin/modprobe ip_masq_raudio
 /sbin/modprobe ip_masq_irc
 /sbin/modprobe ip_masq_autofw
 /sbin/modprobe ip_masq_cuseeme
 /sbin/modprobe ip_masq_portfw
 /sbin/modprobe ip_masq_quake
 /sbin/modprobe ip_masq_vdolive
 /sbin/modprobe ip_masq_user
 /sbin/modprobe ip_masq_mfw

当然罗,您必须是使用 ipchains 这一个咚咚。至于若您使用的是 Red Hat 7.1 以后的系统,例如我们绍介的 Red Hat 7.2 的话,那幺就必须以下面的方法来激活 NAT 罗:
 

echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j MASQUERADE

当然罗,如果您希望每次引导系统都可以自动的装入上面的咚咚,那幺你就可以将上面的数据写入 /etc/rc.d/rc.local 里面的最后一行中!
 详细的 NAT 功能与相关设定可以看一下底下这两篇文章,一定可以对你有帮助喔:
鸟哥的私房菜馆--NAT 设定
Study-Area
的技巧心得--NAT 设定

容易出错的地方

前一些时候帮一些网友在讨论 NAT 的问题,后来发现大家的问题都差不多!最容易发生错误的地方在于 default gateway 的问题,在 /etc/sysconfig/network 这个文件中,或许有个 GATEWAYDEV 的咚咚,那个东西是你的 Linux 主机缺省的通信闸,由于我们是使用 ADSL 拨接制的,所以拨接之后会有一个 ppp0 的界面,因此呢,你就必须在 GATEWAYDEV=ppp0 这一个设定才对喔!另外,将 GATEWAY= 这一行空下来不要设定!
如果你还是有解决不了的问题,请先参考一下底下这一篇探讨网络问题的心得分享罗!
检查 Linux 网络问题

设定 Windows 用户端的计算机设定

我们的 Linux 主机已经架设完毕罗!而且,如果你没有更改上面的一些设定的话,那幺你的局域网内的 Windows 计算机所需要注意的事项为:
  1. Windows IP 192.168.1.3192.168.1.254 之间均可接受;
  2. 子掩码网络 Netmask 255.255.255.0 这一个;
  3. 通信闸为 192.168.1.2 ,这个需要与你的设定相呼应喔!
  4. DNS 主机可以设定为 139.175.10.20 这一个 seednet DNS 主机,如果你的 ISP 有提供其他的主机的话,那幺请参考吧!
这样就够你设定的信息了吧!还是不会吗?看一下 Hub 的连接一文吧!

要不要设定 Client MTU 值!?当然不需要!

使用 Windows 2000 最讨厌的地方就是需要一大堆的 MTU 检测与设定了!在 Linux 里面可就没有这个困扰了!我的经验里面,呵呵!这个 Linux 做为网络带宽的分享,不但速度快,而且够稳定的了!我使用 Seednet 这一家 ISP 来说,最长的挂机时间为两个月左右没有断线过!而且,即使断线了,使用 Linux 的设定功能,可以立即自动的连接上 Internet 喔!好用的很!
另外一个最棒的是, Linux 可以支持架站喔!不论是目录服务器、文件服务器、邮件服务器、网页服务器、FTP 服务器等等的服务,只要你的带宽够大,硬盘够大,都可以架设喔!提供两个架站的站点给你瞧一瞧:
鸟哥的私房菜馆
Study-Area
Linux 架站说明


2002/ 01/27
以来统计人数



Designed by VBird during 2001-2004.  Aerosol Lab.