申请adsl的用户,有时候想知道自己的外网IP地址,可以到http://www.ip.cn/进行查询。
日志分类:网络
Layer2&Layer3 switch intro(CCNP BCMAN)
a layer2 switch performs essentially the same function as a transparent bridge. however, a switch can have many ports and can perform hardware-based bridging. Frames are forwarded using specialized hardware, called application-specific integrated circuits(ASICs). This hardware gives switching great scalability, with wire-speed performance, low latency, low cost, and high-port density.
the router can become a bottleneck due to a latency of packet examination and processing.
Layer 3 switches are designed to examine and forward packets in high-speed LAN environments. Whereas, a router might impose a bottleneck to forwarding throughput, a Layer 3 switch can be placed anywhere in the network with little or no performance penalty.
记得2003年的时候,Wi-Fi设备用的是wep加密协议,由于安全性问题而未能获得广泛应用。过去几年802.11获得长足的进步,WPA1/2,EAP-TLS等多种加密技术的实现大大促进了Wi-Fi的传播,AP和无线网卡产品异常丰富,然而兼容Linux的还是屈指可数,能在Linux成功安装无线网卡的不仅仅靠技术和忍者神龟般的耐性,更多时候还要看人品!sigh,什么世道…
闲话少提,下面说说我在Debian lenny中安装Linksys WPC54G v1.2的经历,希望对大家有所帮助。
在安装无线网卡之前有必要先了解一下Wi-Fi的工作方式:
AP:是access point的简称,它将多个无线设备连接,无线设备通过它进行互联,也通过它联系外界,譬如互联网。
WPA:全称是Wi-Fi Protected Access,是一种基于预协商key的加密方式,WPA之前802.11采用了WEP,后来证明是一种失败的加密方式,在安全性方面给Wi-Fi带来了很差的声誉,影响Wi-Fi的普及,WPA的出现扭转了乾坤。个人用户用得最多的是PSK,Pre shared key。
详细的介绍需要大家google之,这里一两句话也说不清,下面开始进入正题了。
安装无线网卡
在Linux中安装无线网卡驱动有两种方式,一种是通过ndiswrapper使用windows的驱动,另一种使用linux的原生驱动。
在第一种方式中,ndiswrapper是Linux内核中的一个模块,用于在linux内核中加载和运行windows内核的API和NDIS API驱动,换句话来说就是ndiswrapper将linux伪装成windows,使得无线网卡的 windows驱动可以跑在linux之上。Linux fans从心理上是抵触这种方式的,感觉要低于windows一等,其次在实际应用中也存在一些恼人的问题,因此是Plan B。
第二种方式是安装原生的linux的驱动,这种方式是最正宗的,直接由内核驱动硬件,效率也更高些,因此尽可能采用这种方式。可是目前linux针对无线网卡的驱动不多,因此在购买无线网卡之前需要确认一下是否兼容linux,下面是无线网卡的linux兼容列表:http://linux-wless.passys.nl/,该链接是从http://wiki.debian.org/Wi-Fi中摘录出来的,按理来说可信度极高,然而在上面的网址中我无法分辨Linksys WPC54G v1.2是否在兼容之列,也顾不了那么多了,先试了再说。
1. 查看自己的无线网卡的芯片
alfie:~# lspci -vnn | less ... 02:00.0 Network controller [0280]: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [14e4:4320] (rev 03) Subsystem: Linksys WPC54G [1737:4320] Flags: bus master, fast devsel, latency 64, IRQ 11 Memory at 24000000 (32-bit, non-prefetchable) [size=8K] Capabilities: [40] Power Management version 2 Kernel driver in use: b43-pci-bridge Kernel modules: ssb ...
可以看到已经识别到了Linksys WPC54G的网卡,它使用的芯片是Broadcom的BCM4320(我自己也说不清是4306还是4320,在http://lin…中说是以[14e4:4320]里面的数字为准)。
针对Broadcom的芯片,linux社区专门提供了b43驱动,在2.6.17-rc2时,内核引入了bcm43xx这个驱动,从2.6.24开始引入了b43legacy和b43,并废掉bcm43xx,其中b43主要负责Broadcom4306 ver2之后的芯片,而b43legacy负责802.11b之前的芯片。
2. 安装b43-fwcutter
alfie:~# aptitude install b43-fwcutter安装b43-fwcutter之后会提示是否自动去http://downloads.openwrt.org/sources下载相应的firmware并解压,此时应该选择否,因为openwrt.org时不时会失效,还是手工下载安全些。有两个下载地址可供选择,一个是http://downloads.openwrt.org/sources,另一个是http://mirror2.openwrt.org/sources,我选择了最新的firmware:broadcom-wl-4.150.10.5.tar.bz2
alfie:~# wget /home/software/ http://mirror2.openwrt.org/sources/ broadcom-wl-4.150.10.5.tar.bz2 alfie:~# cd /home/software && b43-fwcutter -w /lib/firmware
说明:/lib/firmware是linux内核模块默认去寻找Broadcom无线网卡的firmware的目录。
这里需要说明一下无线网卡的工作机理,无线网卡在工作的时候需要从驱动里面将firmware提取出来,灌入无线网卡的芯片中,由安装在OS中的驱动进行调用操控。由于firmware都是私有的,无法包含在Debian这个发行版里面,所以需要执行下载驱动、抽取firmware这个步骤,在windows中,无线网卡的驱动会帮你搞定这一切,再一次感受到了有钱就是上帝。
装完网卡的驱动和firmware,接下来要测试一下网卡是否可以正常启动,这个时候就需要用到wireless-tools中的iwconfig和iwlist了。
3、安装wireless-tools
alfie:~# aptitude install wireless-tools alfie:~# iwlist wlan0 scan wlan0 Scan completed : Cell 01 - Address: 00:14:BF:F2:05:B7 ESSID:"dd-wrt" Mode:Master Channel:6 Frequency:2.437 GHz (Channel 6) Quality=73/100 Signal level=-56 dBm Noise level=-69 dBm Encryption key:on IE: WPA Version 1 Group Cipher : TKIP Pairwise Ciphers (1) : TKIP Authentication Suites (1) : PSK Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s 24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s 12 Mb/s; 48 Mb/s Extra:tsf=000000295b4c72c0
说明网卡已经检测到AP的信号了,还接收到了广播的ESSID。
iwconfig有点类似于ifconfig,功能强大,可以配置无线网卡,包括essid,ip地址,wep等,详细使用请多看看man,不是playboy哦。
网卡已经可以正常工作了,接下来就是要处理wpa了,因为我的AP启用了WPA psk这种验证模式。
4、安装wpasupplicant
下面是debian lenny中对wpasupplicant的介绍:WPA and WPA2 are methods for securing wireless networks, the former using IEEE 802.1X, and the latter using IEEE 802.11i. This software provides key negotiation with the WPA Authenticator, and controls association with IEEE 802.11i networks.
alfie:~# aptitude install wpasupplicant alfie:~# vim /etc/network/interfaces auto-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid ssidName wpa-psk wpaPskKey
接着重启下网卡,就可以正常接入接入AP了。
Debian对wpasupplicant做了特别处理,在其它发行版中,wpa-supplicant无法灵活的处理roaming,但是Debian为wpasupplicant增加了ifupdown的脚本,因此很容易在interfaces中实现,另外Debian wiki还推荐使用network-manager来处理无线连接,只是我习惯了console。