先察看一下现在AP的网络接口情况:
[root@Jack ~]#ifconfig | more
ath0 Link encap:Ethernet HWaddr 00:14:78:74:48:37
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::214:78ff:fe74:4837/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2926 errors:0 dropped:0 overruns:0 frame:0
TX packets:3698 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:394293 (385.0 KiB) TX bytes:4125650 (3.9 MiB)
eth0 Link encap:Ethernet HWaddr 00:0F:3D:82:BF:7F
inet addr:221.137.213.78 Bcast:255.255.255.255 Mask:255.255.252.0
inet6 addr: fe80::20f:3dff:fe82:bf7f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34968 errors:0 dropped:0 overruns:0 frame:0
TX packets:2773 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6001857 (5.7 MiB) TX bytes:379155 (370.2 KiB)
Interrupt:11 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
wifi0 Link encap:Ethernet HWaddr 00:14:78:74:48:37
inet6 addr: fe80::214:78ff:fe74:4837/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2949 errors:0 dropped:0 overruns:0 frame:1283
TX packets:3743 errors:4 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:199
RX bytes:483384 (472.0 KiB) TX bytes:4239927 (4.0 MiB)
Interrupt:7 Memory:d8980000-d8990000
再从 AP ping 本本ibookG4
[root@Jack ~]# ping 192.168.0.90
PING 192.168.0.90 (192.168.0.90) 56(84) bytes of data.
64 bytes from 192.168.0.90: icmp_seq=0 ttl=64 time=0.434 ms
64 bytes from 192.168.0.90: icmp_seq=1 ttl=64 time=0.397 ms
64 bytes from 192.168.0.90: icmp_seq=2 ttl=64 time=0.393 ms
64 bytes from 192.168.0.90: icmp_seq=3 ttl=64 time=0.445 ms
64 bytes from 192.168.0.90: icmp_seq=4 ttl=64 time=0.629 ms
--- 192.168.0.90 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.393/0.459/0.629/0.090 ms, pipe 2
测试成功,无线局域网建立了。
二.数据转发部分: 使用 brctl 做网桥
或者 netfiltet/iptables转发及过滤
1. 对于家庭环境,AP (接入点),我们真正需要的是一个简单的网桥;来自一个网络的数据包出现在另一个网络上,没有什么特别用途---只要简单和实用。这个机器不是路由器,也不是 DHCP 服务器或者任何别的东西,它只是一个网桥。 网桥仅仅在有线网和无线网之间传递数据包。这样,无线设备可以查找任何自己想要找的内容,就好像自己完全连接在物理网络上。
配制过程:首先到 http://linux-net.osdl.org/index.php/Bridge 下载brctl-utils-1.1.tar.gz, 解压缩 tar -zvxf brctl-utils-1.1,然后 ./configure , make , make install.
安装完毕后,在命令行里输入 brtcl, 系统会以下出现 brctld 的帮助提示,说明可以使用它做网桥了。
[root@Jack ~]# brctl
Usage: brctl [commands]
commands:
addbr <bridge> add bridge
delbr <bridge> delete bridge
addif <bridge> <device> add interface to bridge
delif <bridge> <device> delete interface from bridge
setageing <bridge> <time> set ageing time
setbridgeprio <bridge> <prio> set bridge priority
setfd <bridge> <time> set bridge forward delay
sethello <bridge> <time> set hello time
setmaxage <bridge> <time> set max message age
setpathcost <bridge> <port> <cost> set path cost
setportprio <bridge> <port> <prio> set port priority
show show a list of bridges
showmacs <bridge> show a list of mac addrs
showstp <bridge> show bridge stp info
stp <bridge> {on|off} turn stp on/off
使用它以前,必须将无线AP的物理参数设置好(参看无线网络部分),并且关闭 eth0接口.
[root@Jack ~]# ifdown eth0 //网桥的启动前,必须关闭 eth0
[root@Jack ~]# wlanconfig ath0 create wlandev wifi0 wlanmode ap //将AP设置为AP模式
开始创建网桥
[root@Jack ~]# brctl addbr br0 //建立名为br0的网桥
[root@Jack ~]# brctl addif br0 ath0 //添加ath0接口
[root@Jack ~]# brctl addif br0 eth0 //添加eth0接口
[root@Jack ~]# ifconfig ath0 0.0.0.0 //因为网桥是在数据链路层转发数据包,网络接口不可能有IP地址,所以ath0的IP必须初始化为0.0.0.0
[root@Jack ~]# ifconfig eth0 0.0.0.0 //eth0的IP初始化为0.0.0.0,原因同上
[root@Jack ~]# ifconfig br0 up //启动网桥
[root@Jack ~]# dhclient br0 //为网桥br0分配一个公网地址,便于远程控制(可选)
现在网桥应该可以工作了,此时发现我的ibookG4得到了一个公网ip,是ISP的DHCP服务器分配的。
此时查看 ibookG4的网络接口
发现得到公网IP 221.137.208.102 / 255.255.252.0
( 屏幕截图:显示airport的当前状态)
再从 ibookG4 做 ping 上海热线站点 的测试以及 traceroute 测试
(本本的 MAC OS X 10.4也叫 Jack)
Last login: Sun Apr 9 09:41:53 on ttyp1
Welcome to Darwin!
Jack:~ lingchen$ ping www.online.sh.cn
PING www.online.sh.cn (218.1.64.33): 56 data bytes
64 bytes from 218.1.64.33: icmp_seq=1 ttl=245 time=122.179 ms
64 bytes from 218.1.64.33: icmp_seq=2 ttl=245 time=121.600 ms
64 bytes from 218.1.64.33: icmp_seq=3 ttl=245 time=117.919 ms
64 bytes from 218.1.64.33: icmp_seq=4 ttl=245 time=154.359 ms
64 bytes from 218.1.64.33: icmp_seq=5 ttl=245 time=115.736 ms
64 bytes from 218.1.64.33: icmp_seq=6 ttl=245 time=115.345 ms
^C
--- www.online.sh.cn ping statistics ---
7 packets transmitted, 6 packets received, 14% packet loss
round-trip min/avg/max/stddev = 115.345/124.523/154.359/13.597 ms
测试成功 !!!
网桥模式非常适合家庭用户,对于他们来说,无线AP 是透明,看不见的,客户机几乎就是直接在接入原有的网络上,根本没有差别。另外,网桥模式设置极为简单,无须与无线网络的网络层打交道(如 无线的 IP/netmask, router, gateway, DNS),普通用户就可以自行完成设置。