iptables对NAT的支持既需要Linux内核的支持,还需要iptables命令的设置:
①内核编译选项。在内核配置选单中的“Networkingoptions--->"选项下,选中“NetWork packet filtering(replaces ipchains)”项,并且在下面的“IP:Netfilter Con—figuration--->”选项中选择全部选项。
②iptables命令支持
#!/bin/bash
# 打开端口转发
echo 1>/proc/sys/net/ipv4/ip_forward加入转发规则:iptables - t nat - A POS—TROUTING - 0 ethl - j MASOUERADE。
至此,构建无线网关的工作全部完成。
3 测试结果
搭建无线网关的测试系统如图2所示。
将上位机的网关设置为172.17.248.169,用VB 6.0在上位机上开发一个负责监听网络的应用程序;在无线终端一方编写一个客户端程序,负责客户端数据的发送和接收显示,并在无线终端一方添加从网关到上位机的路由。然后,上位机运行ping命令,测试结果如下:
# ping 192.168.6.100
PING 192.168.6.100 (192.168.6.100):56 data bytes
64 bytes from 192.168.6.100:icmp_seq=0 ttl=255 time=1.8 ms
64 bytes from 192.168.6.100:icmp_seq=1 ttl=255 time=1.4 ms
64 bytes from 192.168.6.100:icmp_seq=2 ttl=255 time=1.4 ms
64 bytes from 192.168.6.100:icmp_seq=3 ttl=255 time=1.4 ms
---192.168.6.100 ping statistics---4 packets transmitted,4 packets received,0% packet loss round—trip min/avg/max=1.4/1.5/1.8 ms上位机与无线终端通信的测试结果如图3所示。
结 语
至此,嵌入式Linux系统上802.11b无线网关的软件实现工作基本结束。测试结果表明,无线网关的基本功能,即与无线终端通信、桥接无线终端、实现无线网络和有线网络的跨网段连接已经实现。下面将对该无线网关做完善,以便进一步实现该无线网关在EPA(Ethernet for Plant Au-tomation)控制网络中的应用。