免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5185 | 回复: 0
打印 上一主题 下一主题

[FreeBSD] [转贴]FreeBSD完全新手指南 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-01-15 00:52 |只看该作者 |倒序浏览
FreeBSD完全新手指南[译者前言]
发信人: hahalee (哈哈李), 信区: FreeBSD
标  题: FreeBSD完全新手指南[译者前言]
发信站: 网易 BBS (Mon Feb 15 06:37:19 1999), 转信

                             FreeBSD完全新手指南
         原文出处: http://www.vmunix.com/fbsd-book/  
         翻译: hahalee, rainheart, con, ...

■ 译者前言;   翻译: hahalee, rainheart, con, ...

今日浏览发现一本好书,非常适合新手阅读。其优点在于深入浅出,对读者
起点要求很低,但是写的很全面。于是咬咬牙,决定把他翻译出来...

这个计划非常需要各位FreeBSD用户的支持,相信在阅读原文的过程中我们都
可以得益不少。因为,我们中的大多数人(有BSD系统背景的朋友除外)在使
用过程中总是抱着“完成任务”的目的去看文档的,难得碰到这本比较系统的
书(比handbook和FAQ强远了),不如顺便做点好事,造福各位同好吧!

你可以把你感兴趣的那一章先贴个标题出来,这样我和别的朋友会自动选取
下面的部分接着翻译。某些章节相当长,你可以只选取其中一段来翻译(总
之只要你干了活,大家都会感谢你的 我就从第一章开始翻起了,最近会
比较忙,不过我一有空就会继续这项工作的.

翻译的过程中,未完成的文章希望能在后面加上“未完待续”的字样,翻完了
就去掉它,我好做进一步的整理。工作有了进展不妨按Ctrl-C"转贴"到本版然
后D掉原文,这样你的文章会到最新的位置,方便不常造访的朋友们阅读.
这本书的原文其实也还正在写,不过完成的部分已具有一定规模和可读性了。

总觉得,要是有一天Linux的人和这个版的人骂起了架,那才好呢!(呵呵,
有点惟恐天下不乱的意思)

FreeBSD完全新手指南[1-介绍]

FreeBSD完全新手指南
         出处: http://www.vmunix.com/fbsd-book/ 翻译:hahalee

■ FreeBSD 简介(绝对新手指南)nbsp;http://www.vmunix.com/fbsd-book/ 翻译:hahalee

□ 本章目标对新手指南)nbsp;http://www.vmunix.com/fbsd-book/ 翻译:hahalee

看完本章,你应该会做下面的事情了:

       ● 在网上自行寻找关于FreeBSD的资源
       ● 在FreeBSD邮件列表上问问题
       ● 订阅FreeBSD邮件列表
       ● 取消订阅邮件列表

□ 探索FreeBSDnbsp;取消订阅邮件列表

本书是为初步接触FreeBSD的用户和管理员们准备的,旨在帮助那些没有充分
的UNIX背景知识的朋友能顺利使用FreeBSD。不论是作为桌面系统,还是Internet
服务器,FreeBSD都有足够的能力和灵活性来满足哪怕是最苛刻的要求,但是,
同时也需要比某些“零售商品”化的操作系统付出更多的管理方面的努力。不过
另一方面需要指出的是,我们为了实现同样功能而付出的努力仍然比Windows95
和其他某些操作系统要少。如果你学会了正确的管理方法,就会发现维护运行一
个FreeBSD系统十分简单而充满乐趣。

即使你只在台式机上跑FreeBSD,他仍然具有服务器的功能,而你也可被称做“
系统管理员”。在Win95机器上工作的时候,你恐怕很难觉得自己是个“管理员”
虽然从技术上讲(Win95)的确是个“系统”,而你也的确是在“管理”它,你
觉得“管理员”这个称呼奇怪的原因在于Win95是个单用户系统,只有你一个人在
使用。

FreeBSD则是个多用户的系统:同一时间一台机器可以为多个用户服务.这种
服务可不光是文件共享服务(如WinNT和Netware提供的),连上FreeBSD的用户
可以使用服务器上所有的功能,就好象他坐在系统控制台上一样.如果允许
的话,用户之间还能实时互动.(译注fbsd-book/ 翻译:hahalee
Windows95更多的控制能力给你,在FreeBSD上你可以”热更新”系统参数,它
们则需要重新启动一下更新才能生效.比如,你可以更改机器的IP地址,然后
马上就可以投入使用.你不必等上5分种reboot来看效果.

现在,Internet正成为我们生活中越来越重要的组成部分,Internet也改变着我
们的商业模式,公司和个体都在寻找能廉价地增强他们竞争力的手段.尤其是公
司,他们正在提供各种Internet和Intranet服务以吸引客户,提高办事效率.与
此同时,尽管计算机硬件的价格不断下调,软件和支持的费用却不断上涨.对个
体来说,Internet更是一个开展业务的乐园,不过他们的启动经费往往只够买硬
件,他们也必须找到廉价的软件来提供服务.

UNIX是Internet的标准系统,极其重要的Internet标准协议--TCP/IP,DNS,HTTP,FTP
SMTP/POP3/IMAP......绝大部分都是在UNIX系统上开发或调试的.

FreeBSD刚好满足了上面两方面的需要:它基于UNIX的标准代码基(BSD 4.4),优化
运行于通用而廉价的Intel硬件平台,而且是自由的(正如其名).

FreeBSD上Internet标准协议的实现刚好是它的强项.它有众多的WWW/DNS/email
服务软件,也有大量的基于TCP/IP协议的软件包.

FreeBSD有着广泛的应用领域:
     ●服务器类应用
         ◎“装好就用”(turnkey)型的WWW服务器
         ◎ 电子邮件服务器(POP3和IMAP)
         ◎ 域名服务器(DNS)
         ◎ PPP拨号服务器
         ◎ WinXX用户的文件和打印共享服务()
         ◎ 用来当路由器
         ◎ 用来做Internet防火墙或网关
         ◎ 提供Novell Netware文件服务的互操作性
         ◎ 翻译网络地址(NAT),节约你的合法分配地址
     ● 普通应用
         ◎ 作为廉价的 UNIX X Window工作站
         ◎ 运行大量的FreeBSD桌面应用程序:
             ○ 文字处理
             ○ 电子表格
             ○ 数据库处理
             ○ 多媒体
             ○ 视频会议
         ◎ 运行其他系统上的应用:
             ○ Linux
             ○ BSDi
             ○ SCO
             ○ Windows 3.1/DOS
             ○ Windows 95/NT
         ◎ 单个用户的安全管理
     ● 大量的定制开发应用

□ 网络上的FreeBSD资源τ?

有关FreeBSD的信息大都可以在网上找到,且有多种格式。

Web网站:都可以在网上找到,且有多种格式。
网络上的FreeBSD站点很多,最好的寻找方法是从正式的FreeBSD站点开始浏览:
     ● http://www.freebsd.org (正式站点)
     ● http://www.freebsd.org/handbook/handbook.html (手册)
     ● http://www.freebsd.org/FAQ/FAQ.html (常见问答)
     ● http://www.de.freebsd.org/de/cgi/man.cgi (联机手册)
上面是进行中的FreeBSD文档计划的一部分,内有FreeBSD专家们撰写的应用指南,
还有一些参考书。

另外,也有不少站点是总体介绍FreeBSD和其他UNIX系统的。如:
     ● http://www.ugu.org (Unix 高手世界)
freebsd.org的人们也搭建了讨论FreeBSD的邮件列表,可以在上面报告bug、提问、
更新源代码等等你需要的所有服务,但你并不需要支付咨询服务费给任何人。关
于服务支持,你可以到http://www.freebsd.org/support.html了解详情。

CDROM:缘?a href="../../../../www.freebsd.org/support.html了解详情。">;http://www.freebsd.org/support.html了解详情。
其实大部分的文档在FreeBSD的安装光盘上已经包含了,可以在DOS或Windows下阅
读,安装前看看文档是个好主意,要是你拿不准,可以把相关章节打印出来随时备
查。

你的系统:个好主意,要是你拿不准,可以把相关章节打印出来随时备
在一个已经装好了的FreeBSD系统上,有如下文档:
     ● 全部的联机手册(man pages)
     ● HTML格式的手册(handbook)和常见问答(FAQ),它们放在/usr/share/doc
        下面,可以用netscape或者lynx来查阅。
     ● 系统自带的例子。(译注:可能指的是各种配置文件里面的注解)

□ FreeBSD邮件列表?印?译注:可能指的是各种配置文件里面的注解)

