LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3386|回复: 0

FreeBSD FAQ 大全(网络部分)

[复制链接]
发表于 2003-6-27 16:03:25 | 显示全部楼层 |阅读模式
摘自木水清华

12.1 在哪里可以获得“无盘启动(diskless booting)”的信息?

无盘启动(diskless booting)是指freebsd通过网络启动,从服务器上读取需要的文件,
而不是在本地硬盘。更多的细节,请参阅用户手册中关于无盘启动的内容。

12.2 FreeBSD可以用作一台专用的网络路由器(router)吗?

是的。请参阅用户手册中高级网络设置(advanced networking)部
分,特别是路由和网关(routing and gateways)部分。

12.3 我能够通过FreeBSD使我的windows访问Internet吗?

一般来说,询问这个问题的人在家中有两台计算机,一台运行FreeBSD,另外一台运行某
个版本的Windows:这个想法是将运行FreeBSD的主机连接到Internet,而运行Windows的
主机通过FreeBSD访问Internet。这实际上是前一个问题的特例,当然可以很好的运行。

如果你是通过拨号连接到Internet的,用户级的ppp(8)有一个-nat选项。如果你运行ppp(8)的时候加上了-n
at选项、在/etc/rc.conf中将gate_enable设置为YES并且正确配置了windows,这样就可
以很好的运行了。更多的信息,请查阅ppp(8)的man pages或者用户手册中有关PPP的部分。

如果你使用内核级的PPP或者通过以太网方式连接到Interent,你需要使用natd(8)。更多的信息
,请查阅用户手册中natd的相关章节。

12.4. FreeBSD支持SLIP和PPP吗?

当然支持。你可以查阅slattach(8), sliplogin(8), ppp(8) 和pppd(8)的man pages。ppp(8)和pppd(8)提供双向连接(both incoming and
outgoing connections)支持,而sliplogin(8)只处理进入连接(incoming connections)
,slattach(
8)只处理外出连接(outgoing connections)。
请参阅用户手册中有关PPP和SLIP的章节,以获得更多的使用帮助。
如果你只能通过一个“shell account”访问Internet,你可以考虑使用ports中的[url
=http://www.freebsd.org/cgi/url.cgi?ports/net/slirp/pkg-descr]net/slirp[/url
]。这个软件能够让你从你的计算机直接(受到限制地)访问如ftp和http等服务。

12.5. FreeBSD支持NAT(网络地址转换)或者Masquerading(地址伪装)吗?

当然可以。如果你想在用户级的PPP连接中使用NAT,请参阅用户手册上有关如何使用PP
P的章节。如果你想在其它类型的网络连接中使用NAT,请参阅用户手册中n
atd的章节。

12.6. 我如何使用PLIP通过并行端口连接两台FreeBSD主机?

请参阅用户手册中PLIP章节。

12.7. 为什么我不能创建/dev/ed0设备?

因为你并不需要这么做。在Berkeley的网络构架体系中,网络接口(network interfac
es)只能由内核代码直接存取。请参阅/etc/rc.network文件和不同的网络应用程序的m
an pages中所提及更多的信息。如果看完之后你还是很糊涂,你可以找一本其它BSD相关
操作系统网络管理的书来看;除了少数显著区别之外,FreeBSD的网络管理与SunOS 4.0
和Ultrix基本相同。

12.8. 我可以在一个网卡上设置更多的IP地址(set up Ethernet aliases)吗?

如果新的IP地址与接口上原有的地址在同一个子网内,那么你在使用ifconfig(8)命令时需要
加上netmask 0xffffffff即可,如下例所示:
# ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff
否则,就像平常一样输入相应的IP地址和掩码:
# ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00

12.9. 我如何让3C503使用其它的网卡接口(port)?

如果你想使用其它的网络接口,你需要在使用ifconfig(8)命令时指定一个额外的参数。缺省
的端口是link0。要使用AUI接口而不是BNC接口,就改用link2。在文件/etc/rc.conf(
参阅rc.conf(
5))中,这些参数(flag)可以改变变量ifconfig_*来指定。
(译者注:AUI是指同轴电缆中的粗缆接口,BNC是细缆接口)

12.10. 为什么我在使用FreeBSD的NFS时出现问题?

我们用比较委婉的说法,有些PC网卡要比其它的好,在使用如NFS等对网络敏感的应用软
件时可能会有些问题。
更多的细节,请参阅用户手册中关于NFS的部分。

12.11. 为什么我不能NFS-mount linux的机器?

某些版本的Linux NFS的代码只收来自特权端口(privileged port)的mount请求(mou
nt request);可以使用如下命令:
# mount -o -P linuxbox:/blah /mnt

12.12. 为什么我不能NFS-mount Sun的机器?

运行SunOS 4.X的Sun工作站只接收来自特权端口(privileged port)的mount请求(mo
unt request);可以使用如下命令:
# mount -o -P sunbox:/blah /mnt

12.13. 为什么mountd总是提示“can't change attributes”,而且我的FreeBSD NFS服
务器上总是提示“bad exports list”?

这个问题最常发生的原因在于不了解/etc/exprots的正确格式。请仔细研究exports(5)的man
pages和用户手册中NFS相关章节,特别是配置NFS的部分。

12.14. 为什么我在通过PPP连接到NeXTStep机器时出现问题?

请试着取消TCP extensions,在/etc/rc.conf(请参阅rc.conf(5))中,将下面的这个变量设
置为NO:
tcp_extension=NO
Xylogic的Annex系统也存在这个问题,你需要做如上改动才能连接上。

12.15. 我如何打开IP多播(multicast)支持?

FreeBSD缺省支持多播主机操作。如果你希望将FreeBSD作为一台多播路由器,你需要在
内核配置文件中加入MROUTING选项,重新编译内核之后,运行mrouted(8)。如果在/etc/rc.co
nf中将mrouted_enable设置为“YES”,在启动的时候FreeBSD就会自动运行mrouted(8)。
MBONE的各种工具在ports中mbone[/
url]目录下。如果你需要视频会议工具vic和vat,可以在那里找到。

12.16. 哪些网卡用的是DEC PCI芯片?

Glen Foster <gfoster@driver.nsta.org>提供了下面这份最新的列表,
Table 12-1. Network cards based on the DEC PCI chipset
+-----------------------------------------------------------------+
| Vendor | Model |
+--------------+--------------------------------------------------+
| ASUS | PCI-L101-TB |
+--------------+--------------------------------------------------+
| Accton | ENI1203 |
+--------------+--------------------------------------------------+
| Cogent | EM960PCI |
+--------------+--------------------------------------------------+
| Compex | ENET32-PCI |
+--------------+--------------------------------------------------+
| D-Link | DE-530 |
+--------------+--------------------------------------------------+
| Dayna | DP1203, DP2100 |
+--------------+--------------------------------------------------+
| DEC | DE435, DE450 |
+--------------+--------------------------------------------------+
| Danpex | EN-9400P3 |
+--------------+--------------------------------------------------+
| JCIS | Condor JC1260 |
+--------------+--------------------------------------------------+
| Linksys | EtherPCI |
+--------------+--------------------------------------------------+
| Mylex | LNP101 |
+--------------+--------------------------------------------------+
| SMC | EtherPower 10/100 (Model 9332) |
+--------------+--------------------------------------------------+
| SMC | EtherPower (Model 8432) |
+------------- +--------------------------------------------------+
| TopWare | TE-3500P |
+--------------+--------------------------------------------------+
| Znyx (2.2.x) | ZX312, ZX314, ZX342, ZX345, ZX346, ZX348 |
+--------------+--------------------------------------------------+
| Znyx (3.x) | ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, |
| | ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd) |
+--------------+--------------------------------------------------+

????12.17. 在我的站点中,我为什么必须使用FQDN才能访问主机?

你或许发现要连接的机器实际上是在一个不同的域;比如,如果你处于foo.example.or
g域,而你希望连接的主机mumble处于example.org域,要访问这台主机,你必须使用正
式域名(fully-qualified domain name),mumble.example.org,而不是mumble。
一般来说,BSD BIND域名解析器支持这个功能。但是除了你所在的域之外,FreeBSD中最
新版本的bind(请参阅named(8))缺省并不提供非正式域名(non-fully qualified domain nam
es)的缩写功能。所以名为mumble的主机其域名要不是mumble.foo.example.org,要不
就在????根域(root domain)中搜索。
这与以前还要继续在mumble.example.org和mumble.edu中搜索的做法不同。请参阅RFC
1535,就知道为什么以前的做法不好,甚至还算是一个安全漏洞(security hole)。
这里有一个好方法,你可以在/etc/resolv.conf(参阅resolv.conf(5))中加入如下一行

search foo.example.org example.org
来替换以前的
domain foo.example.org
不过,一定要确保搜索的次序没有违法RFC 1535中提到的“boundary between local a
nd public administration”。

12.18. 为什么我在连网时一直出现“Permission denied”的错误信息?

如果你在编译内核时加上了IPFIREWALL选项,你需要注意缺省的规则是拒绝通过所有的
数据包而不是允许通过。
如果你是不小心搞错了防火墙的配置,你可以以root身份执行如下命令以使网络功能恢
复正常:
# ipfw add 65534 allow all from any to any
你还可以在/etc/rc.conf中加入firewall_type="open"选项。
要想知道如何配置FreeBSD防火墙,请参阅用户手册中的相关章节。

12.19. IPFW会增加多大的网络开销?

请参阅用户手册中防火墙(Firewalls)这章,特别是IPFW的
开销和优化(IPFW Overhead & Optimization) 部分。

12.20. 为什么我设置好了ipfw 中的"fwd"规则要将一个服务重定向到另一台机器上,结
果却没有正常工作?

