4.5 设置一个网络

4.5.1 建设一个家庭网络,是否值得?

这是一个非常优秀的点子。它将使你在厕所也可以使用,因为他们如果独立的话,不够强大。家庭网络可以达到:共享硬盘,zip驱动器,cdrom,调制解调器,打印机,甚至声卡,远程使用程序,在只有一根电话线的情况下,几台机子同时上网,如果你的机子失去了控制,你可以远程关机(细节请看 )

4.5.2 如何设置家庭网络?

硬件。你的硬件必须安装好。你的网卡大概在初始化 redhat 安装程序的是否已经搞定了,如果你在安装完之后才安装网卡,有很大几率它会自动检测出来。如果不是,你现在也许像安装网卡。如果你已经安装了一块以上的网卡,在同一太极之上,你也同样需要同一种方法,因为 redhat linux 字自动检测一块网卡。

在 linux 下,大多数网卡的驱动程序都是模块化的的。所以,如果像安装一块网卡,你只需要安装那一块系统,而不是重新编译整个内核,也不需要重新启动计算机,除非你的网卡是杂牌的。改清楚你需要那一块,我像你也许需要看一看这份文档: /usr/src/linux-2.4/Documentation/networking/net-modules.txt 如果需要,你可以列出所有系统支持的网卡:

modeprobe -l | more

如果需要,你就刚刚linux网络管理向导 (/usr/share/doc/LDP/nag),或者 http://metalab.unc.edu/mdw/index.html#guide.这份优秀的向导和nag一样出名。 将模块放入内核有很多方法,最简单的使用系统管理员身份进入系统,运行netconf,然后输入模块名。另一种方法是在 x 下使用 su,将自己变成系统管理员,然后执行/usr/bin/kernelcfg 。

在多数情况下,你不需要考虑底层的东西(如 irq,地址等),模块自己知道该怎样使用。但是,底层资源也许会成为一个问题:当你安装第二块网卡的时候,你必须知道系统有没有硬件冲突。通常的问题是你的第二块网卡希望使用 irq5,但那时声卡使用的,irq3 应该是第二窜口使用的。阅读 /proc/interrupts, /proc/ioport 和启动信息是有帮助的。 例如,我的 wd8013 通过跳线和设置,使用 irq10,地址 0x300,同时使用 wd 模块。我的 smc 网卡就使用默认。注意:不要省略地址前面的 0x,它标志着十六进制。 在模块安装完毕之后,你应该去看看 /proc/modules,证明是否正确安装了。模块设置文件是 /etc/modules.conf。所以,如果有问题,可以使用字处理软件打开它,如使用:pico。 网络。设置完网络,链接好电线,作为系统管理员使用 netconf

这个程序非常有用!!!netconf 在图形界面下也可以使用,但是我在图形界面下没有使用过。如果你需要知道网络如何工作,你也想读一读 http://ieee.uow.edu.au/~mjp16/wylug-netlinux/notes.html。它里面包含了一个小型办公网络,和我们的家庭万类似,他也使用了分时系统。

如何填 netconf 取决于你的网络。你也许需要填入 Basic Host Information 或者 Information About Other Hosts,这些文件存在 /etc/hosts and /etc/sysconfig/network,所以你可以通过修改这个文件来修改 netconf 内容。 当设置网络时,不要使用 127.0.0.1 ,他永远代表本机。

如果你没有 ip 地址,你也许想拟造一个。如果是通过电话相同外界连同的话,ip 地址是什么没有多大关系。你拟造的地址必须符合命名规范(a级别,b级别,或者c级别)。在 nag 中也包括了这一点。 作为家庭网络,你也许想使用最小的 c 级网络(小于 254 台机器),第一个数字在 192 到 233 之间,剩下的三位数字在 1 到 254 之间,不要使用 0,他代表整个网络,同样,255 代表广播。假设 223.223.223.1 是这个网(223.223.223.0)中第一台机器,广播地址是 223.223.223.255,除了 subnet 之外,网络代号总是 255.255.255.255。 当然,最好使用保留 ip,向我就是用192.168.1.1,他工作的很好。 通常来说,第一台机器是连接在外面的,通常,但这不是标准。所以,我把门径社为:xxx.xxx.xxx.1。

通常来说 name 和 domain name 的命名没有限制。作为域名服务器,redhat 5.2 和 6.0 使用 cache-only 方式,所以他便于使用。当然,你也可以不使用 dns(有可能因为没有在外界找到要找的网站,从而系统挂起几分钟。),而使用本地 dns,named 服务一定要是启动的,使用 setup 检查一下。设置 cache-only DNS, netconf 在 appropriate boxes 中写。例如我在所有机子中添入,nameserver 1。 由于没有别的网络可以连入,所以我将这一空格写成空白。

剩下的事就是照着样子在每一台机制上都添上。在标准的 redhat下,我重新启动之后就可以正常使用。 按照任意次序一台接一台的启动计算机,同时注意看启动信息。正确吗?作为root使用route看是否正确,试试看 telnet 登陆:

telnet name_of_the_machine_you_are_sitting_at

在正确登陆后,你可以输入exit退出。 在试一试另外的:

telnet name_of_a_remote_machine

如果都是正确的,你的网络就正确了。在你使用 ppp 连接到 isp 之后,任何机制都可以连接到外面去了。

4.5.3 在配置 ppp 拨号的时候,我遇到了困难。