邮件列表是一群人保持互相联系的一种简单方法。一旦你订阅了某个邮件列表,
你就会收到所有送往该列表的邮件。这样你就能看到人们提出的问题和解答。
FreeBSD有专门的邮件列表来解答问题,报告bug,还有新版本的发布。

向相应邮件列表提问是获得正确快速解答的方便途径,回复信往往在几个小时
内就能收到。要是订阅列表的其他人中刚好有知道答案的,他立即回答你的话,
几分钟之内就能收到回音了。你得到的不仅仅是答案,而将是完整的解决方法,
因为列表订阅者中很可能碰到过跟你一样的问题,甚至,你碰到问题的软件的
作者都有可能在这个列表当中,他们给你的答案,自然是最有价值的。

在你提问之前,你可能想去看看这个问题是否已经被提出过,要是能直接在邮件
档案中搜索到答案的话,你就不必麻烦别人了:
     http://www.freebsd.org/search.html
要是在这个地方搜不到你想问的东西,那么找个正确的邮件列表,发封email。

有若干主题的FreeBSD邮件列表可供自由订阅。你最好先只订阅一个跟你目前使
用的系统和环境密切相关的列表,一次订阅多个列表的话要小心你的邮件流量超
载。

无论何时,你应该避免“重复张贴”(cross-posting),尽量只在跟你的问题相
关的那个列表上提问,重复张贴是对带宽的浪费,也是对无关列表的读者精力
的浪费。如果你错了,人们一般会指点你应该把这个问题发到哪个列表上去。
(译注文件里面的注解)
可就不是"指点"了,肯定会被人家骂个狗血喷头!)

如果你是个新手,那么freebsd-questions列表很可能是你最需要的了。所有关于
安装运行FreBSD的问题都可以在这个列表上提出来。

当发信到列表上去提问的时候,请记得详细描述你的问题,附带上尽量多的信息,
好方便大家帮助你解决问题,包括:

   ● 你运行的FreeBSD版本号
   ● 机器上有多少内存
   ● 硬盘类型和大小
   ● 硬件型号
   ● 所有跟你问题相关的配置情况
   ● 出错信息的详细拷贝

注意:如果你自己参考了某些联机文档来试图解决过问题,也请把你的尝试告诉
大家,这样,如果你遗漏了某些资料没有看,他们会很快地告诉你要查找些什么
资料。

□ 订阅邮件列表他们会很快地告诉你要查找些什么

下面列出一部分FreeBSD邮件列表,你可以从这些列表开始订阅。随着FreeBSD开发
和应用的发展,新的列表也会加入进来。

当订阅列表的时候要注意,订阅信和讨论信的邮件地址是不同的。订阅信是你要求
加入到某个列表中去的信,这种信一般是由一个叫做majordomo的列表管理程序来
自动处理的:你需要发送到 majordomo@freebsd.org  

每个不同主题的列表都有其“列表地址”,你往这个地址发的信会被复制分发到每个
订阅者的邮箱里去,他们并不能帮你完成订阅申请,所以不要把你的订阅请求发到
这些列表地址:

   ● freebsd-newbies@freebsd.org      新手问题讨论
   ● freebsd-questions@freebsd.org    一般性问题讨论
   ● freebsd-isp@freebsd.org          FreeBSD在ISP方面的应用讨论
   ● freebsd-current@freebsd.org      最新current用户问题
   ● freebsd-bugs@freebsd.org         报告BUGs
   ● freebsd-chat@freebsd.org         随意瞎聊(当然要跟FreeBSD有关的)
   ● freebsd-announce@freebsd.org     新版本发布通告(一般是只读的)
   ● freebsd-stable@freebsd.org       FreeBSD稳定版应用问题

要想订阅某个列表,往majordomo@freebsd.org发一封请求信,其内容举例如下:

     subscribe frebsd-questions
     subscribe freebsd-announce
     END

这样,majordomo程序会把你加入到 freebsd-questions和freebsd-announce两个
列表里面。很快,你就会收到这两个列表上的往来邮件了。在请求信的最后加上
end字样是个好习惯,它告诉majordomo忽略邮件的后面内容,否则,你的签名档
也会被majordomo分析一通。(译注p; FreeBSD稳定版应用问题
是加上这个"END"好些,不要去"测试"majoedomo了)

majordomo收到请求信后会给你发封确认信,以确认你的邮件地址是正确的,里面
有你的名字和地址,还有确认密码。你要做的很简单,直接"reply"这封邮件给
majordomo就行了。之所以采用这种确认程序,是为了防止别人冒用你的名义,
给你订上一大堆的邮件列表。

(译注ajordomo写请求信,格式跟
订阅请求一样,不过把subscribe换成unsubscribe就行了)


FreeBSD完全新手指南[4-配置系统]

发信人: con (con), 信区: FreeBSD
标  题: FreeBSD完全新手指南[4-配置系统]
发信站: 网易 BBS (Thu Feb 18 11:48:43 1999), 转信

内容

     1. 配置你的.cshrc文件
     2. 设置更多的虚拟控制台(Virtual Terminals)
     3. 增加一个硬盘
     4. 系统配置文件选项
     5. 添加和安装软件
     6. 怎样安装Linux模拟器

1. 配置你的.cshrc文件

   这是系统自带的.cshrc文件.

   
      #csh .cshrc file

      alias h         history 25
      alias j         jobs -l
      alias la        ls -a
      alias lf        ls -FA
      alias ll        ls -lA
      alias su        su -m

      setenv  EDITOR  vi
      setenv  EXINIT  'set autoindent'
      setenv  PAGER   more

      set path = (~/bin /bin /usr/{bin,games} /usr/local/bin /usr/X11R6/bin)

      if ($?prompt) then
              # An interactive shell -- set some stuff up
              set filec
              set history = 1000
              set ignoreeof
              set mail = (/var/mail/$USER)
              set mch = `hostname -s`
              set prompt = "${mch:q}: {\!} "
              umask 2
      endif

   path语句告诉你的shell哪里能找到你要执行的程序. 它从列出的第一个目录
开始寻找与你输入的命令相匹配的文件. 如果找到就开始执行那个程序.

   它不会在没有列出的目录里寻找可执行文件. 哪怕就在你的当前目录下. 所以
如果你的当前目录没在path的列表里, 即使你要执行的文件就在这里也不能被找
到.

   如果要执行当前目录下的文件, 你得在命令前面加一个"./" . 例如, 你在
/usr/local/www/cgi-bin/目录里要测试一个编好的程序. 它名叫getdata.pl,
你输入getdata.pl, 然而并没有你期待的HTML输出, 你只是得到了一条错误信
息, getdata.pl: Command not found. 这是因为你的path语句里没有包含"."
目录. 要想这个文件被执行你得输入:

./getdata.pl

   现在你会看到期待的HTML. 除非你编的程序有误, 输出的是你所用的编程语言
的错误信息.

一个 TCSH 的例子

   就象前面提及的, tcsh在csh的基础上增加了很多特性使得命令行界面更加易用.