可能的原因是你希望做网络地址转换(NAT),可是数据包却没有被正确的转发。"fwd"规
则确实像它字面上所表达的,仅转发数据包。它并不修改包中的数据。比如我们有如下
规则:
01000 fwd 10.0.0.1 from any to foo 21
当一个目的地址为foo数据包到达该主机时,根据这条规则,这个数据包被转发给10.0.
0.1,但是经过转发后,该数据包中的目的地址仍然是foo,并没有改成10.0.0.1。而大
多数主机都会丢弃掉目的地址不是自己的数据包。所以,使用"fwd"规则时,常常不能达
到用户所希望的那样效果。这是一个系统特性而不是一个错误(bug)。
请参阅FAQ中关于重定向服务(redirecting services)的部分
,natd(8)
的man pages,或者使用[url=http://www.freebsd.org/ports/index.html]ports[/url
]中其它端口重定向软件来完成您的工作。

12.21. 我如何才能将某一个服务从一台主机重定向(redirect)到另一台主机?

在ports的sysutils目录下有一个名为socket的软件,它可以帮你重定向FTP或者其它网
络服务。只需要在inetd.conf中将该服务的命令替换成对socket调用,比如:
ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.co
m ftp
其中ftp.example.com和ftp分别是被重定向到的主机名和端口。

12.22. 在哪里我能找到带宽控制工具(bandwidth management tool)?

在FreeBSD中有3个带宽控制工具:已整合到FreeBSD中的dummynet(4)(更详细的信息,请参阅
[url=http://www.freebsd.org/cgi/man.cgi?query=dummynet&sektion=4]ipfw(4)[/ur
l]);免费的[url=http://www.csl.sony.co.jp/person/kjc/programs.html]ALTQ[/url
];Emerging Technologies公司的商业软件Bandwidth Manager。

12.23. 为什么会出现“/dev/bpf0: device not configured”提示?

因为你运行的程序需要Berkeley Packet Filter ( url=http://www.freebsd.org/cgi/
man.cgi?query=bpf&sektion=4]bpf(4)
),但是你的内核并没有包含bpf。把下面
的这行加入到你的内核配置文件中,并且重新编译内核。
pseudo-device bpf # Berkeley Packet Filter
在FreeBSD 4.X之前的版本,你必须创建相应的设备节点(device node)。在重新启动
之后,在/dev目录下,运行:
# sh MAKEDEV bpf0
有关于配置设备的细节,请参阅用户手册中设备节点(device nodes)部分


????12.24. 在我的网络中,我如何装载(mount)一台windows系统上的磁盘,就向
是liunx中的smbmount一样?

可以使用SMBFS工具集。这个工具集中包含一系列的内核调整(kernel modifications)
和一些用户程序。这些程序和信息在ports中的net/smbfs目录下,或者包含在4.5-Release或
以后的基本系统中。

12.25. 在我的日志文件中的“icmp-response bandwidth limit 300/200 pps”是什么
意思?

这是内核告诉你某些网络连接需要内核发送过多的ICMP responses和TCP reset(RST)
回应,超出了内核所设定的发送速率。
当尝试连接一个未曾使用的UDP端口时,就会产生一个ICMP response(译者注:该回应
为“端口不可到达差错”,类型3、代码3)。
当尝试连接一个没有打开的TCP端口时,就会回应TCP reset。
除此之外,下面的这些连接也会产生上面的信息:
● 暴力的拒绝服务攻击(DoS)(相对于针对特殊弱点的单包(single-packet)攻
击)
● 试图连接大量端口的端口扫描(相对于只尝试连接常用端口)
上面的信息中第一个数字表示根据这些流量内核应该发送的数据包的数目,第二个数字
表示内核目前限制每秒钟最大发送数。你可以通过sysctl修改net.inet.icmp.icmplim来
改变最大发包数,比如,如果想将每秒最大发包数修改为300:
# sysctl -w net.inet.icmp.icmplim=300
如果你不想在日志文件中出现上面的信息,但是你仍然想保持回应的限制的话,你可以
利用sysctl将net.inet.icmp.icmplim_output设置为0来取消这些信息的显示。
# sysctl -w net.inet.icmp.icmplim_output=0
最后,如果你想取消回应的限制的话,你可以将net.inet.icmp.icmplim设置为0。不过
,基于上述的理由,我们建议你不要取消这个限制。

12.26. 这个错误信息“arp: unknown hardware address format” 是什么意思?

这个错误信息意味着,你所在的以太网中有些设备使用了FreeBSD不能识别的MAC地址。
这通常是有人在你的以太网中在进行某个实验,这常常出现在cable modem的连接中。不
过不用害怕,这没什么关系,而且应当不会影响FreeBSD系统的性能。
12.27. 我刚刚装好了CVSup,但是在执行时却发生了错误,怎么回事?
首先,看看是否是如下的错误提示:
/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found
这个错误信息说明你没有安装XFree86系统。如果你想使用CVSup的GUI图形化界面的话,
你需要安装XFree86。此外,如果你只想以行命令的方式运行CVSup,你需要删除原先在
[url=http://www.freebsd.org/cgi/url.cgi?ports/net/cvsup/pkg-descr]net/cvsup[
/url]下安装的软件,然后安装ports中的net/cvsup-without-gui。在用户手册中
的CVSup部分有更详细的说明。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表