Linux下搭建AP

        这里的环境是archlinux
        首先是启用网卡转发功能
sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1
        重启使之生效
        再之是安装hostapd这一建ap利器。
sudo pacman -S hosapd
        然后是配置/etc/hostapd.conf 在arch下这个配置文件有非常详细的注释,而且默认的配置已经能满足基本需求,所以修改起来不难也不多。我也忘了我具体改了哪些参数,最后的配置文件主体如下:
interface=wlan0
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=chliny
hw_mode=g
channel=11
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0

#wep_default_key=0
#wpa=1
#wpa_passphrase=secret passphrase
#wpa_key_mgmt=WPA-PSK WPA-EAP

#wpa_pairwise=TKIP CCMP
#rsn_pairwise=CCMP
        这时候用 sudo systemctl start hostapd.service 能够开启hostapd,用ifconfig查看的话会发现多出一个mon.wlan0。但这时手机虽然能扫描到这个AP,连接却获取不到ip地址。所以我们要先给wlan0赋个地址
ifconfig wlan0 10.5.5.1 netmask 255.255.255.0
        再然后是开启一个dhcp server服务。我一开始用的是dhcpd,也是网上大多数教程用的,但发现这样能给手机分配到ip地址,但手机却获取不到dns。直到饭桌上跟一师兄谈及,师兄指点可以用dnsmasq才大悟。

        关于dnsmasq的配置, arch wiki上已经讲得非常详细了,这里就不再叙述。
         最后是在iptables 设置nat
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
至此完成 。

        初次搭建ap会比较麻烦,但后面基本只要四句命令而已:

sudo systemctl restart hostapd.service
sudo ifconfig wlan0 10.5.5.1 netmask 255.255.255.0
sudo systemctl restart dnsmasq.service
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

转载于:https://my.oschina.net/chliny/blog/99006

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值