Linux 环境下开启wifi热点
2016-07-02 19:42
429 查看
Linux 环境下开启wifi热点
hostapdhcp
bash
Hostapd
hostapd is a user space daemon for access point and authentication servers.hostapd是AP和认证服务器的守护进程,使用hostapd可以无网卡调整为maste模式,从模拟一个路由的功能,也就是软AP(soft AP)。
简单来讲,hostapd可以通过配置创建一个软AP,下面具体介绍一下配置过程。
环境要求
-网卡支持master模式 -linux(debian, ubuntu, archlinx) -Linux mac80211 驱动
安装 HOSTAPD
$: sudo apt-get install hostapd
或者下载安装。
配置 HOSTAPD
在 * /etc/hostapd/hostapd.conf * 文件内写入如下内容#sets the wifi interface to use, is wlan0 in most cases interface=wlan0 #driver to use, nl80211 works in most cases driver=nl80211 #sets the ssid of the virtual wifi access point ssid=ff #sets the mode of wifi, depends upon the devices you will be using. It can be a,b,g,n. Setting to g ensures backward compatiblity. hw_mode=g #sets the channel for your wifi channel=6 #macaddr_acl sets options for mac address filtering. 0 means “accept unless in deny list” macaddr_acl=0 #setting ignore_broadcast_ssid to 1 will disable the broadcasting of ssid ignore_broadcast_ssid=0 #Sets authentication algorithm #1 - only open system authentication #2 - both open system authentication and shared key authentication auth_algs=1 #####Sets WPA and WPA2 authentication##### #wpa option sets which wpa implementation to use #1 - wpa only #2 - wpa2 only #3 - both wpa=3 #sets wpa passphrase required by the clients to authenticate themselves on the network wpa_passphrase=KeePGuessinG #sets wpa key management wpa_key_mgmt=WPA-PSK #sets encryption used by WPA wpa_pairwise=TKIP #sets encryption used by WPA2 rsn_pairwise=CCMP
执行命令
$:sudo hostapd /etc/hostapd/hostapd.conf
现在hostapd的配置已经完成,手机已经可以搜索到一个名为ff的wifi。但是还连不上这个wifi,因为现在还没有配置dhcp服务器。
DHCP
现在HOSTAPD已经可以正确运行了,只需要配置好DHCP服务器就可以用移动设备接入wifi上网了。DHCP用来给连如的移动设备分配ip地址,首先安装DHCP服务器。$:sudo apt-get install isc-dhcp-server
编辑* /etc/dhcp/dhcpd.conf *文件,内容如下:
ddns-update-style none; ignore client-updates; authoritative; option local-wpad code 252 = text; subnet 10.0.0.0 netmask 255.255.255.0 { # --- default gateway option routers 10.0.0.1; # --- Netmask option subnet-mask 255.255.255.0; # --- Broadcast Address option broadcast-address 10.0.0.255; # --- Domain name servers, tells the clients which DNS servers to use. option domain-name-servers 10.0.0.1, 8.8.8.8, 8.8.4.4; option time-offset 0; range 10.0.0.3 10.0.0.13; default-lease-time 1209600; max-lease-time 1814400; }
BASH脚本
配置一个用来上网的简单bash脚本就可以了。假设命名为wifi.sh,写入如下内容。#!/bin/bash #Initial wifi interface configuration ifconfig $1 up 10.0.0.1 netmask 255.255.255.0 sleep 2 ###########Start DHCP, comment out / add relevant section########## #Thanks to Panji #Doesn’t try to run dhcpd when already running if [ “$(ps -e | grep dhcpd)” == “” ]; then dhcpd $1 & fi ########### #Enable NAT iptables --flush iptables --table nat --flush iptables --delete-chain iptables --table nat --delete-chain iptables --table nat --append POSTROUTING --out-interface $2 -j MASQUERADE iptables --append FORWARD --in-interface $1 -j ACCEPT #Thanks to lorenzo #Uncomment the line below if facing problems while sharing PPPoE, see lorenzo’s comment for more details #iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu sysctl -w net.ipv4.ip_forward=1 #start hostapd hostapd /etc/hostapd/hostapd.conf
使用格式为
./wifi.sh wifi_card_interface interface_with_internet
查看自己电脑的无线网卡和有线网卡的名字,比如我的是** wlan0 *, * eth0 **。
$:ifconfig -a
执行
chmod a+x wifi.sh sudo ./wifi.sh wlan0 eth0
参考:·The Linux Way to create Virtual Wifi Access Point
最新最早最热
相关文章推荐
- CentOS 7 下Ant环境配置
- linux ubuntu 12.04 搭建git服务器:ssh方式clone
- Archlinux安装和使用技巧
- mysql 5.7 linux环境下安装部署
- Linux静态链接和动态链接浅析
- CentOs下 JDK安装过程
- Linux下(Ubuntu)如何在eclipse中使用boost库
- linux截图工具ksnapshot
- Linux上的日志系统
- 《OD学hadoop》第一周0626 作业二:Linux基础
- 闲话Linux系统安全(一)——自主访问控制(DAC) 推荐
- Linux 安装 JDK1.7.0_79
- linux 如何显示一个文件的某几行(中间几行)
- Linux 下五个顶级的开源命令行 Shell
- linux 安装zeromq的一关键点
- Linux-7基础篇 关于进程的一些事
- linux 安装 python2.7 +配置mysql
- Linux 下串口编程入门
- CentOS7+Zabbix3.0.3安装
- centos7安装jetty9.3.10笔记