以淘汰电脑安装 Linux 做为服务器分享 ADSL 的带宽
目的:
就如同前面所说的:因此,将废弃电脑拿来当主机,嘿!是一件非常棒的利用方式!不过,以目前的主机系统来说,我们可以将他约略分成两大类,分别是 MicroSoft 的 NT 系列( Windows 2000 也是属于 NT 系列的喔!)与 Unix-Like 如 Linux 、 Solaris 、 FreeBSD 等等都是!好了,我们都知道要使用 Windows 作业软件时,整体的硬件系统就不能太差,否则电脑的运行速度一定让你等到肝火上升,所以,为了您的健康着想,这个时候安装 Windows 在废弃电脑上面,似乎不太妥当。OK!那另一个 Linux 系统如何呢?哈哈!他只要 p-100 等级的 CPU 加上 32 MB 左右的 RAM 就可以跑了!而且在『不运行 X-Window 』的情况下,运行的效率是不错的!所以,以下我们就来谈一谈怎样在 Linux 上面架设一个 NAT 主机来提供网络的带宽分享!
- 直接以 Hub 连接进行分享的好处是简单,但是缺点则是缺乏弹性。因为连接电脑的上限被限制在你的 ISP 所提供的连接数,例如中华电信仅支持两个 IP 给一个帐号使用,Seednet 虽然可提供 5 个 IP ,但是对于学生宿舍族群来说,毕竟还是不够的!
- 若使用 Windows2000 做为服务器分享带宽,又碍于 win2000 需要的高档配备!否则跑不动的啦!
- 现在电脑进步的很快,很多人手边都有一些废弃的电脑。
原理:
以 Linux 服务器连接上 Internet 的原理其实很简单(其实就是 NAT 功能啦),主要分为两步骤:同样的,这里要注意,由于所有的虚拟IP的电脑均是通过第一张网卡对外连接,所以在 Internet 上看到的从你的主机连出去的电脑之 IP 都是同一个(就是对外网络卡的 IP 啦)。
- Linux 主机强烈建议需要两张网络卡,而且芯片组最好不要相同。如果相同也没有关系,但是不要一次安装两块,最好安装一块并设置好之后,再安装另一块比较妥当;
- 一张网络卡对内,并在启动的时候就驱动;
- 一张网络卡对外,在启动的时候不要驱动他;
- 在 Linux 上面安装 rp-pppoe 来拨接上 Internet ;
- 将内部网络与 Linux 对内的那张网络卡具有相同网段的『 虚拟IP 』,由于相同网段的虚拟IP可以直接连接,因此所有的电脑就可以直接连上主机啦;
- 启动 Linux 的 NAT 功能,将对内网络卡的对外连接转成可以连上 Internet 的第一张网络卡,因此所有来自内部网卡的要求便都可以通过具有连上 Internet 功能的第一张网络卡来完成工作!
优点与缺点:
使用 Linux 来架设 NAT 主机,优点是:网络的传输速度很快,比 Windows 2000 的分享还要快。另外, Linux 主机有相当多的附加价值,不但可以作为邮件主机、WWW主机、FTP主机,并且可以作为你局域网路的中心站!此外, Linux 是一套管理内存很好的作业软件,所以平时没有大量工作的时候,CPU是在待机的状况,所以并不会发生高热(就是说比较不会当机啦)!在 VBird 家中的 P-166 超频至 P-200,连续开机到目前(从 2001/02 到目前)没有关机过,使用上一切正常!不过缺点就是学习 Linux 的时间需要比较长一些,而且对于用惯了 Windows 并且没有学过编程语言的朋友来说, Linux 倒真的是很难入门!然而,如果您只是需要安装一个可以转换 IP 的 NAT 主机,那么照以下的步骤一步一步来,呵呵!也是可以达成你的需求啦!
适用性:所需要的软硬件配备:
- 同时适合 ADSL 固定制与计时制;
- 可连接的电脑数量比较多(理论上可达无限多部电脑的连接)
- 做为 Linux 主机的电脑不可关机,且开机后即需要连上 Internet,
- 其他用户端电脑开机后立即直接连上 Internet ,而不用再拨接!
- 一台淘汰的电脑(最好是 P-100 以上等级,32MB以上RAM,2GB硬盘即可);
- 个人电脑(PC);
- 网络卡(每部电脑均要一块,但做为主机的 Linux 需要两块);
- 正常的 RJ-45 网络线(连接电脑与Hub及主机);
- 一条跳线(连接主机与ATU-R)
- 集线器(就是 Hub 啦);
- ADSL (连同 ATU-R)。
OK!既然我们使用的是『即将被淘汰的电脑』也就是 P-166 以下等级的电脑(当然可以选择更好的,这里仅说明最低的硬件配备啦!)那我们需要怎样的硬件呢?以 VBird 来说,我建议的配备有点像这样:好了,确认完你的硬件之后,开始要来安装啰,如果要了解每一个步骤代表的意义,那么请到 鸟哥的私房菜馆 来看看,底下仅列出需要注意的几个步骤啰(底下先以一块网络卡来安装喔!):
- P-166 左右等级的 CPU + 适合的主板:基本上, 486 电脑也可以安装没问题的!
- 至少 32 MB 以上的 RAM :建议最好可以加到 64 MB 以上的 RAM !其实,在 Linux 主机上面,CPU 往往不是重点,最大的问题应该是出现在 RAM 上面,所以,如果你的主机除了 NAT 功能外,还要进行一些哩哩抠抠的服务器(例如 mail 与 proxy 等等),那么建议 RAM 是越大越好!
- 容易支持的网络卡:目前最建议的是使用 10/100 MB 的螃蟹卡,这种卡不但便宜,而且 Linux 的支持度蛮高的!另外,第二块网络卡建议使用 via-rhine 这个芯片的网络卡,因为这个芯片 Linux 也有支持喔!
- 大于等于 500 MB 的硬盘:基本上,如果你未来知道如何安装 Linux 之后,只要 200 MB 的硬盘就可以进行 NAT 的架设了。但是由于 VBird 也不是很会挑选这个东西,所以目前建议大约 500 MB 的硬盘来进行安装才好!
- 随便一块 PCI 的显卡:目前最建议的是 S3 的显卡,例如 Virge 系列,或者 S3-775 系列等等的显卡都可以喔!
- 安装时需要的 CDROM、键盘与鼠标:这几个东西在安装的时候是必须的,但是安装完毕之后就可以拔掉了!不过,在 BIOS 当中,需要将 ERROR 设置成『 NO ERROR 』或者是『ALL but Keyboard』才行!甚至,你连显卡都可以拔掉!因为根本就不需要显示呀!(呵呵!所以除了安装过程当中需要屏幕,安装完毕之后,你的 NAT 主机是不需要屏幕、键盘、鼠标、CDROM 及显卡的喔!)
- 确认系统可以被支持:尽可能的找到 Linux 可以支持的界面卡,例如 VBird 上面推荐的几张卡,这样在安装的时候比较简单;
- 下载可开机的 Linux 光盘:由于 VBird 都是使用 Red Hat 这个公司出的 Linux 套件,所以我推荐他,你可以在 中山大学 FTP 站 找到相关的文件(请下载有 i386 的那两个文件),下载完毕之后,可以使用类似 Nero 的文件将这个映像档刻录成可以开机的光盘!
- 修改 BIOS 设置:通常,如果你的主板可以设置为 CDROM 开机的话,呵呵!那么恭喜你,你可以进入 BIOS 当中,设置使用 CDROM 来开机,并马上进入安装画面,如果没有办法的话,那么只好制作可开机的软碟啰!制作开机软碟的方法如下:
- 随便找一部 Windows 电脑,并放入刚刚刻录完成的光盘片;
- 进入 MS DOS 模式(或者是 windows 2000 的命令提示字符),
C:\WINDOWS> cd E:\dosutils
上面的 E 为你的光驱代号;- E:\dosutils> rawrite -f e:\images\boot.img -d a:
- 开机,并进入 text 模式安装:不论使用光盘或者软碟开机都是一样的!会出现一个指示的话面,这个时候请输入 text 则可以进入文本模式安装,安装的过程:
这样子就安装完毕了!在你开机完成之后,就可以使用 root 的身份登录 Linux 主机啰!
- 选择语系为『 English 』
- 使用键盘为『 us keyboard 』
- 使用鼠标为,由于我没有安装鼠标,所以选『 No 』
- 选择安装模式为『 Custom 』自订安装
- 使用的硬盘分割工具为『 Disk Druid 』,开始进入硬盘分割画面,我的动作都是先将所有的硬盘都 delete 掉,然后分割 64 MB 给 swap ,将所有的 500 MB 都分割给 / 即可!
- 开机的选项,我喜欢使用『 Lilo 』这一个;
- 安装启动磁区,呵呵『/dev/hda MBR(Master Boot Record) 』这一项啰;
- 要不要在内核输入其他的设置『 OK 』直接跳过;
- Network Card 要设置喔!(这一个是对内(eth0)卡喔)
IP=192.168.1.2
NetMask = 255.255.255.0
Gateway = 192.168.1.2
DNS = 139.175.10.20- 主机名称 hostname 『随便你取啰』;
- firewall 防火墙的设置,呵呵,选择『 No Firewall 』吧!
- 选择语系,不希望有中文,所以选择『 English 』
- 选择时区,那就是『 Asia/ Taipei 』
- Pass Word 的输入;
- 设置用户 ID :先不要设置啰!
- 加密的几个重点,都不要改啦!保持默认值;
- 套件的选择:这里最重要了,你只要选择底下这几个即可:
Network Support
这几个套件选择完毕之后,大概需要 366 MB 的空间吧!
Dialup Support
Messaging and Web Tools
Router / Firewall
Network / Managed Workstation
Utilities- 照屏幕显示一步一步安装吧!
怎样安装第二块网络卡呢?就是将 Linux 关机啰,然后安装第二块卡,然后开机,然后就可以自动的被捉到啰!如果无法被自动的捉到,那么就麻烦了!请参考这一篇看看如何安装第二块网络卡吧!连上 Internet另外,全部的硬件连接之后是怎样呢?可以这样看:所有硬件连接完毕之后就会像底下的图标这样!
- 先将 Linux 主机以跳线将第一张网络卡与 ATU-R 调制解调器以『跳线』连接;
- 将第二张网络卡安装上 Linux 主机,并以正常的 RJ-45 网络线连接上 Hub 的正常孔;
- 将所有其他电脑安装上网络卡后,并将网络卡与 Hub 的正常孔以正常的 RJ-45 网络线连接;
- 打开 Hub 电源,并开始 windows 的设置。(注意,并没有用到 Hub 的 Up-Link 孔)
- 如果你有两个以上的 Hub 的话,以正常线连接第一个 Hub 的 Up-Link 孔,并串接到第二个 Hub 的正常孔就可以了。
在 Linux 上面拨接到 ADSL 计时制是使用 rp-pppoe 这一个套件至于 Red Hat 7.2 VBird 建议使用 rp-pppoe-2.6.5 这一个版本就可以啰!安装的步骤可以直接以 rpm 来安装即可;
那如何拨接呢?详细的步骤我写在 这里 了,简单的很:
连上 Internet 之前,请先确认 eth0 或 eth1(用来连接线到 Modem 的那一张网络卡)已经断线了,可以使用 /sbin/ifconfig 来确认,然后直接输入
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.1step 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)/usr/sbin/adsl-start
即可连上网络啦!通常比较容易出问题的地方在于硬件的连接情况,请先确认所有的硬件连接没有问题喔!通常,如果你使用小乌龟(ATU-R)时,请使用跳线连接网络卡与ATU-R。另外一个容易出错的地方在于输入的帐号与密码,帐号与密码都是你的 ISP 给你的,并且注意大小写。
NAT 设置由于 Linux 内核的不同而有点差异性,如果您是使用旧的 2.2.x 内核的话,也就是 Red Hat 7.0 以前的版本时,那么你可以使用下面的指令来启动 NAT 的功能:
当然啰,您必须是使用 ipchains 这一个咚咚。至于若您使用的是 Red Hat 7.1 以后的系统,例如我们介绍的 Red Hat 7.2 的话,那么就必须以下面的方法来启动 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
当然啰,如果您希望每次开机都可以自动的加载上面的咚咚,那么你就可以将上面的数据写入 /etc/rc.d/rc.local 里面的最后一行中!
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
详细的 NAT 功能与相关设置可以看一下底下这两篇文章,一定可以对你有帮助喔:鸟哥的私房菜馆--NAT 设置
Study-Area 的技巧心得--NAT 设置
容易出错的地方 前一些时候帮一些网友在讨论 NAT 的问题,后来发现大家的问题都差不多!最容易发生错误的地方在于 default gateway 的问题,在 /etc/sysconfig/network 这个文件中,或许有个 GATEWAYDEV 的咚咚,那个东西是你的 Linux 主机缺省的通信闸,由于我们是使用 ADSL 拨接制的,所以拨接之后会有一个 ppp0 的界面,因此呢,你就必须在 GATEWAYDEV=ppp0 这一个设置才对喔!另外,将 GATEWAY= 这一行空下来不要设置!如果你还是有解决不了的问题,请先参考一下底下这一篇探讨网络问题的心得分享啰!
检查 Linux 网络问题
我们的 Linux 主机已经架设完毕啰!而且,如果你没有更改上面的一些设置的话,那么你的局域网路内的 Windows 电脑所需要注意的事项为:这样就够你设置的信息了吧!还是不会吗?看一下 Hub 的连接一文吧!
- Windows 的 IP 在 192.168.1.3~192.168.1.254 之间均可接受;
- 子遮罩网络 Netmask 为 255.255.255.0 这一个;
- 通信闸为 192.168.1.2 ,这个需要与你的设置相呼应喔!
- DNS 主机可以设置为 139.175.10.20 这一个 seednet 的 DNS 主机,如果你的 ISP 有提供其他的主机的话,那么请参考吧!
使用 Windows 2000 最讨厌的地方就是需要一大堆的 MTU 侦测与设置了!在 Linux 里面可就没有这个困扰了!我的经验里面,呵呵!这个 Linux 做为网络带宽的分享,不但速度快,而且够稳定的了!我使用 Seednet 这一家 ISP 来说,最长的连接时间为两个月左右没有断线过!而且,即使断线了,使用 Linux 的设置功能,可以立即自动的连接上 Internet 喔!好用的很!
另外一个最棒的是, Linux 可以支持架站喔!不论是目录服务器、文件服务器、邮件服务器、网页服务器、FTP 服务器等等的服务,只要你的带宽够大,硬盘够大,都可以架设喔!提供两个架站的网站给你瞧一瞧:鸟哥的私房菜馆
Study-Area 的 Linux 架站说明