“无盘启动” 就是让 FreeBSD 从网络启动, 并且从网络上的 server 上读取其它必要的文件, 而非由本机硬盘上获得。 详细的资料, 可以参考 FreeBSD 使用手册中关于无盘启动的部分。
基本上,会问这种问题的人在家里至少有两台计算机,一台跑 FreeBSD 另外一台跑某个版本的 Windows; 具体的想法是将 FreeBSD 主机连上 Internet, 然后透过这台 FreeBSD 主机, 让跑 Windows 的计算机能够上网。 这个问题算是前一个问题的一个特例, 因此答案当然是可以的。
如果您正使用拨号方式接入 Internet, 则可以使用用户态 ppp(8) 提供的 -nat
选项。 如果您在运行 ppp(8) 时指定了 -nat
选项, 则应在 /etc/rc.conf 中将 gateway_enable 设置为 YES, 并相应地对 Windows
机器进行配置, 这样就可以很好地工作了。 具体细节, 请参见 ppp(8) 的联机手册,
以及 使用手册中关于 PPP 的那章。
如果使用的是内核模式的 PPP, 或者以以太网方式联入 Internet, 则需要使用 natd(8)。 请参见使用手册中的 natd 部分所提供的教程。
是的。 你可以查查 slattach(8)、 sliplogin(8)、 ppp(8), 以及 pppd(8) 的联机手册, 以了解相关的情况。 ppp(8) 和 pppd(8) 分别提供了进出双向联机的支持, 另外 sliplogin(8) 专门提供进入联机的支持, 而 slattach(8) 专门提供向外联机的支持。
如果你需要更进一步的数据的话, 请查阅 使用手册关于 PPP 和 SLIP 的部分。
如果你只能够过 “shell 帐号” 来访问 Internet, 的话, 也许可以试试 net/slirp 这个套件程序。 这个套件程序可以提供你的计算机直接连上某些 (有限的) 服务, ftp 及 http 等等。
是的。 如果您希望在用户态 PPP 连接上使用 NAT 的话, 请参见 使用手册中关于用户态 PPP 的部分。 如果您希望在某种其它形式的网络连接上使用 NAT, 请参阅使用手册中的 natd 部分。
请参考手册中关于 PLIP 的部分。
如果你的 alias 地址跟你目前网络接口的地址在同一个子网下的话, 在 ifconfig(8) 命令行中指定 netmask 0xffffffff, 类似下面这样:
# ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff
反之, 就像平时那样指定子网掩码即可:
# ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00
You can read more about this in the FreeBSD Handbook.
如果您想使用其它的网口, 必须在 ifconfig(8) 的命令中指定额外的参数。 默认的端口是 link0。 如果希望使用 AUI 网口来代替 BNC 的话, 则应指定 link2。 这些参数也应放到 /etc/rc.conf 中的 ifconfig_* 变量中 (参见 rc.conf(5))。
我们用含蓄一点的说法,某些 PC 的网络卡比其它的好, 这种状况在造成 NFS 这种对网络敏感的程序有时会出现问题。
参考 使用手册中关于 NFS 的部分 以了解进一步的详情。
某些版本的 Linux NFS 程序代码只接受来自特权端口的挂接请求; 试用这行指令看看:
# mount -o -P linuxbox:/blah /mnt
跑 SunOS™ 4.X 的 Sun 工作站只接受来自特权端口的挂接请求; 试用这行指令看看:
# mount -o -P sunbox:/blah /mnt
12.12. 为什么 mountd 一直鬼叫说 “can't change attributes” 而且我一直看到 “bad exports list” 这个讯息在我的 FreeBSD NFS 服务器上?
这个问题最常发生的原因是在于不了解 /etc/exports 的正确格式。 请详读 exports(5) 以及使用手册中的 NFS 部分, 特别是 配置 NFS 这节。
尝试禁用 TCP 扩展, 方法是在 /etc/rc.conf (参见 rc.conf(5)) 中, 把以下这个值设成 NO:
tcp_extensions=NO
Xylogic 的 Annex 主机也有相同的问题, 您要做相同的修改才能连上这些主机。
FreeBSD 默认即支持多播主机的操作。 如果希望让您的机器作为多播路由器运行, 则需要重新编译内核, 以便在其中加入 MROUTING, 并运行 mrouted(8)。 如果您在 /etc/rc.conf 中将 mrouted_enable 设置为 YES, 则 FreeBSD 会在开机时自动启动 mrouted(8)。
注意: 在最新的 FreeBSD 版本中, mrouted(8) 多播路由服务、 map-mbone(8) 和 mrinfo(8) 工具已经从基本系统中删除。 现在这些程序改为通过 FreeBSD Ports 套件中的 net/mrouted 提供。
MBONE 的各种工具可以在它们 ports 下所属叫做 mbone 的目录中找到。 如果您在找视频会议的工具如 vic 或 vat, 看看那里吧。
以下是 Glen Foster <gfoster@driver.nsta.org>
提供的清单:
表 12-1. 采用 DEC PCI 芯片组的网卡
制造商 | 型号 |
---|---|
华硕 (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) |
请参阅 FreeBSD Handbook 中的答案。
如果您有在内核中联编进 IPFIREWALL 选项, 则需要小心其默认配置是禁止所有没有明确地允许的包。
如果您无意中错误地配置了系统中的防火墙设置, 则可以以 root 身份登录系统, 并输入下面的命令:
# ipfw add 65534 allow all from any to any
也可以在 /etc/rc.conf 加入 firewall_type="open" 的配置。
关于如何配置 FreeBSD 防火墙的进一步细节, 请参见 使用手册中的对应章节。
可能是你除了转送封包以外还额外想进行地址转译 (NAT)。 “fwd” 规则所进行的动作就如同字面所示; 仅转送封包, 它并不会去修改封包中的数据。 假设我们有如下的规则:
01000 fwd 10.0.0.1 from any to foo 21
当一个通往特定目标地址 foo 的封包送达主机时, 根据这条规则, 封包将被转送至 10.0.0.1, 但是它的目标地址却仍然是 foo! 封包的目标地址并 没有 更改为 10.0.0.1。 大部分的主机会将封包丢弃, 因为它们并不是这个目标地址。 因此, 使用 “fwd” 规则时往往不如使用者所预期的那般顺利。 这种行为是系统特性,而非错误。
参考 关于服务转向的常见问答集、 natd(8) 联机手册, 或是使用 Ports 套件 中许多服务转向的工具来正确地完成你想进行的工作。
您可以利用 sysutils/socket port 来对 FTP (以及其他服务) 进行转向。 只需简单地将服务命令替换为 socket, 如下所示:
ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.com ftp
其中 ftp.example.com 和 ftp 分别是被转到的机器和服务端口名称。
FreeBSD 上提供了三种带宽管理工具。 dummynet(4) 是以 ipfw(4) 一部分的形式整合进 FreeBSD 的, 而 ALTQ 则是作为 pf(4) 的一部分整合进来。 Emerging Technologies 提供的 Bandwidth Manager 则是商业产品。
你执行了一个需要 Berkeley 封包过滤器 (bpf(4)) 的程序, 但在内核中则没有。 把下面这一行加到内核的编译配置中, 并重新联编新的内核:
device bpf # Berkeley Packet Filter
使用 SMBFS 工具组。 这套工具组中包含了一系列的内核变动, 以及一些使用者的工具程序。 这些程序和信息在是作为基本系统中的 mount_smbfs(8) 提供的。
这是系统内核告诉你有某些活动引发它送出比它所认为应该送出更多的 ICMP 或 TCP 重置 (RST) 回应。 ICMP 响应讯息常常是因为有人尝试连接未被使用的通讯端口。 而 TCP 重置讯息则是有人尝试连接未开放 TCP 通讯端口造成的结果。 以下这些活动可能就是造成这些讯息的原因:
暴力法的拒绝服务 (DoS) 攻击 (相较于针对特殊弱点使用单一封包的攻击方式)。
大量的通讯端口扫描 (相较于仅尝试少数的常见服务通讯端口)。
出现的数字中第一个代表根据这些流量内核应该送出的封包数,
第二个数字则是内核目前限制最大发送数。你可以利用 sysctl 修改 net.inet.icmp.icmplim
变数值来更改最大值。 举例来说,
如果希望修改限制为每秒 300 个:
# sysctl -w net.inet.icmp.icmplim=300
如果你不想在系统日志中看到这些讯息, 但是仍然希望保持响应的限制的话, 你可以利用
sysctl 修改 net.inet.icmp.icmplim_output
来取消这些讯息:
# sysctl -w net.inet.icmp.icmplim_output=0
最后, 如果你想取消这些限制的话, 可以把 sysctl 变量 net.inet.icmp.icmplim
设定 (如上例所示) 为 0基于上述理由, 我们建议你不要取消这些限制。
这代表你的局域网络联机上有一些设备使用 FreeBSD 看不懂的 MAC 地址格式。 这通常是代表有人在你的局域网络上进行实验, 最常见的就是 cable modem 的联机。 这讯息无害, 而且应该不至于影响到 FreeBSD 主机的效能。
首先,看看错误的讯息是否如下:
/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found
这种错误讯息代表你主机上安装的 net/cvsup 没有配合所需的 Xorg 套件一起安装。 如果您希望使用 CVSup 的 GUI, 则应安装 Xorg。 此外, 如果只希望使用命令行模式的 CVSup, 则应首先卸载先前安装的套件, 并安装 net/cvsup-without-gui 或 net/csup。 如果您使用较新的 FreeBSD 版本, 可以试试看 csup(1)。 在使用手册中的 CVSup 一节 中有更详细的说明。
本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.