您的位置:首页 > 运维架构 > Linux

linux下架设wifi无线热点(虚拟ap/softAP)

2014-04-17 18:04 246 查看
可恶的校园网,竟然限制网卡,哥想用个wifi都非常不爽。从此抛弃锐捷投奔到mentohust的怀抱。笔记本自然充当路由器的角色。windows下可用connectify或虚拟适配器什么的自然无忧,linux下哥亦有妙招。一般情况,netmanager可以直接办到,不过那个是ad-hoc模式,大多数安卓手机不支持(或者说是选择性忽视),而ap模式(听说mint自带),我选用hostapd,下面来介绍一下linux架设wifi的其中一个方法,用iptable实现数据包转发。

ad-hoc模式看这里:https://help.ubuntu.com/11.10/ubuntu-help/net-adhoc.html

查看网卡是否支持AP:

 一、前期准备

1、dhcpd

为内网分配ip地址。一般linux发行版自带。

2、iptable

linux下常用的防火墙,本方法使用它伪装和转发数据包实现NAT地址转换

3、hostapd

hostapd是一个用于AP和认证服务器的守护进程,支持IEEE802.1X/WPA/WPA2/EAP认证, EAP服务,和RADIUS认证服务。

二、配置

1、dhcpd:/etc/dhcpd.conf

划分子网:

#不设置DDNS更新

 ddns-update-style interim;

 #忽视客户端更新

 ignore client-updates;

#设置默认路由

 option routers 192.168.1.1;

#子网参数

subnet 192.168.1.0 netmask 255.255.255.0 {

 option routers 192.168.1.1;

 option subnet-mask 255.255.255.0;

 range 192.168.1.110 192.168.1.120;

 }

2、iptable:添加数据包转发和伪装规则

#使主机可接受内部LAN的数据包

iptables -A INPUT -i wlan0 -j ACCEPT

#使linux具有rounter功能

echo "1" > /proc/sys/net/ipv4/ip_forward

#对来自内网的数据包实行ip伪装

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

#接受处理连接状态的数据包

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#对外网的数据包实行Ip伪装

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

3、hostapd:配置/etc/hostapd/hostapd.conf

因为WEP加密算法早已被破解了,所以推荐安全性更高的WPA/WPA2加密。

配置文件里较多内容,这里只选取必要的配置。

#指定WPA类型,0为WPA,1为IEEE 802i/RSN(WPA2)

wpa=1

#这个不用说当然是密码

wpa_passphrase=12345678

#这里采用PSK预共享密钥加密

wpa_key_mgmt=WPA-PSK

#如果启用了WPA,需要指定wpa_pairwise,如果启用WPA2,则指定rsn_pairwise

#wpa_pairwise=TKIP CCMP

rsn_pairwise=TKIP CCMP

 

三、运行

1、启动dhcpd

service start dpchd

2、添加iptables规则

3、启动hostapd

hostapd  /etc/hostapd/hostapd.conf

推荐把流程封装成sell脚本,每次只运行脚本文件即可。
(责任编辑:lxy)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: