📄 network-wireless.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy, see www.w3.org" /><title>无线网络</title><meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" /><link rel="HOME" title="FreeBSD 使用手册" href="index.html" /><link rel="UP" title="高级网络" href="advanced-networking.html" /><link rel="PREVIOUS" title="网关和路由" href="network-routing.html" /><link rel="NEXT" title="蓝牙" href="network-bluetooth.html" /><link rel="STYLESHEET" type="text/css" href="docbook.css" /><meta http-equiv="Content-Type" content="text/html; charset=GB2312" /></head><body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"alink="#0000FF"><div class="NAVHEADER"><table summary="Header navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><th colspan="3" align="center">FreeBSD 使用手册</th></tr><tr><td width="10%" align="left" valign="bottom"><a href="network-routing.html"accesskey="P">后退</a></td><td width="80%" align="center" valign="bottom">章 24. 高级网络</td><td width="10%" align="right" valign="bottom"><a href="network-bluetooth.html"accesskey="N">前进</a></td></tr></table><hr align="LEFT" width="100%" /></div><div class="SECT1"><h1 class="SECT1"><a id="NETWORK-WIRELESS" name="NETWORK-WIRELESS">24.3.无线网络</a></h1><i class="AUTHORGROUP"><span class="CONTRIB">作者:</span> Eric Anderson.</i> <iclass="AUTHORGROUP"><span class="CONTRIB">中文翻译:</span> 张 雪平 和 袁 苏义.</i> <div class="SECT2"><h2 class="SECT2"><a id="AEN35699" name="AEN35699">24.3.1. 简介</a></h2><p>如果可以使用没有烦人的随时都通过网线连接的计算机,会真的很有用。FreeBSD可以充当无线客户端,甚至可以做为无线``接入点(accesspoint)''。</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN35703" name="AEN35703">24.3.2. 无线操作模式</a></h2><p>802.11无线设备有两种不同的配置方式: BSS and IBSS.</p><div class="SECT3"><h3 class="SECT3"><a id="AEN35706" name="AEN35706">24.3.2.1. BSS 模式</a></h3><p>BSS模式是常用的模式。它也被叫做“底层结构(infrastructure)”模式。在此种模式里,一些无线接入点连接到有线网络。每个无线网络有个名字。这个名字被称为网络的SSID。</p><p>无线客户端连接到这些无线接入点上。 IEEE802.11标准定义了用于无线网络连接的协议。在设定了SSID后,一个无线客户端可以连接到一个指定的网络。若不明确指定SSID,一个无线客户端可以被连接到任何的网络。</p></div><div class="SECT3"><h3 class="SECT3"><a id="AEN35710" name="AEN35710">24.3.2.2. IBSS 模式</a></h3><p>IBSS模式,也叫专属(ad-hoc)模式,是设计来进行点对点的接连的。实际上有两种类型的专属模式。一种是IBSS模式,也叫"ad-hoc"或"IEEE ad-hoc"模式。这个模式由 IEEE 802.11标准定义。 第二个叫做演示专属(demoad-hoc)模式或朗讯专属(Lucentad-hoc)模式(而有时与专属模式是混淆的)。这个是早先的,准802.11专属模式,并且应该只用于过渡性的安装里。对于两类专属模式我不再做进一步介绍了。</p></div></div><div class="SECT2"><h2 class="SECT2"><a id="AEN35713" name="AEN35713">24.3.3.底层结构(Infrastructure)模式</a></h2><div class="SECT3"><h3 class="SECT3"><a id="AEN35715" name="AEN35715">24.3.3.1. 接入点</a></h3><p>接入点是一种无线网络设备,它允许一个或更多的无线客户端使用此设备作为中心集线器(hub)。使用接入点时,所有的客户端通过接入点通信。常用多个接入点来覆盖一个完整的区域,比如一所住房,一片商业区,或一座公园。</p><p>接入点一般具有多个网络连接: 无线网卡、一块或多块用于连接其它网络有线的以太网适配器。</p><p>可以购买预建的接入点,你也可以使用FreeBSD及其兼容的无线网卡自己建立接入点。一些产商制造了带有不同功能的无线接入点和无线网卡。</p></div><div class="SECT3"><h3 class="SECT3"><a id="AEN35720" name="AEN35720">24.3.3.2. 建立FreeBSD接入点</a></h3><div class="SECT4"><h4 class="SECT4"><a id="AEN35725" name="AEN35725">24.3.3.2.1. 要求</a></h4><p>为了在FreeBSD上建立接入点,你要有一块兼容的无线网卡。至今为止,FreeBSD只支持带有Prism芯片组的网卡。你还需要被FreeBSD支持的有线网卡(这个不难找到,FreeBSD支持很多不同的设备)。在这里,我们假定你要桥接(<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">bridge</span>(4)</span>)有线网卡连接的网络与无线设备之间的所有传输。</p><p>FreeBSD用来实现接入点的"hostap"功能与一定版本的firmware(固件)工作得很好。Prism 2网卡应该使用firmware1.3.4或更新的版本。Prism 2.5 和 Prism 3网卡应使用firmware1.4.9。老版本的firmware可能无法正常工作。这时候,升级网卡的唯一方式是使用厂商提供的<span class="TRADEMARK">Windows</span>® firmware升级工具。</p></div><div class="SECT4"><h4 class="SECT4"><a id="AEN35733" name="AEN35733">24.3.3.2.2. 设置并运行</a></h4><p>首先,确保你的系统能识别无线网卡:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbdclass="USERINPUT">ifconfig -a</kbd> wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7 inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 ether 00:09:2d:2d:c9:50 media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps) status: no carrier ssid "" stationname "FreeBSD Wireless node" channel 10 authmode OPEN powersavemode OFF powersavesleep 100 wepmode OFF weptxkey 1</pre><p>现在不用考虑细节部分,只要确认有信息表明你已安装了无线网卡。如果你无法找到无线接口,你可能使用的是PC卡,需要查看<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">pccardc</span>(8)</span> 和 <span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">pccardd</span>(8)</span> 联机手册以获取更多信息。</p><p>下一步,你需要加载一个模块使FreeBSD的桥接部分为接入点作好准备。 加载桥接<spanclass="CITEREFENTRY"><span class="REFENTRYTITLE">bridge</span>(4)</span>模块,只需运行以下命令:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">kldload bridge</kbd></pre><p>加载模块应该不会产生任何错误。如果发生了错误,你就需要将桥接<spanclass="CITEREFENTRY"><spanclass="REFENTRYTITLE">bridge</span>(4)</span>代码编译入内核。手册的<ahref="network-bridging.html">桥接(Bridging)</a>部分应该能帮你完成这个任务。</p><p>现在已经完成了桥接的组件,接着我们需要告诉内核将哪些接口桥接在一起。 我们使用<spanclass="CITEREFENTRY"><span class="REFENTRYTITLE">sysctl</span>(8)</span>来完成:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbdclass="USERINPUT">sysctl net.link.ether.bridge=1</kbd> <samp class="PROMPT">#</samp> <kbdclass="USERINPUT">sysctl net.link.ether.bridge_cfg="wi0,xl0"</kbd> <sampclass="PROMPT">#</samp> <kbd class="USERINPUT">sysctl net.inet.ip.forwarding=1</kbd></pre><p>On FreeBSD 5.2-RELEASE 以及更新版本,你必须使用下面的选项:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbdclass="USERINPUT">sysctl net.link.ether.bridge.enable=1</kbd> <sampclass="PROMPT">#</samp> <kbdclass="USERINPUT">sysctl net.link.ether.bridge.config="wi0,xl0"</kbd> <sampclass="PROMPT">#</samp> <kbd class="USERINPUT">sysctl net.inet.ip.forwarding=1</kbd></pre><p>现在来设置并启动无线网卡。 以下的命令将网卡设置为接入点状态:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">ifconfig wi0 ssid <varclass="REPLACEABLE">my_net</var> channel 11 media DS/11Mbps mediaopt hostap up stationname "<var class="REPLACEABLE">FreeBSD AP</var>"</kbd></pre><p><span class="CITEREFENTRY"><span class="REFENTRYTITLE">ifconfig</span>(8)</span>行用于启动 <tt class="DEVICENAME">wi0</tt> 接口,并把它的SSID设置为<varclass="REPLACEABLE">my_net</var>,还有把工作站名设置为<var class="REPLACEABLE">FreeBSDAP</var>。<var class="OPTION">media DS/11Mbps</var> 是把卡设置成11Mbps模式,它是任何<varclass="OPTION">mediaopt</var>产生作用所必需的。 <var class="OPTION">mediaopt hostap</var>选项把接口设置成接入点模式。<var class="OPTION">channel 11</var>选项设置为要使用的802.11b channel(频道)。<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">wicontrol</span>(8)</span> 手册包含一些有效的channel选项。</p><p>现在应该启动并运行着一个完全功能的接入点。推荐阅读<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">wicontrol</span>(8)</span>, <span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">ifconfig</span>(8)</span>和<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">wi</span>(4)</span>以求更深入的了解。</p><p>同样建议你阅读接着关于加密那一节。</p></div><div class="SECT4"><h4 class="SECT4"><a id="AEN35808" name="AEN35808">24.3.3.2.3. 状态信息</a></h4><p>一旦接入点配置完成且可操作,操作者都会希望查看连入接入点的客户。在任何时候,都可以键入:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbdclass="USERINPUT">wicontrol -l</kbd> 1 station: 00:09:b7:7b:9d:16 asid=04c0, flags=3<ASSOC,AUTH>, caps=1<ESS>, rates=f<1M,2M,5.5M,11M>, sig=38/15</pre><p>显示连接了一个站点,接着的是各种参数。显示的信号通常只作为强度的相对指示。到dBm或其它单元的转换因firmware版本的不同而有所差异。</p></div></div><div class="SECT3"><h3 class="SECT3"><a id="AEN35815" name="AEN35815">24.3.3.3. 客户端</a></h3><p>一个无线客户端是一个连入接入点或直接连接另一个客户端的系统。</p><p>一般地,无线客户端只有一个网络设备,也就是无线网卡。</p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -