2 用FreeBSD构建家庭网络世界( 二 )


继续在/etc/rc.conf中添加内容
gateway_enable="YES"
firewall_enable="YES"
firewall_type="simple"
firewall_quIEt="YES"
tcp_extensions="YES"
natd_interface="ed0"
natd_enable="YES"
这些东西主要是设置防火墙(Firewall)类型,让系统启动防火墙、支持网络地址转换(NAT)并告诉系统通过“ed0”进行地址转换 。
然后按ESC+回车保存退出
为了能解析域名我们还要在/etc/resolv.conf 加入域名服务器地址
#ee /etc/resolv.conf
添加
nameserver 202.115.64.33 #这是西南交大的主域名服务器
nameserver 202.116.64.34 #这是西南交大辅域名服务器
第三步:修改/etc/rc.firewall文件让所有的电脑可以通过防火墙自由进出
#cd /etc/
#ee rc.firewall
按”Ctrl u”进入该文件最末尾,追加如下几行
/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via ed0
/sbin/ipfw add pass all from any to any
然后按ESC+回车保存退出,就搞定了,是不是很简单?这里简单解释一下,第一行是将前面的防火墙规则全部清除,这也是为什么将这些行加在该文件的最后的原因;第二行是告诉服务器所有的数据包从ed0这块网卡上面通过地址转换NAT出去,ed0是连接Internet的外网卡;第三行设置防火墙为给所有用户通行 。
如果要检验设置是否正确,请执行“#sh /etc/rc.firewall”看看是否有如下输出,有的话则正常
Flushed all rules.
00500 divert 8668 ip from any to any via ed0
00600 allow ip from any to any
第四步:配置客户机
重新启动你的这台服务器 。家中其他的客户机只要把IP设为“192.168.0.*”,子网掩码设为“255.255.255.0”,设好ISP给你的DNS,网关设为“192.168.0.1”,就可以让全家的电脑通过这台服务器一起上网了,一台这样的服务器能耗少,稳定性好,几乎不会死机,如果情况不这么顺利,上不了网的话,那你先到服务器器上试试用“ping”命令对网关进行测试,如果失败的话执行”arp –ad”命令之后往往就可以解决问题,此命令用来删除服务器缓存中错误的网卡物理地址与IP地址的映射表 。
接下来可以用telnet服务来远程管理这台服务器,为了启动该服务需要编辑“/etc/inetd.conf”文件,把“telnet”前面注释用的“#”去掉,重新启动之后服务器就会启动该服务,不过为了能在远程登陆,还需用“adduser”命令创建一个新用户用来登陆,这里假设为“zhp” 。创建的原因是由于服务器出于安全考虑,拒绝“root”用户远程登陆,在远端如果需要得到管理员的权限可以先以普通用户登陆后执行“su”命令和管理员密码得到管理员权限,不过该普通用户必须属于“wheel”管理组,在该用户创建之初即可加入他到“wheel”管理组 。
如果只有很少几台电脑需要共享这台电脑上网,可以不买集线器,你只要有一种一转二的网线转接头就可以了,如图9所示,理论上每增加一个转接头就可以多接入一台客户机,一个这样的转接头在电脑城大概3元一个,比买集线器经济多了 。连接的时候注意内网卡ed1和第一个一转二的接头之间的网线不是普通的网线,而是两台电脑直连的那种网线,其内部连线经过了交叉,其他的网线均是普通网线 。这种连接的优点就是节省一个集线器,但弊病就是各个客户端之间不能相互访问,不过后面还会介绍一种可以解决这个问题的方法,那就是用samba把FreeBSD服务器变成没台客户机都能访问的文件服务器 。这样它就可以充当一个大家的中介,问题也就解决了大半 。

图9

推荐阅读