Ubuntu下通过Hostapd建立软AP提供无线上网功能

来源:互联网 发布:mac怎么强制删除软件 编辑:程序博客网 时间:2024/06/06 09:27

Ubuntu下通过Hostapd建立软AP提供无线上网功能

摘要

  • 文章摘要
    Ubuntu下通过有线接入互联网,无线网卡提供WiFi热点,实现简易路由器的功能

搭建环境

1、配置有线网络环境
自然是先搞定线路连接部分,主机接入上级路由或是交换机,得到一个可用的IP地址:172.16.1.100,子网掩码:255.255.0.0,网关:172.16.1.1
root权限下执行:

ifconfig eth0 downifconfig eth0 172.16.1.100 netmask 255.255.0.0route add default gw 172.16.1.1echo "nameserver 114.114.114.114" >> /etc/resolv.confifconfig eth0 up/etc/init.d/networking restart

ok,ping一下外网,发现是通的

2、安装相关软件

apt-get install hostapdapt-get install dhcp3-server

配置文件

1、hostapd

interface=wlan2driver=nl80211ssid=bananapihw_mode=gchannel=11dtim_period=1auth_algs=1wpa=2wpa_passphrase=12345678 wpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP

小解释下:
interface:自然是你的无线网络接口,如果系统正常识别你的网卡,ifconfig -a 是可以看到的,我这里是wlan2
driver:网卡驱动,这里必填nl80211
ssid:自然是你希望看到的无线热点名称,我是在香蕉派上面搭的,就叫bananapi吧
wpa_passphrase:密码
hw_mode:802.11的几代协议,2.4G下选填a、b、g,对应不同速率
channel:信道,2.4G下选填1-13信道
auth_algs:
wpa:加密协议
wpa_key_mgmt:
wpa_pairwise:
rsn_pairwise:

ok,针对不同配置项,结合自己实际情况,将其写入/etc/hostapd/hostapd.conf文件保存
2、dhcpd

subnet  192.168.0.0  netmask   255.255.255.0  {  range   192.168.0.2    192.168.0.10;  option   routers   192.168.0.1;  option   domain-name-servers   8.8.8.8;  }

以上内容写入 /etc/dhcp/dhcpd.conf文件末尾
range:说明dhcp地址池的范围
routers:路由
domain-name-servers:dns地址

配置转发规则

echo 1 > /proc/sys/net/ipv4/ip_forwardiptables  -t nat  -A POSTROUTING  -o eth0 -j MASQUERADE

启动命令

ifconfig wlan2 192.168.0.1 netmask 255.255.255.0dhcpd wlan2 -pf /var/run/dhcp-server/dhcpd.pidhostapd /etc/hostapd/hostapd.conf &

整合脚本

StartAp.sh

#!/bin/shecho 1 > /proc/sys/net/ipv4/ip_forwardiptables  -t nat  -A POSTROUTING  -o eth0 -j MASQUERADEifconfig wlan2 192.168.0.1 netmask 255.255.255.0dhcpd wlan2 -pf /var/run/dhcp-server/dhcpd.pidhostapd /etc/hostapd/hostapd.conf &

增加可执行权限:
chmod a+x StartAp.sh

拷贝到/usr/bin,放在/etc/rc.local即可开机启动:

echo "sh /usr/bin/StartAp.sh &" >> /etc/rc.local
0 0