图形界面。如果我是你,我就安装 kde,并且使用 kppp 拨号(如果你没有安装,那么你就去看一看如何安装。),kppp 真的是非常容易使用和配置。如果想设置 ppp,运行 kppp,(他在 k目录下的 internet 中,或者在 x 字符模式下输入 kppp),点击 setup 按钮,建立一个新帐号,填入所需信息,电话号码,协议,你的 isp 的地址和域名服务器抵制,这些信息都是由你的ISP 提供的。 下一步,建立一个叫做 /dev/modem 的设备,作为系统管理员,做一个符号连接至/dev/ttyS1,命令如下:

ln -s /dev/ttyS1 /dev/modem

在 DOS 下,如果你的 MODEM 工作在 COM2,那么他就应该可以正常工作了。TTYS0 是 COM1,TTYS2 是 COM3。如果断口设置错误,那么 MODEM 不会正常拨号。 最后,我试图使用 KPPP,但是提示 LOCK 错误。所以,我通过如下命令编辑 /etc/ppp/options,使它清空:

pico /etc/ppp/options

删除了LOCK,存盘。然后就解决了这个问题。 随后,在我的 REDHAT 6。2 中,就可以正确连接到我的 ISP 了。 REAHAT6。0 需要额外的异步:设置 SUID(substitute user id)(以系统管理员身份进入):

cd /usr/bin/

chmod a+s kppp

问题解决:如果你的 MODEM 正确设置之后,还是不可以拨号的话,有可能是你的 MODEM 存在问题(可能你的 MODEM 是 WINMODEM,如果是那样的话,把你的 MODEM 扔掉吧。)。有一次,我使用 ATZ1 代替了标准贺式 ATZ 初始化串。 如果你的电话线是脉冲式的话,也许你需要把初始化串从 "ATDT" (="ATantion Dial Touchtone") 改为 "ATDP" (="ATantion Dial Pulse"),在贺式兼容 MODEM 上,都可以这样使用。 如果你可以正确连接到ISP,却不可以上网的话,可能是你的ISP使用了不同于你使用的协议,试一试其他的协议吧。

一次,出现了超时错误,我在 KPPP 的 DEVICE 下的 SETUP 中把 CRTSCTS 改为 XON/XOFF,问题解决,但是在大多数情况下,CRTSCTS都不会有问题。 在我将 REDHAT5.2 升级到 REDHAT6.0 后,连接的稳定性和速度都有了大副提高,所以如果碰到无法解决的问题以后,试试看升级。 如果你依旧有 PPP 设置问题,试一试 minicom,也许那样就可以解决了,他是 LINUX 种的 PROCOMM。下面是一段从 USENET 抄下来的关于如何使用 MINICOM 的文章:

From:� mark � Subject: Re: pppd problem with kppp
BachuZ写道:
〉〉同样,我做了一个试验,使用 MINICOM 启动 PPP。。。。他需要监测 BUGGY 脚本,
〉〉该怎么做?
很简单,如果你的 ISP 不允许手动 LOGIN,你就会遇到困难。我使用的每一个 ISP 都不允许这样干,所以:
1。启动 MINICOM
2。拨号。
3。登陆。
4。在你的 ISP 开始 PPP 的时候,用 ALT-Q 推出 MINICOM,
5。使用如下命令开启 PPPD:
pppd -d -detach /dev/modem� 115200 & OK,

这样,PPP 就会正常工作了。试试看 PING 一下你的 ISP 或者其它的地址。试一试是否正确工作。在 PPP-HOWTO 中,就包含了这个。 命令行。也许你想通过命令行启动 PPP,那么首先配置 NETCONF 种的 PPP0,设置的必须和你在 KPPP 中设置的一样。在老的版本中,需要设置 ISP 的 DNS,由于我使用 PAP 协议,所以我修改了 /etc/ppp/pap-secrets ,在末尾添加了

my_login_name ppp0 my_password 111.111.111.111 222.222.222.222

干完之后,启动PPP命令是:

ifup ppp0

关闭 PPP 命令是:

INFDOWN PPP0

如果还是有问题,就去:

http://home.altoplanos.net/~raanders/diald.html

http://axion.physics.ubc.ca/ppp-linux.html

在局域网内的没有 MODEM 的计算机如何访问胡联网?

在你的局域网内必须有一台计算机有 MODEM。 REDHAT5.2 在有 MODEM 的计算机上只需要一行:

sbin/ipfwadm -F -p m

这种方法有一定危险,如果有一个黑客发现了你的计算机,他可以通过你的计算机黑别人的,而你却要替他背黑锅。 更多情况请看: /usr/doc/HOWTO/mini/IP-Masquerade 更安全的设置如下:

ipfwadm� -F -p deny
ipfwadm� -F -a m -S 192.168.1.1/32 -D 0.0.0.0/0
ipfwadm� -F -a m -S 192.168.1.3/32 -D 0.0.0.0/0
ipfwadm� -F -a m -S 192.168.2.0/24 -D 0.0.0.0/0

REDHAT 6.0 命令的名称变为了 ipfwadm-wrapper,我只好使用第二种方法,

echo "1" > /proc/sys/net/ipv4/ip_forward

使用下面命令会更好:

ipchains -P forward DENY
ipchains -A forward -s 192.168.1.0/24 -j MASQ

如果你想在每次启动的时候自动运行,把他添加至/etc/rc.d/rc.local(类似于DOS中的AUTOEXEC。BAT),如果还有疑问,可以去看一看:

Less /usr/doc/HOWTO/mini/IP-Masquerade

man ipfwadm

man ipchains

REDHAT7.1, KERNEL2.4.X 防火墙命令该为了 iptables,只要不同时使用 iptables,你可以使用旧的。

4.5.5 如何使用 SAMBA

4.5.6 发电子邮件

4.5.7 通过 APACHE 做一个简单的 WEB 服务器

4.5.8 简单的 FTP 服务器


 
过几天翻译.