Next Previous Contents

5. 无线网路设定

5.1 基本步骤

当你具备了所有的条件之后,你需要按照以下步骤进行设定:

N.B.: step 1, 2 and 3 correspond to level 1, 2 和 3 基于 ISO/OSI, while step 4 is an addendum to solve situation generated by netmask 255.255.255.255. 事实上32bit网路遮罩违反了 ISO/OSI 标准,因为网路强制使用相同的地址对不存在的机器和地址进行广播.

有些人可能反对这种观点,但是如果你用 ISO/OSI 标准设定无线网路,会失去很多个子网路的设定. 每个子网通常丢弃2个IP号(Network and broadcast),并失去IP分配的灵活性(geographically kind). 你可以在附录中找到有关的描述. You could notice that step 2 is not present in Wired cards 因为那里没有什么详细的设定要做.

5.2 底层核心设定

管理机器总会有个问题 : 让核心(or in general)识别你的硬件.

无线网卡更复杂, 因为它们通常是Pcmcia plug, 所以首先得让你的核心识别你的Pcmcia adapter card , 因此,你可以试著为无线网卡安装特别的硬件驱动程序.

所以在Pcmcia 设定中你必须:

在非Pcmcia 模式中:

5.3 数据连接层的设定

那是什么?

无线网路只需要相互连接,而你只要设定网路参数.

对于无线网路你先要进行连接的设定:

正如上面那样,许多设定需要调整. 因为无线网路的结构:可能在附近的某一个人,只要对准天线,使用和你一样的协议和一样的TCP/IP设定就可以看到你传输的数据包.

加之, 每个子网路之间可能相互产生冲突,

所以这里:

5.4 IP 设定

这是你将要面对的第三个问题.出现当你的网路遂渐扩大的时候.

Remember Wireless IP Networking doesn't stress you if you don't stress it! 如果你不犯它,它就不会犯你.

一个简单的构建:

所有的主机之间是相互可见的.
 
                               A - - - - - C
                                 \       /
                               |   \   /   |
                                     /\
                               |   /    \  |
                                 /       \
                               B - - - - - D

这个设定非常简单,不需要特别的设定(IP层),只要给每个主机分配IP地址,设定网路遮罩相同就可以了.

一个较为复杂的网路:

A不能直接访问B
 
                                A <- - - -
                              NO\        |
                            TALK\        C
                                \        |
                                B <- - - -

A和B只有通过C才能相互访问.

如果网路是形组模式,并且C是基点(Access Point),那么就没有问题. 在独立模式(Adhoc mode) 里你也可以设定一个host做为master (I know the term is not so formal!), 其它主机都加入以master为中心的无线网路当中.

所有的连接达到了IP层: A 和 B 的界面与 C 相同,它们都与C进行通讯, 这样,如果你试著用A ping B, 你将收到许多来自C的ICMP重定向数据包, 因为C告诉A,它所要求的对象早已经连入网路. 解决方法: type a "echo 0 > /proc/sys/net/ipv4/conf/ethx/send_redirects" ( ethx 是 C 同 A 连接的界面) to null all that.

另一个问题:该给A和C怎么分配遮罩? 如果你分配一个遮罩包含A和C,它们将不工作,因为A不使用闸道(C) 但又以未知的MAC地址来发送 ARP 请求.

你可能想过ARP代理,但是没有用.因为代理ARP只在目标与请求的来源使用不同界面的时候对来源进行回应: this is not the case!!

所以你要设定一个不大相同的庶罩 (Win9x let it be 255.255.255.254, WinNT at least 255.255.255.248) 并保证A和C拥有不相同的网路地址.

Examples: 


IP(A) = x.y.z.2/31, IP(B) = x.y.z.3/31. 
This doesn't work cause A asks for B in its network (ARP request) and C doesn't answer cause,
 for it, A and B belong to the same interface (so, no proxy arp). 
IP(A) = x.y.z.1/31, IP(B)= x.y.z.2/31. This works cause A ask to C (send requests to B with C MAC address) for B. 

In general with a netmask 255.255.255.254 system works with 2 IP changing only for the final bit.

这都是 TCP/IP 的作用,也是唯一获得最高灵活性的方法.

注意:如果你使用基点(Access Point)(网路使用形组模式)就不会有重定向的问题, 因为问题都在 data-link level 解决了 (几乎所有的基点(Access Point)都扮演网桥的角色...). 但是基点(Access Point)很昂贵(在 1000 美元或更多) 既便是使用多个无线网卡加上一台 P133 32MB Ram 来代替基点(Access Point)还是很划得来的.

Internet 接入

                               A - - - - - C - - Internet
                                 \       /
                               |   \   /   |
                                     /\
                               |   /    \  |
                                 /       \
                               B - - - - - D
                

它有多种情况:

有线网路与无线网路的混合

                                Internet         
                                       \      
                                        \        E
                                         \     /
                                          \  /       Wireless
                               A - - - - - C - - F
                                 \       /   \
                               |   \   /   |   \
                        Wired        /\          G
                               |   /    \  |
                                 /       \
                               B - - - - - D
 

现在 C 加入了2个网路: 左边是有线网路 Wire 右边是无线网路 Wiredless .

加上Internet接入,你总共要在C上装三个网卡.

应该如何分配IP地址,你有两个选择:

               1.划分成两个子网路:如 192.168.1.0/24 和 192.168.2.0/24. 
                 这种方法很快但如果你使用Internet IP地址就失去了灵活性.
                 因为你要丢掉很多的IP.
 
               2. Enable Proxy Arp feature to C for all 2 interfaces. 
无线网路 和 有线网路的 网路参数(net address and netmask) 相同, 
但是使用 proxy-arp,我可以选择哪一个IP分配给有线和哪一个分配给无线. 

现在我们来检查一下第2个方案:

例子:现在你有一个 Internet public 子网路 x.y.z.0/24.

它们的界面是:

1. ifconfig eth0 x.y.z.C netmask 255.255.255.255 (Wired) 
2. ifconfig eth1 x.y.z.C netmask 255.255.255.255 (Wireless) 
3. ifconfig eth2 x.y.z.C netmask 255.255.255.255 (to Internet) 

在eth2上使用静态路由

route add IPGW dev eth2 
route add default gw IPGW 

这个路由使所有访问Internet的请求发往闸道:像你注意到的那样, 第一,告诉Linux路由器在哪里,然后让请求发往路由器.

在eth0上使用静态路由
Static routes on eth0:
route add x.y.z.A dev eth0 
route add x.y.z.B dev eth0 
route add x.y.z.D dev eth0 

在eth0上使用静态路由
Static routes on eth1:
route add x.y.z.E dev eth1 
route add x.y.z.F dev eth1 
route add x.y.z.G dev eth1 

主机E,F 和G 连入无线网路.

注意: 灵活性相当好,但是你要手工设定每一个主机.


Next Previous Contents