这是一个能够体现出tcsh优越性的.cshrc文件的例子:


      #tcsh .tcshrc file

      alias h         history 25
      alias j         jobs -l
      alias la        ls -a
      alias lf        ls -FA
      alias ll        ls -lF
      #alias su       su -m  -- bad for su'ing to root..

      setenv  EDITOR  vim
      setenv  PAGER   less

      set path = ( ~/bin /usr/local/bin /bin /usr/{bin,games} /usr/sbin /sbin /usr/local/samba/bin
/usr/X11R6/bin /usr/local/java/bin .)

      setenv IRCNICK ringzero
      setenv IRCSERVER irc2.magic.ca
      setenv NNTPSERVER news.sentex.ca

      if ($?prompt) then
              # An interactive shell -- set some stuff up
              set filec
              set fignore = .o                # ignore object files for filec
              set showmatch                   # for programming
              set history = 100  
              set savehist = 75               # tcsh version of history..
              set ignoreeof
              set mail = (/var/mail/$USER)
              set prompt="vinyl:{%h}%~ %% "   # tcsh version of above!

              set watch = (1 gabor any mike any adrian any pwardrop any)

              umask 2
      endif

   第一点值得注意的是有关setenv的行. 在这个例子里, 它们设置了使用新的阅读
软件和irc客户端软件的环境变量. 另一个感兴趣的地方是set fignore = .o , 它
使得file completion(set filec)(译者注: 我对tcsh不太熟悉,我猜想这里的file
completion 是指类似bash的命令补齐的东西,但又不敢确定,所以照搬下来了)忽略
结尾是".o"的文件. 如果你是一个C程序员的话这很有用, 因为你要编辑的是一个
".c"文件而不是".o"文件. set showmatch 是 tcsh 特有的另一个file completion
机制. 至于它的用途, 自己试试吧! set prompt 选项为你的shell设置了一个很
友好的提示符. 它会在任何时候显示你的当前目录. 看起来会象这样:

      mark:{123}~ % cd /usr/src
      mark:{124}/usr/src %

   注意波浪号表示你的home目录. 现在你已经知道了很多tsch和csh选项了, 如果想
知道更多,最好的方法是man tcsh! 所有两种shells的特征(比如tcsh的"watch"特征)
都在man page里. 自己去体验一下你所喜欢的那些窍门吧!

         注意:

         如果你更改了你的.cshrc文件, 你可以用source .cshrc来使你的
         变动立即生效!

2. 设置更多的虚拟控制台(Virtual Terminals)

   (译者注: 想来想去还是决定把Virtual Terminals译为虚拟控制台,
    因为记得有人把Pseudo terminals称作虚拟终端的)

   一个虚拟控制台是一个内建在服务器主控制台上的终端. 它使你能同时打开好
几个屏幕, 当然一次只能看到一个. 缺省情况下设置了4个虚拟终端, 但只有3个
能用.按ALT加F2或F3(F1是一开始的那个)可以切换到第二或第三个虚拟控制台.  
现在你会在屏幕上看到登录画面, 这和第一个虚拟控制台看起来没有什么不同.  
按ALT加F1回到原来的屏幕.

   要增加虚拟控制台, 你必须以超级用户身份访问/dev目录. 然后运行MAKEDEV
程序. MAKEDEV是一个shell脚本, 所以你得用sh shell解释器来执行它. 在提示符
下输入:

cd /dev

sh MAKEDEV vty 16

         注意:

         (全部用大写输入MAKEDEV, 大小写有本质的区别)

   这将建立16个虚拟控制台. 它们可以用ALT+F?来访问. (译者注: 但是F键只有12个)
但是在你能使用它们之前你还要在/etc/ttys文件里激活它们. 去到/etc/目录里然后
用vi来编辑/etc/ttys文件.

cd /etc

vi ttys

#
# $Id: 139,v 1.3 1999/04/03 10:52:39 root Exp root $
# @(#)ttys  5.1 (Berkeley) 4/17/89
#
# name  gettytype  status    comments
#
# This entry needed for asking password when init goes to single-user mode
# If you want to be asked for password, change "secure" to "insecure" here
console noneunknown off secure
#
ttyv0 "/usr/libexec/getty Pc"   cons25  on  secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc"   cons25  on  secure
ttyv2 "/usr/libexec/getty Pc"   cons25  on  secure
#ttyv3  "/usr/X11R6/bin/xdm -nodaemon"  xterm off secure
ttyv3 "/usr/libexec/getty Pc"   cons25  on  secure
ttyv4 "/usr/libexec/getty Pc"   cons25  on  secure
ttyv5 "/usr/libexec/getty Pc"   cons25  on  secure
ttyv6 "/usr/X11R6/bin/xdm -nodaemon"  xterm off secure
# Serial terminals
# The 'dialup' keyword identifies dialin lines to login, fingerd etc.
ttyd0 "/usr/libexec/getty std.9600" dialup  off secure
ttyd1 "/usr/libexec/getty std.9600" dialup  off secure
ttyd2 "/usr/libexec/getty std.9600" dialup  off secure
ttyd3 "/usr/libexec/getty std.9600" dialup  off secure
# Pseudo terminals
ttyp0 none      network   secure
ttyp1 none      network   secure
ttyp2 none      network   secure
ttyp3 none      network
(译者注: 原文里是一个图, 所以用我的/etc/ttys文件来代替)

   如果你运行X window, 必须保留一个关掉的虚拟控制台. 缺省情况下,
ttyv4 是关闭的.

   你要在标着Virtual Terminals的部分添加几行. 如果你制造了16个虚拟
控制台设备, 那么你现在有16个虚拟控制台要配置. 也就是说在/etc/ttys
文件里要有16行有关虚拟控制台的内容; 现在还只有4行. 你可以通过拷贝
粘贴这些行来完成:

ttyv2 "/usr/libexec/getty Pc" cons25 on secure

   把光标移到这行后按yy然后按j使光标下移再按12p来使这行被粘贴12次.现在
你有了ttyv2的12份拷贝, 你得把它们改为二进制数字. 从4开始,然后是5,6,
7,8,9,a,b,c,d,e,f.

   完成后你就在/etc/ttys里配好了从ttyv1 - ttyvf的虚拟控制台.

   在vi里你能用简单的方法来完成替换,把光标移到你要改变的数字上按r键再
输入要替换成的数字,然后按j使光标下移再重复前面的工作.

   结束编辑后按ZZ退出vi. 现在要重起init进程. 以超级用户身份输入:
kill -HUP 1

   现在你的虚拟控制台已经随时待命了.

3. 增加一个硬盘

   先要从物理上安装硬盘. 保证电缆已经接好, 从第一针到电源插头.(注意,
数据线上的红带要与电源线相邻). 再确保有电供给驱动器.

   然后重新启动FreeBSD,FreeBSD在启动的时候会检测出这个驱动器. 如果没有
的话用"-c"参数reboot. 在启动提示符下进入visual config使合适的控制器被
激活. 最可能的情况是你使用的核心是自己建立的并且附加的IDE驱动器以被核
心禁止,或者在一个SCSI被核心禁止的系统上添加第一个SCSI驱动器. 如果控制
器只是被核心*禁用*而不是删除, 只须在visual config里把它激活就行了. 否
则你必须重建核心以加入适当的控制器和驱动.

   如果你错过了启动时的信息, 登录后在提示符下敲dmesg. 这将重现你的启动
信息.

/usr/>; dmesg | more

   如果安装的是SCSI驱动器, 要确保驱动器已被SCSI BIOS找到并且用了适当的
SCSI termination.

   一旦所有东西都被找到, 就可以开始FreeBSD下的配置了.

******************************************************************

   要做的第一件事就是清扫干净磁盘上原有的任何东西. 很多硬盘驱动器厂商已
把新的驱动器分好区并且已格式化成DOS FAT文件系统. 在余下的部分, 我们假
设找到的硬盘驱动器是sd1, 也就是电缆上的第二个SCSI驱动器(用SCSI ID 1).
下面是如何清除FAT垃圾:

dd if=/dev/zero of=/dev/rsd1 count=100

   然后要为驱动器准备一个"disk label". 假设你计划整个硬盘都在FreeBSD下
使用:

disklabel -Brw sd1 auto

   *把rsd1和sd1替换成你添加的硬盘,不要在一个正在使用的磁盘上进行这些操作.
这将清除磁盘上的每样东西, 为FreeBSD能使用它做好准备. 一切顺利的话将不需要
使用fdisk.

   如果你计划在FreeBSD下把整个硬盘分成一个区, 那么用刚才 disklabel 建立的
缺省的单一分区就行了, 否则的话你要用disklabel编辑器来创建更小的分区.你也
许需要在磁盘上增加一个交换分区, 例如.

   编辑第一个IDE盘的disklabel:

disklabel -e wd0

# /dev/rwd0c:
type: ESDI
disk: wd0s1      
label:  
flags:
bytes/sector: 512
sectors/track: 51
tracks/cylinder: 13
sectors/cylinder: 663
cylinders: 722
sectors/unit: 479298
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # milliseconds
track-to-track seek: 0  # milliseconds
drivedata: 0  

8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a:    65536        0    4.2BSD        0     0     0   # (Cyl.    0 - 98*)
  b:    85936    65536      swap                        # (Cyl.   98*- 228*)
  c:   479298        0    unused        0     0         # (Cyl.    0 - 722*)
  e:    61440   151472    4.2BSD        0     0     0   # (Cyl.  228*- 321*)
  f:   266386   212912    4.2BSD        0     0     0   # (Cyl.  321*- 722*)


   这部分需要动动脑筋,以使那些数字正确. 给一个分区分配容量,较容易的方法是
给你要分配的分区一个通过计算得出的柱面(cylinders)数. size 是分区的扇区数
目. offset 是前一个分区的最后一个扇区. 分区 a 从扇区0开始. 分区必须在你
所分配给分区的柱面的范围内开始和结束. 计算分区大小的方法是, tracks/cylinder
(每柱面的磁道数)乘以sectors/cylinder(每柱面的扇区数)再乘以你分配给分区的
柱面数.(扇区数*磁道数*柱面数=分区大小) 计算offset的方法是, 上个分区的大
小加上个分区的offset.(Size+Offset=下个分区的Offset)

   fstype是你在分区上使用的文件系统的类型. FreeBSD通常使用的文件系统是
4.2BSD. swap是交换文件使用的文件系统. FAT是DOS分区使用的文件系统.分区a
为启动扇区保留,它为空表示不需要启动扇区.

   分区 b 保留作交换文件. 它不能从offset 0开始. 它的前面必须要有一个分
区. 分区 e 可以从offset 0 开始并且可以是任意大小, 所以交换分区可以放在
分区 e 的后面.

   分区 c 不会被改变. 要从分区c开始制造你的文件系统.

   现在要用newfs命令在磁盘创建一个文件系统. 如果你使用的是整个磁盘, 可以
用disklabel 自动建立的c分区.

newfs /dev/rsd1c

   c分区总是整个驱动器 - 所以这种情况下你建立的文件系统也就包括了整个磁盘.

   如果你把磁盘分的更小, 你必须在每个分区上使用newfs来建立文件系统,交换分
区除外.

   最后,你需要mount驱动器. 在这里我们假设你已用mkdir创建了"mount point"
/d2 .

mount /dev/sd1c /d2

   顺利的话, 你可以看到象这样的东西:

      #vinyl % df -k

      Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
      /dev/sd0a       31775    13530    15703    46%    /
      /dev/sd0s1f   1913091  1086207   673837    62%    /usr
      /dev/sd0s1e     29727    12663    14686    46%    /var
      procfs              4        4        0   100%    /proc
      /dev/sd1c     4108717   616594  3163426    16%    /d2

   现在你要在/etc/fstab文件里创建一个条目以使它在每次启动时都被mount.
否则你每次都要手工执行mount. 你要为创建的每个分区建立fstab条目,包括
交换分区.

   此外可以在man page里参考: fstab mount disklabel dmesg dd 和 newfs  


4. 系统配置文件选项

     4.1 重要的启动时初始化选项
     4.2 网络配置子项
     4.3 (其他)网络daemon & NFS选项
     4.4 网络时间服务选项
     4.5 网络信息服务(NIS)选项
     4.6 网络路由选项
     4.7 系统控制台选项
     4.8 其他管理选项
     4.9 Allow local configuration override at the very end here

     注意:

     所有参数都必须括在单引号或双引号里. 多个条目间用空格格开

4.1 重要的启动时初始化选项

swapfile="NO"  

      # 设定交换文件的名字,如果希望使用辅助交换文件的话.
      # Set to name of swapfile if aux swapfile desired.

apm_enable="NO"  

      如果希望激活APM(高级电源管理)设为YES

pccard_enable="NO"  

      要配置PCCARD设备的话设为YES.

pccard_mem="DEFAULT"  

      如果ccard_enable=YES, 这是卡的内存地址.

pccard_ifconfig="NO"  

      以太网pccard的特殊配置(否则 NO).

local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d"  

      本地启动目录.在启动期间,FreeBSD会搜索某些目录,并执行里面的任何
      程序.有些象Windows里的"启动"文件夹.local_startup选项让你指定那
      些目录在启动期间会被搜索.可以列多个目录,中间用空格格开.它们将按
      顺序被搜索,每个文件都会被执行.这是除/etc/rc.local外另一个启动程
      序的方法.


4.2. 网络配置子项

基本网络选项:  

hostname="myname.my.domain"  

      这是你的主机名. 如果你连在Internet上的话还要包括域名.这个名字
      也会出现在你的DNS表里.

nisdomainname="NO"  

      设定 NIS 域 如果使用 NIS (否则 NO).

firewall="NO"  

      防火墙类型 (参见 /etc/rc.firewall) 否则 NO.

tcp_extensions="YES"  

      # 允许 RFC1323 & RFC1544 扩展 (否则 NO).

network_interfaces="lo0"  

      这是你配置你的所有网卡的地方.每块网卡都要有一项.lo0
      是环路(loopback)设备也称作"localhost".网卡,比如ed0
      (NE2000)和fxp0(Intel Ether Express)在上面加入.

ifconfig_lo0="inet 127.0.0.1"  

      在这里配置你上面列出的每块网卡.

ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff"  

      通过lo0为localhost设置一个别名.

4.3. (其他)网络daemon & NFS选项:

syslogd_enable="YES"  

      Syslog 是你的登录服务.它把所有的错误记录在/var/log/.它用
      /etc/syslog.conf来配置.  

syslogd_flags=""  

      # syslogd 的命令参数 (如果被允许).

inetd_enable="YES"  

      这是你所有的网络服务. 如果它被禁止你将不能telnet到这台计算机
      上. 它通过/etc/inetd.conf来配置. 它管理着所有动态服务, 也就是
      说在需要时才会被启动的服务, 比如: finger, telnet,rlogin, ftp,
      pop3 等等...

inetd_flags=""  

      # inetd 的参数.

named_enable="NO"  

      这将运行你的Internet域名服务, 或者说, BIND. 如果你已经有了一个
      DNS你就不必把它打开了.它通过 /etc/namedb/named.boot来配置, 除非
      你专门指定了另一个. 你将会有至少两个DNS servers.

named_flags="-b /etc/namedb/named.boot"  

      这是你指定给named的配置文件.

kerberos_server_enable="NO"  

      # 运行一个kerberos主服务程序 (否则 NO).
      # Run a kerberos master server(or NO).

rwhod_enable="NO"  

      # 运行 rwho daemon (否则 NO).

amd_enable="NO"  

      # 以$amd_flags运行amd服务. (否则 NO).

amd_flags="-a /net -c 1800 -k i386 -d my.domain -l syslog /host /etc/amd.map"  

      例子

nfs_client_enable="NO"  

      # 这台主机是一台 NFS 客户机 (否则 NO).

nfs_client_flags="-n 4"  

      # nfsiod 的参数 (如果被允许).

nfs_server_enable="NO"  

      # 这台主机是一台 NFS 服务器 (否则 NO).

nfs_server_flags="-u -t 4"  

      # nfsd 的参数 (如果被允许).

weak_mountd_authentication="NO"  

      # 运行 PCNFSD / 其他 non-root nfsd (否则 NO).

nfs_reserved_port_only="NO"  

      # 仅在安全端口上提供NFS (否则 NO).

rpc_lockd_enable="NO"  

      # 运行 NFS rpc.lockd (*broken!*) 如果 nfs_server.

rpc_statd_enable="YES"  

      # 运行 NFS rpc.statd 如果 nfs_server (or NO).

portmap_enable="YES"  

      # 运行 portmapper 服务 (否则 NO).

portmap_flags=""  

      # portmap 的参数(如果被允许).

xtend_enable="NO"  

      # 运行 X-10 电源控制器 daemon.

xtend_flags=""  

      # xtend 的参数(如果被允许).

4.4. 网络时间服务选项:  

timed_enable="NO"  

      运行时间 daemon (否则 NO).

timed_flags=""  

      timed 的参数(如果被允许).

ntpdate_enable="NO"  

      运行ntpdate 使时间同步 (or NO).

ntpdate_flags=""  

      ntpdate 的参数(如果被允许).

xntpd_enable="NO"  

      允许 xntpd 网络时间协议 (否则 NO).

xntpd_flags=""  

      xntpd 的参数(如果被允许).

tickadj_enable="NO"  

      运行 tickadj (否则 NO).

tickadj_flags="-Aq"  

      tickadj 的参数(如果被允许).

4.5. 网络信息服务(NIS)选项:

nis_client_enable="NO"  

      我们是一台NIS客户机 (否则 NO).

nis_client_flags=""  

      ypbind 的参数 (如果被允许).

nis_ypset_enable="NO"  

      在启动时运行ypset (否则 NO).

nis_ypset_flags=""  

      ypset 的参数(如果被允许).

nis_server_enable="NO"  

      这是一台NIS服务器 (否则 NO).

nis_server_flags=""  

      ypserv 的参数(如果被允许).

nis_ypxfrd_enable="NO"  

      启动时运行rpc.ypxfrd(否则 NO).

nis_ypxfrd_flags=""  

      rpc.ypxfrd 的参数(如果被允许).

nis_yppasswdd_enable="NO"  

      启动时运行rpc.yppasswdd(否则 NO).

nis_yppasswdd_flags=""  

      rpc.yppasswdd 的参数(如果被允许).

4.6. 网络路由选项:  

defaultrouter="NO"  

      这里设置你的缺省网关.这是你连接Internet的路由器的IP地址.如果
      你没有设置这项,你将仅能ping通同一子网内的地址.如果你的IP地址
      是10.1.1.3,子网掩码是255.255.255.0,你将能看到10.1.1.2而不能
      看到10.1.2.2,因为没有设置缺省的路由.

static_routes=""  

      静态路由是作为路由器位于两个不同网络间的机器的高级选项.  

gateway_enable="NO"  

      如果你的机器要当作网关的话设成YES.如果你机器上有不只一块网卡并
      把它们用作路由,网桥,ipnat或者当作拨号服务器时设定为YES.

router_enable="YES"  

      设置为 YES 以允许一个路由daemon.

router="routed"  

      如果被允许,这是路由daemon的名字.

router_flags="-q"  

      路由daemon的参数.

mrouted_enable="NO"  

      作 multicast routing (参见 /etc/mrouted.conf).

ipxgateway_enable="NO"  

      设成 YES 以允许 IPX 路由.

ipxrouted_enable="NO"  

      设成 YES 以运行 IPX 路由 daemon.

ipxrouted_flags=""  

      IPX 路由 daemon的参数.

arpproxy_all=""  

      替换已废除的核心选项 ARP_PROXY_ALL. 当作拨号服务器时需要.

4.7. 系统控制台选项  

