使用Linux 做无线AP -- 3

2.对于小型的办公环境,较之家用的AP(接入点),我们不仅需要基本的无线接入,更需要安全,稳定,自动化的网络环境.所以无线AP应该要集成以下3种服务:

                       (1)   DHCP服务,为无线客户端自动分配ip,

                       (2)  防火墙,为无线网络提供保护

                    3)代理服务,无线客户端(可控制地)接入internet

基于以上的考虑,决定使用netfilter/iptablesNAT来实现数据转发,同时对数据包在网络层进行过滤。

 

(1).首先配制DHCP服务器,DHCP软件安装可以用CentOS4.2安装盘自带的rpm包,也可以到www.irc.org下载源码包编译,安装。这里不再重复。

 

安装完毕后,要在/etc目录下编写配制文件dhcpd.conf

[root@Jack ~]# vi /etc/dhcpd.conf

DHCPDARGS=ath0;                                 //dhcpd进程监听ath0端口

option routers 192.168.0.1;                        //默认网关

option broadcast-address 192.168.0.255;    //对客户端的广播地址范围

option subnet-mask 255.255.255.0;            //客户端的子网掩玛

 

option domain-name "Jack.org";                //客户端所在域的名称

option domain-name-servers 211.167.97.67, 211.167.97.68;    //域名服务器地址

ddns-update-style ad-hoc;                      //配制DHCP-DNS互动更新模式

 

 

default-lease-time 21600;                     //默认地址租期时间

max-lease-time 43200;                         //最长地址租期时间

 

subnet 192.168.0.0 netmask 255.255.255.0 {                   //可分配的地址池

range 192.168.0.60 192.168.0.90;

}

 

配制完毕后,shitf : wq存盘退出

启动DHCP

[root@Jack ~]# /etc/init.d/dhcpd start

Starting dhcpd:                                           [ OK ]

 

 

查看客户机ibookG4TCP/IP信息,看到已经得到IP地址:192.168.0.90/24

DHCP配制成功。客户端已经可以自动接入无线网络。

(屏幕截图:显示airport的当前状态)

 

 

 

 2)然后开始使用netfilter/iptables做数据包转发及过滤

 

  2.42 .6内核的linux ,采用netfilter模块做过滤引擎,其命令行工具为iptables ,较之2.2内核的ipchains,功能上有很大的提升。由过去的3条链(input, output, forward),变成3张表(filter, nat, mangel),尤其是正确地实现了NAT (网络地址转换)---这正也是做Linux AP的核心所在。

                                      

                                              Linux AP数据包转发原理示意图

                                                           

 Incoming                                                                                 Outgoing

                   -----> [Routing] ---- >       FORWARD     ----- > 

                              [Decision]              

                                    |                                                                ^

                                    |                                                                 |

                                   V                                                                |

                                

                               INPUT                                                     OUTPUT

                                    |                                                                |

                                     ----------- > Local Process -----------------

 

数据包到达Linux APNIC时,先做路由决策(由nat表完成):需要转发的数据,做IP地址翻译, SNAT(从无线局域网络到公网),或DANT(从公网到无线局域网),然后由filter表的FORWARD完成包的转发和过滤。而流入/流出Linux AP本地的数据包由filter表的INPUTOUTPUT链完成。

 

以下是我的iptables的编写过程:

vi /usr/local/bin/fwsh

 

CODE:

echo " Starting firewall now ......"

echo '1'>/proc/sys/net/ipv4/ip_forward      //打开内核的数据包转发功能

 

modprobe ip_nat_ftp               //加载内核模块,支持ftp服务的nat和状态检测功能

modprobe ip_conntrack

modprobe ip_conntrack_ftp

 

iptables -t filter -F                 //清空filternat表的规则

iptables -t nat –F

iptables -t filter -P FORWARD DROP    //设置FORWARD链的默认策略为DROP    

 

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

//eth0接口做SNATeth0是动态ip,静态ip均可)

Iptables -t nat -A PREROUTING -i ath0 -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-ports 3128 //80端口的web数据走代理服务器squid

 

 

// Linux AP本地的SSH,PROXY, XWINDOW服务对公网阻断

iptables -A INPUT -p tcp --destination-port 22 -i eth0 -j DROP    

iptables -A INPUT -p tcp --destination-port 3128 -i eth0 –j DROP

iptables -A INPUT -p tcp --destination-port 6000:6010 -i eth0 -j DROP

iptables -A INPUT -p icmp -f -j DROP  //过滤icmp碎片

 

 

//允许公网的ftp,mail,DNS进入无线局域网

iptables -A FORWARD –s 0/0 –d 192.168.0.0/24 -p tcp –m multiport --sport 20,21,25 –j ACCEPT

iptables -A FORWARD –s 0/0 –d 192.168.0.0/24 –p udp –sport 53 -j ACCEPT

iptables –A FORWARD –s 0/0 –d 192.168.0.0/24 –p icmp ! -f -j ACCEPT //过滤icmp碎片

//使用状态检测功能,允许无线局域网相关和建立的数据包转发

iptables -A FORWARD -s 0/0 -d 192.168.0.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT

 

shitf :wq存盘退出

chmod 0755 /usr/local/bin/fwsh,成为可执行程序。

执行防火墙

[root@Jack ~]#fwsh

   Starting firewall now ......

防火墙配制完毕

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值