hostapd android,使用hostapd和dnsmasq实现软AP「建议收藏」

hostapd android,使用hostapd和dnsmasq实现软AP「建议收藏」由于要共享无线给android,虽然cm6.1可以用ad-hoc,但感觉android连ad-hoc要比连ap耗电。本来想看看有什么usb无线网卡可以在linux下用软ap,顺便用来替换掉上网本的无线网卡,我的上网本在linux下的无线驱动太差劲(可恨的rtl8187),连ad-hoc都不支持。结果在http://linuxwireless.org上发现我台式机的无线网卡的ath5k驱动很完善,可…

大家好,又见面了,我是你们的朋友全栈君。

由于要共享无线给android,虽然cm6.1可以用ad-hoc,但感觉android连ad-hoc要比连ap耗电。本来想看看有什么usb无线网卡可以在linux下用软ap,顺便用来替换掉上网本的无线网卡,我的上网本在linux下的无线驱动太差劲(可恨的rtl8187),连ad-hoc都不支持。结果在http://linuxwireless.org上发现我台式机的无线网卡的ath5k驱动很完善,可以用软ap,ath5k太可爱了。回来搞了一个晚上加一个中午,终于用hostapd,dnsmasq实现了软ap。可怜的netmanager要报废咯~

首先,系统是U10.10,安装软件:

sudo apt-get install hostapd dnsmasq

(1)为无线添加路由规则:

sudo iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE

sudo iptables -A FORWARD -s 10.1.1.0/24 -o eth0 -j ACCEPT

sudo iptables -A FORWARD -d 10.1.1.0/24 -m conntrack –ctstate ESTABLISHED,RELATED -i eth0 -j ACCEPT

10.1.1.0/24是我设置的地址段,可以自己改。

若要记录下路由的情况可以加如下语句:

sudo iptables -A INPUT -m conntrack –ctstate NEW -p tcp –dport 80 -j LOG –log-prefix “NEW_HTTP_CONN: “

其中NEW_HTTP_CONN是日记中的标识。

然后把现在iptables的规则写进/etc/iptables.rules:

sudo sh -c “iptables-save > /etc/iptables.rules”

配置interface文件,使每次eth0启动时自动写规则:

auto eth0

iface eth0 inet dhcp

pre-up iptables-restore < /etc/iptables.rules

post-down iptables-save > /etc/iptables.rulse

(2)配置hostapd.conf

interface=wlan0

bridge=br0 #貌似这个没有用

driver=nl80211

ssid=fortimefan

hw_mode=g

channel=11

dtim_period=1

rts_threshold=2347

fragm_threshold=2346

macaddr_acl=0

auth_algs=3

ieee80211n=0

(3)配置/etc/dnsmasq.conf:

interface=wlan0

bind-interfaces #这个是只监听wlan0,没有之会检测所有卡

except-interface=lo

dhcp-range=10.1.1.10,10.1.1.110,6h #设置dhcp地址范

#address=/#/10.1.1.1 #这个会把#(代表所有网址)的dns到10.1.1.1这个地址

(4)dnsmasq与named

一般情况下bind的named会占了53端口,然后dnsmasq会启动不了,所以我用killall named来杀了named再启动dnsmasq。

附自动链接代码:

#! /bin/sh

case “$1” in

start)

killall named

killall hostapd

linux1x -k

ifconfig wlan0 10.1.1.1

hostapd /home/fan/.hostapd.conf &>/dev/null &

/etc/init.d/dnsmasq restart

linux1x -d #校园网h3c,杀了named后好像会出问题,重连一下h3c

;;

esac

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143642.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CSS 改变鼠标样式(大全)[通俗易懂]

    CSS 改变鼠标样式(大全)[通俗易懂]前端经常会用到改变鼠标的样式来达到更好的页面效果,比如经常会使用到改变成小手,拖拽时改变成移动拖拽的鼠标样式,可每次都需要查阅资料来完成代码,在此做下详细总结:使用方法:<spanstyle=”cursor:auto”>Auto</span><spanstyle=”cursor:crosshair”>Crosshair</span><spanstyle=”cursor:default”>Default&..

    2022年5月31日
    154
  • LINUX Shell常用命令

    LINUX Shell常用命令LinuxShell常用shell命令一、文件、目录操作命令1、ls命令功能:显示文件和目录的信息ls 以默认方式显示当前目录文件列表ls-a显示所有文件包括隐藏文件ls-l显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行ls-lh显示文件的大小,以容易理解的格式印出文件大小(例如1K234M2G)ls-lt显示文件,按照修改时…

    2022年5月31日
    52
  • VUE组件封装_vue组件内部双向绑定

    VUE组件封装_vue组件内部双向绑定官方:一个组件上的v-model默认会利用名为value的prop和名为input的事件。v-model实际上只是一个语法糖:<inputv-model=”password”>作用与以下相似:<inputtype=”text”:value=”password”@input=”password=$event.target.value”>也就是通过v-model传递的值,最终是传递给了子组件props中value属性,子组件修改valu

    2022年9月23日
    3
  • java ee简介_Java EE 简介

    java ee简介_Java EE 简介JavaEE简介JavaEE基本架构JavaEE的诞生是为了解决传统C/S架构的弊端:客户端臃肿庞大,扩展性差等弊端。JavaEE将传统的两层结构细分为了四层。这四层分别是:Client层,Web层,Business层,EIS层JavaEE客户端JavaEE客户端层可分为以下几种:Web客户端,通常是浏览器呈现的网页,这种客户端成为轻量级客户端,因为他们不与…

    2022年7月7日
    17
  • Enterprise Library 3.1 介绍「建议收藏」

    Enterprise Library 3.1 介绍「建议收藏」EnterpriseLibrary3.1是Microsoftpatterns&practicesEnterpriseLibrary的一个新的发行。EnterpriseLibrary是一个应用程序块的集合。这些可重用的软件组件为帮助开发者解决普通企业开发的挑战而设计。这个EnterpriseLibrary发行包括了二个新的应用程序块,一个用于创建应用程序块和提供程序的软

    2022年10月20日
    24
  • dpkg命令和作用

    dpkg命令和作用dpkg-ipackage.deb安装包   dpkg-rpackage删除包   dpkg-Ppackage删除包(包括配置文件)   dpkg-Lpackage列出与该包关联的文件   dpkg-lpackage显示该包的版本   dpkg–unpackpackage.deb解开deb包的内容   dpkg

    2022年5月11日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号