keymap="NO"  

      /usr/share/syscons/keymaps/* 里的keymap (否则 NO).

keyrate="NO"  

      设键盘速率为: slow, normal, fast (否则 NO).




FreeBSD完全新手指南[5-设置你的网络]

本章内容
         第一部分: 设置你的网络

设置你的网络
         
         1. 配置网络界面
         2. TCP/IP 介绍
         3. Inetd, "超级"服务程序
         4. 文件传输协议
         5. 电子邮件
         6. POP3 电子邮件
         7. Windows 文件共享: SAMBA
         8. Web Servers
         9. 设置一个域名服务器
         10. 路由/网关
         11. 防火墙
         12. IP 网络地址转化

1. 配置网络界面
   
   一个网络界面就是一个使你能同你的网络通信的设备. 这些设备可以是一个网卡,
或者一个调制解调器, 或是其他各种各样的使你能够通信的设备. 这些设备需要进
行配置以便使网络能够认出你是谁. 这些界面将用TCP/IP网络协议来配置. 通常在
/etc/rc.conf里配置, 或者/etc/sysconfig如果你用2.2.1或更老的版本.

2. TCP/IP 介绍

         2.1 IP - Internet 协议
         2.2 TCP - 传输控制协议
   
   TCP/IP 是FreeBSD用来进行网络通信的协议. 当然, TCP/IP也是整个Internet
用来通信的协议, 这意味着FreeBSD也能用在Internet上. 本章试图给你一个
TCP/IP协议的概貌和在一个TCP/IP网络上配置你的FreeBSD机器所需要了解的内容.

   在我们向你对TCP/IP作足够的介绍以使你能把它运行起来的同时, 如果你在维
护一个FreeBSD网络(或者任何类似的TCP/IP网络), 几乎可以肯定你还要对TCP/IP
协议有更多的了解. TCP/IP是一个大的足够用一整本书来描述的协议, 并且需要很
多人来完成! (恕我直言)有本很好的关于这个主题的书就是Craig Hunt所写的
<<TCP/IP Network Administration>;>;.由O'Reilly and Associates 出版. 这本书
有对TCP/IP的更具深度的描述并且覆盖了很多本书仅简单涉及的UNIX通用服务程序.
这本书在涉及配置文件等的时候会显得有些过时, 但你仍能领会出其中的概念. 如
果你对(TCP/IP)协议本身很感兴趣的话, Richard Stivens写了从理论开始一直到
实践知识的整整三卷书. <<TCP/IP Illustrated>;>;已由Addison Wesley出版.

         注意:

         虽然FreeBSD也可以使用Apple-talk和IPX/SPX(Novell)协议, 但这并
         不是FreeBSD所使用的标准协议,所以我们将把注意力集中到FreeBSD使
         用的TCP/IP上.在本书的应用程序部分将看到如何使FreeBSD成为Apple
         和Novell 文件/打印服务器的替代品 - 我们在那里将讨论如何打开适
         当的协议.

   关于TCP/IP首先你需要知道的是它实际上是一族协议. 这一族协议使我们能把数据
从一台计算机传到另一台 -- 一个源头到一个目标 -- 而不知道数据在这段旅途上走
过的确切的路径.有三个重要的部分你需要了解: IP, TCP, 和 UDP.

2.1 IP - Internet 协议

   本质上说, IP 产生包(packets). 什么是一个包? 一个包是一个小的数据"单元"
或"包".看下面的例子能使我们很容易理解包是什么, 和IP怎样来制造包. 假设你
有200k的数据要通过Internet传给你的朋友. 你可以把这个文件想成是一个数据
的"流" - 这个文件有一个开始,和一个顺序的字节集合(这里是200K个字节)一直到
文件的末尾. 任何这样的连续性的数据集合被称作"流",由于数据据有方向性. 识
别数据流最关键的是集合里的字节存在次序. IP 所做的就是把这些连续的数据流断
开成为离散的包("packets"以使它们能够被独立发送. IP 把数据流切成一个个的包,
然后包装这些包以使它们适合在Internet上传送, 并且在包上标明源地址和目标地址.


2.2 TCP - 传输控制协议

  有关IP刚才我所没有告诉你的是, 很古怪的说, IP 是不可靠的. IP 并不保证某
个包能到达目的地, 或者全部包到达后再按原来的顺序恢复成数据流. 这就是要有
TCP的原因. TCP 按正确的次序来还原包并且保证所有的包都到达目的地. 没有
TCP, IP几乎没有用! 我猜这就是为什么叫它们TCP/IP的原因!!

   有一个次序号藏在每个包的地址信息里. IP 发送每个包出去的时候递增次序号,
而TCP用这些次序号把到达的包按正确的次序重新装配起来. TCP 也用次序号来判
断是否有包丢失. 如果某个包没有出现(不正确的路由,等等原因)TCP会向源地址
请求再发一次这个包. 并且将保持重试直到所有的包凑成一个数据流. 因此,TCP
使得TCP/IP包传送机制"可靠".

   TCP还加入了IP所没有提供的另一层次上的功能: 端口. IP 地址标识出网络上的
每台计算机, 而TCP 端口号标识出每台计算机上提供的每种服务. 端口号使得你
能同时运行很多种服务, 并且有一种机制保证每个请求能得到正确的服务. Web  
服务器也许是你最熟悉的一个例子. WWW服务程序通常运行在80端口上. IP地址
加端口号请求的标准形式是 IP:端口号 - 例如, 192.168.100:80 . TCP使我们
能够同时向同一IP地址的Web 服务程序和telnet 服务程序(端口23)发送包.
太棒了!根据记录, 端口号的范围是 0 - 65000. 所有小于1024的端口号是有限
制的,意味着只有root有权限开始一个监听端口号小于1024的服务程序. 所有大
于1024的则可被任何用户进程使用 - 不需要有root权限.


3. Inetd, "超级"服务程序

   正如我们先前揭示的, 一个FreeBSD系统能同时运行很多程序 - 对于FreeBSD
网络服务程序来说也一样; 它将为你要提供的每一种服务运行一个程序. 问题是,
每个服务程序都会吃掉一大块内存 - 而内存总是宝贵的. 解决方案是在收到请求
后启动相应的服务, 而在发送完应答给产生请求的客户机后又终止它. 然而一个服
务怎么知道什么时候该醒来呢?

   这就是有inetd的原因. 它叫做 Internet "超级服务程序" 因为它控制着很多一
台典型的UNIX主机上存在的服务程序. inetd 监视着所有到达服务器上的请求的端
口号. 当一个请求到达时, inetd 在/etc/services 里寻找服务的名字. 就象我们
能在下面看到的, services 文件是一个端口号和服务名称的简单映射:

                 (图略)

   在inatd知道了要启动的服务的名字后, 它会在它的配置文件, /etc/inetd.conf
里查找配置信息,配置文件看起来象这样:

                 (图略)

   该文件通常的格式是:
                 ● 服务名称
                 ● socket 类型
                 ●  协议
                 ●  {wait|nowait}[/max-child]
                 ●  用户
                 ●  服务程序
                 ●  服务程序参数

   现在用一个具体的例子来说明它们分别代表什么.

         telnet stream tcp nowait root /usr/libexec/telnetd telnetd

   第一个字段,telnet,是服务的名称. 这个名字必须和/etc/services里找到
的名字精确匹配. 第二和第三个字段, stream tcp, 描述了该服务所产生的连接的类
型. 在这种情况下, tcp 将处理包的顺序以使下载的信息成为无差错的数据流. 本字
段另外仅有一个选项,dgram udp,指定用UDP,而不是TCP来处理包的顺序(TCP/IP 里所
谓的"不可靠"数据报(datagram)).

   第四个字段,root,指定用来运行服务的用户ID. inetd所启动的大多数程序都以
"root"或"nobody"身份运行. 接下来的字段告诉inetd在哪能找到要运行的程序, 和
任何要求的参数(在这个telnet 的例子里, 没有任何参数).

         注意:

         通过inetd来运行程序的缺点是, 当一个服务被频繁的运行,可能一
         秒一次,或甚至一秒数百次的时候用它(inatd)不是很有效率. 你会
         问为什么? 通常用inatd来运行程序可以减小占用的内存数量, 但这
         带来的惩罚是每当有请求到达的时候都必须"fork"程序. 简单的说,
         "fork" 意味着inetd要为服务启动新的进程. 我们不打算详细讨论
         fork一个进程所需要的额外开销的技术细节. 而只是说会有一个额
         外的开销, 而在一个繁忙的系统上这足以导致一个可观的延迟. 因
         此一些服务以"deamons"形式而非"inetd"运行. 你决定如何运行一个
         服务程序完全取决于你认为它的重要性. 如果性能是决定因素,使程
         序成为一个daemon(即常驻内存). 如果想减少内存的开销,则通过inetd
         运行程序. 典型的, FTP,finger,talk,POP3,和telnetd通过inetd服
         务程序来运行,但web servers 和邮件发送server(通常是sendmail)
         是daemons.象NCSA和Apache之类的web Server甚至会事先"pre-forking"
         几份拷贝以消除请求的数量很多时forking产生的额外开销! 如果你
         安装了一种新的服务, 附带的文档通常会告诉你最有效使用它的方法.


4. 文件传输协议

Not yet Scheduled

5. 电子邮件

Not yet Scheduled

6. POP3 电子邮件

Not yet Scheduled

7. Windows 文件共享:SAMBA

   如果你用ports来安装,则它把所有东西都装在/usr/lcoal/samba/二进制文件放
在bin目录里. 配置文件位于lib/smb.conf

   如果是用package,它会把东西装到/usr/local/sbin配置文件在
/usr/lcoal/etc/smb.conf. 要想知道如何创建smb.conf配置文件可以读smb.conf
的man page. 这份关于smb.conf的文档写的很好也很全面. 你有可能会放到配置
文件里的每样东西都包含在man page里了.要读它,只需输入:

man smb.conf
                  
   使用testparm来检查你的配置文件. testparm 也会告诉你缺省的配置文件在
哪里.

   不管你是如何安装samba的, 你需要修改你的/etc/rc.local文件以使Samba在
系统启动时启动. 在你的rc.local里加入这两行:

/usr/lcoal/sbin/smbd -D
/usr/local/sbin/nmbd -D

8. Web Servers

Not yet Scheduled

9. 设置一个域名服务器

   首先你要有一个有效的域名. 你需要在你注册域名的地方给出你的主域名
服务器的IP地址. INTERNIC或你上一级的DNS会把这些做好的.

   如果你设置一个子域名, 你需要在你的域上建立一个映射指向那个域的主
域名服务器.

首先:

   在/etc/sysconfig文件,或者是新的/etc/rc.conf,加入一行:

namedflags="-b /etc/namedb.named.boot"

   这将在系统启动时启动名字服务的Daemon, 并让它把/etc/namedb/named.boot
作为配置文件.

   现在进入/etc/namedb/目录,然后输入:

sh make-localhost

   这将在目录里创建localhost.rev文件. 所有的本地传输都需要这个文件.

   现在创建或编辑named.boot文件

++++++++++++++NAMED.BOOT EXAMPLE ++++++++++++++++++++

;semi colons comment out statments.

; sortlist 128.3.0.0

; The sort list gives higher priority to certain domains in the case
;of multi-homed hosts.

directory       /etc/namedb

; this denotes the directory that named should look to find all of the  
; source files.

; type    domain                source host/file                backup file

cache     .                                                     named.root

; named keeps a cache of recently looked up hostname in the file mentioned.

primary   0.0.127.IN-ADDR.ARPA  localhost.rev

; this is the local host entry needs to be there. Usually automatic.

      primary  Berkeley.EDU           your.domain.zone
      primary  32.128.IN-ADDR.ARPA    your.domain.rev

; These lines are a pair.  They represent the primary domain you control
; The first one is your domain and the second is the reverse lookup table.
; You need to have each DNS entry entered in to both files.
; You will need a pair of primary lines for each primary domain that  
; you administer.

      secondary Berkeley.EDU          128.32.130.11 128.32.133.1      ucbhosts.bak
      secondary 32.128.IN-ADDR.ARPA   128.32.130.11 128.32.133.1      ucbhosts.rev.bak

; These lines are a pair also.  They represent the domains that you are  
; interested in knowing about if their DNS goes down.  Or you may just be
; the back up DNS for them.

; Instead of source files, you specify the host that is the primary DNS
; for that domain.  You must also specify that filename that named will
; store the temporary table in.
; You need a pair of these lines for each of the Domains that you are
; a secondary DNS for.
++++++++++++++++++++++End Example Named.boot File++++++++++++++++++

   如果你有域"my.domain.com", IP地址的范围是10.20.40 - 10.20.40.255,并且
需要一个主域名服务器,你可以在named.boot文件里加入这几行:

primary my.domain.com my.domain.com.zone

primary 40.20.10.IN-ADDR.ARPA my.domain.com.rev

   现在需要制造primary source文件. 创建一个名为/etc/named/your.domain.zone
的文件(替换成你实际的域名). 它必须和named.boot里的primary段指定的文件名
匹配.

  这是一个这样的文件的例子:


      IN      soa     bbcc.ctc.edu.   root.bbcc.ctc.edu. (
                                      28      ;serial
                                      10800  ;refresh every 3 hours
                                      900    ;retry every 15 minutes
                                      604800 ;expire after a week
                                      86400  ;minimum of a day
                                      )
                              IN              NS      bbcc.ctc.edu.
                              IN              NS      ctc.ctc.edu.
                              IN              NS      bb.cc.wa.us.
      bbcc.ctc.edu.           IN              A       134.39.180.254
      mail                    IN              CNAME   bbcc.ctc.edu.
      www                     IN              CNAME   bbcc.ctc.edu.
      irc                     IN              CNAME   bbcc.ctc.edu.
      bigbend.ctc.edu.        IN              CNAME   bbcc.ctc.edu.
      athena                  IN              A       134.39.180.5
                              IN              HINFO   intel 586-133 winnt
      proto                   IN              A       134.39.180.6
      aries                   IN              CNAME   bb.cc.wa.us.
      sal                     IN              A       134.39.180.8
      dialup3                 IN              A       134.39.180.252
      ;end of file.


5)现在要产生主反向解析(primary reverse lookup)文件. 创建一个叫
/etc/named/your.domain.rev的文件.(替换成你实际的域名)

   它必须和named.boot里的primary段指定的文件名匹配. 这是一个例子:


      IN      soa     bbcc.ctc.edu.   root.bbcc.ctc.edu. (
                                      28      ;serial
                                      10800  ;refresh every 3 hours
                                      900    ;retry every 15 minutes
                                      604800 ;expire after a week
                                      86400  ;minimum of a day
                                      )
      8               IN              PTR     sal.bbcc.ctc.edu.
      252             IN              PTR     dialup.bbcc.ctc.edu.



10. 路由/网关

Not yet Scheduled

11. 防火墙

Not yet Scheduled

12. IP 网络地址转化

  12.1. 1)装入核心模块
  12.2. 2)设置NAT规则
  12.3. 3)装入NAT规则
  12.4. 4)在网络界面间允许路由
  12.5. 5)到子网的静态路由
  12.6. 6)确定你的网络界面已被配置

在装完IpFilter后,你需要改动这三个文件:

/etc/rc.local

/etc/sysconfig

/etc/natrules

这是在FreeBSD 2.1.6-RELEASE上用ipfilter 3.1.4的测试.

12.1. 1)装入核心模块

   如果你使用可装入的核心模块你必须编辑/etc/rc.local文件以使模块在
启动时被装入.

用这一行: modload /lkm/if_ipl.o

如果没有使用,跳过此步.

12.2. 2)设置NAT规则

   产生一个叫/etc/natrules的文件并放入你的系统所需要的规则. 如果你要
使用整个10网络:

map fxp0 10.0.0.0/8 ->; 208.8.0.1/32 portmap tcp/udp 10000:65000

下面是命令每一部分的解释:

map 开始命令.

fxp0 是真实internet地址的界面

10.0.0.0 是要使用的子网

/8 子网掩码, 就是 255.0.0.0

208.8.0.1 所使用的真实IP地址

/32 子网掩码255.255.255.255, 仅使用此IP地址

portmap tcp/udp 10000:65000

整个网络都用此端口号来重定向tcp/udp调用.

12.3. 3)装入NAT规则
   
   每次计算机重新启动时NAT规则都必须被装入. 在你的/etc/rc.local文件里
放入这行: ipnat -f /etc/natrules

   要检查它是否已装入,以root身份运行: ipnat -ls

12.4. 4)在网络界面间允许路由

   告诉核心路由这些地址. 在/etc/rc.conf里加入:

Gateway=YES

   或者在/etc/rc.local里加入:

sysctl -w net.inet.ip.forwarding=1
   
12.5. 5)到子网的静态路由

   现在要给子网加入静态路由.编辑你的/etc/rc.conf, 在一个旧一些的系统
上是/etc/sysconfig.

static_routes="foo" route_foo="10.0.0.0 -netmask 0xf0000000 -interface 10.0.0.1"

12.6. 6)确定你的网络界面已被配置

   我有两块Intel Ether Express Pro B网卡. 一块是208.8.0.1另一块是10.0.0.1
你需要在/etc/sysconfig里作如下配置:

      network_interfaces="fxp0 fxp1"
      ifconfig_fxp0="inet 208.8.0.1 netmask 255.255.255.0"
      ifconfig_fxp1="inet 10.0.0.1 netmask 255.0.0.0"

         注意:

         当一台客户机在虚拟网络上使用ftp时,要用passive模式.
         否则在取目录列表时会超时.


freebsd完全新手指南[X配置]

各位大虾,对不起了,该部分还是有一些没有翻完,我会抽时间出来把它翻完的,如
果各位大虾等不及的话,可以把没翻的部分做完,不过记得跟我说一声,以免重复劳
动嘛.下面是把前面两部分合并起来,再加了一部分进去:
如何架设X Window System.
FreeBSD完全初学者手册
本章取自``The Comprehensive FreeBSD Guide(TM)''的一小部分,
本书在Chris Coleman和Mark Mayo的努力下在进上步完成中.而本节
旨在指导人们通晓X Window System 的安装和定制.如有任何特别的
系统要求和配置,请垂询fbsd-book@vmunix.com
内容:
1. 安装X binaries
2. X的硬件配置
3. 开始X
4. 选择一个X 窗口管理者(X window manager)
5. X的提示与技巧

1. X Window System 是运行在UNIX上的图形用户界面.在你可得到的
X Window System中是有许多区别的,然而,XFree86是免费的. XFree96
是从FreeBSD计划中分离出来的一个自愿计划,但也包含在FreeBSD的光
碟中.你可在http://www.xfree86.org. 取得更详细的信息,这里提到的
X或X Window System 指的是XFree86. 要是想获得FreeBSD 的商业版的
X Window Systems 可以去www.xig.com. 看看.

在一个标准的FreeBSD的安装过程中,你也可同时安装X Window System,
或是在系统已建立并运行后再来安装X Window System. 在FreeBSD安装
中,X是被包含在若干个Distribution Sets 中的.
它们包括
X User
X Developer
Everything
如你已安装了以上之一,那么X就已经在你的硬盘上了,你可以跳过下面的
内容而直接开始配置.
在Custom安装模式中,你可将X Window System的安装作为普通安装的一部
分来进行.若你没有安装包含了X Window System的Distribution Set的话,
  在post-install的配置菜单中你还有第二次机会来安装它.在post配置菜
单中,选择Distributions 再选
  X Window Distribution就行了.

如果你的系统已经运行,你可从ports collection中安装.你要以root的身份
来做这事:
cd /usr/ports/x11/XFree86  
然后再打:
make install

你也可从FTP站点上把源代码当下来,并编译安装.此过程所需的时间,依赖于
你的机子的速度.

2.X的硬件配置
2.1 xf86config
2.2 XF86Setup

在为你的硬件配置X前,你需先了解你的硬件.有三件事你绝对要弄明白(或者最
低限度你要猜准):
鼠标的类型和它接在哪个端口上(是 PS/2 还是在串口COM1上)
你的显卡的牌子(可是要被支持的牌子哦)
你的显示器的水平和垂直刷新率.(可在显示器手册中找到)

如果你清楚了以上三样东西的话,那么配置X就是非常容易的了。剩下的只是
个人品味和地理上的语言环境问题了。当你已经有了这些数据之后,你可以用
文本式配置程序(xf86config)或图形式配置程序(XF86Setup)来进行配置。
用了其中一个来配置,就不必再用另一个了。

2.1  xf86config
xf86config放在/usr/X11R6/bin/中。如果在那里还找不到这个配置工具的话,

你也可以直接打xf86config来启动。否则,你就打/usr/X11R6/bin/xf86config

吧。你要以root的身份来做。

进入以后,第一件事就是会问你的鼠标类型是哪种:
先指定一个鼠标类型。可从以下的列表中选择:

  1.  Microsoft compatible (2-button protocol)
  2.  Mouse Systems (3-button protocol)
  3.  Bus Mouse
  4.  PS/2 Mouse
  5.  Logitech Mouse (serial, old type, Logitech protocol)
  6.  Logitech MouseMan (Microsoft compatible)
  7.  MM Series
  8.  MM HitTablet
  9.  Microsoft IntelliMouse      

从1-9中选择你的鼠标类型。如果你选择了一个三键鼠标的话,程序会问
你是否要启用中键,它叫做ChordMiddle:
请用y或n来问答下面这个的问题:
Do you want to enable ChordMiddle?      

如果你键入n,接下来程序就会问你是否要仿真中键。你可以同时按下
左右两个键来仿真中键,X会当成你有下了中键了。
请用y或n来问答下面这个的问题:
Do you want to enable Emulate3Buttons?      
接下来程序会问你的鼠标接在哪一个端口上。
现在程序会给出一个鼠标联结的设备名,例如/dev/tty00。你跟着按enter就行了

程序会用默认值:/dev/mouse。

鼠标设备:
鼠标通常是联在com1,com2或者PS/2端口上的。

/dev/ttyd0 (COM1)

/dev/ttyd1 (COM2)

/dev/psm0 (PS/2 Port)

接下来,程序会问你是否要重新设置你的键盘布局,别理它,跟着按enter就行了

请按y或n来回答下面的问题:
Do you want to use XKB?   
这是问你要不要特殊的语言支持,如果你只是说英语的话,跟着按enter就行了。


如果你要输入特殊的语言符号,即要在X中输入非ACSII字符的话,你可将左Alt键

设为Meta,右Alt键设为ModeShift。
请按y或n来回答下面的问题:
Do you want to enable these bindings for the Alt keys?      

这些是在你的显示器手册中的水平刷新率。如果你不知道你的显示器的刷新率的
话,
选择#2是相当安全的。不要选择比你的显示器的最高刷新率还要高的设置。否则

可能会对一些老显示器造成伤害。
刷新率用kHz做单位,用典型的模式来表示显示器类型
  1  31.5; Standard VGA, 640x480 @ 60 Hz
  2  31.5 - 35.1; Super VGA, 800x600 @ 56 Hz
  3  31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x6
00)
  4  31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced,
      800x600 @ 56 Hz
  5  31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz

  6  31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 H
z
  7  31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz
  8  31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz
  9  31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz
10  31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz
11  Enter your own horizontal sync range
输入你的选择(1-11):

你还要输入显示器的垂直刷新率。同样,#2是一个普通的SVGA设置。
  1  50-70
  2  50-90
  3  50-100
  4  40-150
  5  Enter your own vertical sync range
输入你的选择吧。

下面这个问题用y来回答,它会在显卡数据库中搜索你的显卡。
Do you want to look at the card database?  

下面这个列表中,左边是卡的名字,右边是卡的芯片
  0  2 the Max MAXColor S3 Trio64V+                    S3 Trio64V+
   1  928Movie                                          S3 928
   2  AGX (generic)                                     AGX-014/15/16
   3  ALG-5434(E)                                       CL-GD5434
   4  ASUS PCI-AV264CT                                  ATI-Mach64
   5  ASUS PCI-V264CT                                   ATI-Mach64
   6  ASUS Video Magic PCI V864                         S3 864
   7  ASUS Video Magic PCI VT64                         S3 Trio64
   8  ATI 3D Pro Turbo                                  ATI-Mach64
   9  ATI 3D Xpression                                  ATI-Mach64
  10  ATI 3D Xpression+ PC2TV                           ATI-Mach64
  11  ATI 8514 Ultra (no VGA)                           ATI-Mach8
  12  ATI All-in-Wonder                                 ATI-Mach64
  13  ATI Graphics Pro Turbo                            ATI-Mach64
  14  ATI Graphics Pro Turbo 1600                       ATI-Mach64
  15  ATI Graphics Ultra                                ATI-Mach8
  16  ATI Graphics Ultra Pro                            ATI-Mach32
  17  ATI Graphics Xpression with 68875 RAMDAC          ATI-Mach64
输入号码来选择相应的显卡。
按enter翻到下一页,按q就可继续配置下一步了。

在接下来的部分中,你可以把X server当成是“显卡的驱动程序”。在显卡数据

定义中推荐的驱动程序总是会工作得较好的。无论如何,如果你的显卡不在显卡

据库中的话,你可以选择#5,它包容了在显卡定义中推荐的X server。

1. The XF86_Mono server。这是一个单色server,它可以工作在任何VGA兼容卡
上。
使用640*480的分辨率(甚至可以工作在一些SVGA芯片上)。

2.The XF86_VGA16 server。这是一个16色VGA server。它可以工作在任何VGA兼

卡上。

3. The XF86_SVGA server。这是一个256色SVGA server。它支持许多SVGA芯片。

在某些芯片上,它还可支持加速或者更高的色深。

4. The accelerated servers。它包括XF86_S3, XF86_Mach32, XF86_Mach8,
  XF86_8514, XF86_P9000, XF86_AGX, XF86_W32, XF86_Mach64, XF86_I128 和

     XF86_S3V。

以上这四种server类型对应于在XF86Config中四个不同的“屏幕”设置部分(vg
a2,
vga16,svga,accel)。

5.从显卡定义中选择server,XF86_S3。

(未守待续)

4.   选择一个窗口管理者
4.1.  twm  
4.2.  fvwm  
4.3.  fvwm95  
4.4.  enlightenment  
4.5.  windowmaker  
4.6.  kde  

在运行X之前,你先要选用一个Window Manager。如果你不选一个窗口管理者的话

twm会默认式地自动打开。你要在.xinitrc或者.xsession文件中选择你所要用的

Window Manger.如果它不存在的话,你就要建一个。
下面是我的.xinitrc文件的拷贝:

setenv KDEDIR /usr/local
startkde
#color_xterm -geometry 80x24+0+0 &amp;
#color_xterm -geometry 80x23+-1+341 &amp;
#color_xterm -geometry 85x24+492+1 -ls &amp;
#fvwm95
#fvwm
#enlightenment

这里我已经选择了kde作为我的窗口管理者了,我有三个窗口管理者的注释行。你

可以每次只指定一个窗口管理者。(译者注:此处好像对.xinitrc和.xsession两

文件的设定好像说的还不是很清楚,请各位大虾对此节做一个补充吧。)

4.1.   twm
此窗口管理者是缺省设置。它的界面并不友好并且不支持虚拟桌面。

4.2.   fvwm
fvwm 有良好的虚拟桌面,看起来像是Windows 3.1的感觉。现在的Novell 5就是

fvwm的一个版本来作为它的服务控制台的窗口管理者。在fvwm安装之后,你要把

fvwm加入你的.xinitrc或者.xsession文件。

4.3.   fvwm95
看起来像是一个带着fvwm所有工具栏的Windows 95。非常稳定,并有优秀的虚拟
桌面。
它需要自己的配置文件:fvwm95rc。

4.4.   enlightenment
一个真正cool的桌面外观。支持插入桌面主题,例如像“aliens"。支持四个虚拟
桌面。

4.5.   windowmaker
允许你按自己的要求来创建和删除虚拟桌面。

4.6.   kde
Kde是一个完善的桌面环境。它自带许多工具和程序。Kde在新的用户群中正变得
越来越
流行。在ports collection已经安装了的前提下,才能安装kde。现在只有一种办
法来
安装kde。
cd /usr/ports/x11/kde make install

5.   X的提示和技巧
ctrl + alt + backspace
关闭 X并退到shell。

ctrl + alt + keypad plus
以列表中的顺序来改变屏幕的设定。

ctrl + alt + keypad minus
改在列表中前一个屏幕设定。

ctrl + alt + F1
跳出X到ttyv0

alt + F4
从tty's跳回X(如果X是在ttyv4上)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP