推荐期刊

在Linux上做个家用(或办公室)网络

时间:2015-12-21 01:50:43 所属分类:计算机技术 浏览量:

一.基本的网络设置 如果Linux系统已经做好了上网配置,同时亦能在充当服务器的电脑上浏览资料,这时就可以设置你家的网络了。以下是家庭网络要遇到的情况,了解这些基本知识后,才能真正动手组建家庭网络。 1.对外的网络联接界面是DHCP的客户,虽然它没有固

一.基本的网络设置
如果Linux系统已经做好了上网配置,同时亦能在充当服务器的电脑上浏览资料,这时就可以设置你家的网络了。以下是家庭网络要遇到的情况,了解这些基本知识后,才能真正动手组建家庭网络。
1.对外的网络联接界面是DHCP的客户,虽然它没有固定的IP,只有对外的Gateway、DNS等,但不会影响Gateway的功能。
2.对外的网络联接界面有固定的IP(例如i-Cable),或者ISP能提供长期连线服务,他提供的IP会固定数天日才转换一次。
3.对内的网络联接界面使用私人IP,即192.168.0.1这组classCprivateIP。
假定你需要的网络资料是:
eth0----IP:202.82.1.10Network:255.255.255.0Broadcast:202.82.1.255Gateway:202.82.1.1DNS:205.252.144.228
eth1----IP:192.168.0.1Network:255.255.255.0Broadcast:192.168.0.255

二.用图像界面设置网络
可以用linuxconf.(如果用RedHat)进行设置,这是个比较方便的工具。
1.以Superuser的身份用linuxconf将工具调出。选取Config→Networking→Basichostinformation,在上面分别填入eth0及eth1的资料。eth0是对外的联接界面,所以要填202.82.1.10那组资料,而eth1是对内联网的联接界面。所以用192.168.01那组。最好同时在Module栏填入那个ethernet界面所需的module。在Networking→clienttasks→routingandgateways→setDefaults,填入gateway的IP,在下方按“EnableRouting”键。
2.在Networking→Clienttasks→NameServerSpecification(DNS)处填入你的DNS,这里可以填入两个以上的DNS服务器。(其实所有的DNSServer的功能都一样,填哪个都没啥区别),填上你的ISP提供的DNS。记得所有的资料填好后都要按确定。
3.如果你用上述PPP时,也可以在linuxconf中设置,在linuxconf选PPP/SLIP/PLIP,在PPP/SLIP/PLIPConfigration上按Add键,随后再选PPP(按确定),在其中填入资料,如电话号码,ModemPort(如上述所述),再填上LoginName和Password就成了,电脑会自动给你的ppp编号为"0"(即ppp0)。

三.装入需要的Module作防火墙
ipchain除了可作防火墙外,也是分享网络的一套实用工具。使用ipchain是在Kernel中建立ipmasquerading的modules。而因为要做Gateway,所以关于Routing、IPsharper亦需使用。
注:要用superuser的身份进入/user/src/linux的目录,用makemenuconfig或makexconfig,在选择完成后请存储设置:
“makedep”,“makeclear”及“makebzImage”因为有modules的改动,所以同时要做“makemodules”及“makemodules_install”你所compile的新modules将会放入/lib/modules/2.XX(与核心号码对应)的目录内。

四.用insmod指令载入module
由于今天有很多distributions己经默认用户将它作为gateway等服务器,所以这些mobdules多数己经预先为用户compile好了。所以在Compile前可以试试将他们用指令“insmod”装上看看。几个要用的modules分别是:
1.ip_masq_user2.ip_masq_raudio3.ip_masq_ftp4.ip_masq_irc5.ip_masq_vdoline(如果你要用vdoline这玩意)
还有两个,一个是玩quake游戏用,另一个是给cuseeme(这是个网上的视图工具),这些modules全放在你的/lib/modules/2.2XX/ipv4目录中。

五.加入必需的参数
让系统在启动时自动挂上上述的Modules。用/etc/rc.d/rc.local是个不错的主意,rc.local是系统中最后的一个启动程序,只要用文字编辑加入下面的句子即可:
/sbin/insmodip_masq_user/sbin/insmodip_masq-raudio/sbin/insmodip_masq_ftp/sbin/insmodip_masq_irc
如果不想写,也可以试用echo这个小玩意。$echo"/sbin/insmodip_masq_ftp">>rc.local
这样会将括起的整句写入rc.local文件的最后一行。记住要用两个">",如果一个会overwrite整个rc.local的内容。可用上述方法重复将每行echo入rc.local内。


六.使用新编译的核心
如果你的Distribution并未为你预先编译modules,那么你就要如上所述的编译核心并安装modules。而新作出的压缩核心会放在/usr/src/linux/arch/i386/boot中。将这个bzImage链接,或移到/boot目录中。将修改/etc/lilo.conf中的设置,加上新的一段指向核心再用“lilo-v-v-v”装入MasterBootRecord(MBR)。

七.ipchain的设置
ipchain主要调节防火墙的防护功能,分别对进口及转传部加以调节。当然在家里用的防火墙并不需要太复杂的设置,下面有两个基本的设置可供参考:
给PPPO用的#!/bih/shecho1>/proc/sys/net/ipv4/ip_forward;/sbin/ipchains-Aforward-s192.168.0.0/24-jMASQ给Ethernet用的#!/bin/shecho1>/proc/sys/net/ipv4/ip_forward;/sbin/ipchains-Aforward-s192.168.0.0/24-jMASQ-ieth0
上述两个例子的头一句是一样的,echo“1”到“ip_forward”是令ip_forward生效的。因为系统中的默认值是“0”,意即不使用ipforward。
第二句只有最后一段不同,其中的“A”代表ipchains的规则会对以下的一段发生作用,而“s”代表source及其支配的IP地址或SubMark。在该例中只用了192.168.0.0-192.168.0.24,当然你改成192.168.0.0/5也可,视你的需要而定。

八.用ShellScript设置
使用上述ipchain脚本(shellscript),过去我会把它存入一个名为IP的文件,再用SuperUser的身份将它变成一个可以执行的文件。但在今天已经有一个新的Module名为IP,那么最好将之改为其它的名称,避免混淆,不如改为homenet。
要使用homenet这个shellscript,我们需要将它改为一个可以执行的文件:
$chmod+xhomenet
我们将文件放在/sbin目录内(这里多放些与网络有关的指令)。要让它能顺利执行,一定要在上述ip_masquerade的Modules装入后执行。
我们可以将它写入/etc/rc.d/rc/local内,但一定要在上述ip_masquerade后,具体为:
/sbin/insmodip_masq_user/sbin/insmodip_masq_user/sbin/insmodip_masq_randio/sbin/insmodip_masq_irc/sbin/home-net

九.最后保存资料
修改完毕后将其保存,那么在下次启动时系统就能顺利启动。这个设置的功能不随对外联接界面的IP而改变(无论是forward还是Routing)。当然,对外界面失效,也没法送出任何的TCP/UDPpacket,那就要修改界面的资料,修改完后,只要将Network的功能重新启动一次即可。
$/etc/rc.d/init.d/networkrestart.#redhat,mandrakeuser或$/etc/init.d/networkingrestart#debianuser也可以这样(只是暂时的,关机后此修改便会失效):$ifconfigeth0(IP号码)$routeadddefaultgw(gatewayIP号码)如果是用"ppp-on"script,请在上“/sbin/insmodip_masq_user”之前加:/etc/ppp/ppp-on
至此,一切服务器方面的设置都已完成,下一步是设置Windows客户端的工作,笔者在这里就省略不谈了,各位可以自行根据上述指定的资料来设置。

转载请注明来自:http://www.zazhifabiao.com/lunwen/gcjs/jsjjs/36507.html