Step #1: Install hostapd
Type the following command:# apt-get install hostapd
Sample outputs:
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: hostapd 0 upgraded, 1 newly installed, 0 to remove and 15 not upgraded. Need to get 346 kB of archives. After this operation, 877 kB of additional disk space will be used. Get:1 http://debian.osuosl.org/debian/ squeeze/main hostapd amd64 1:0.6.10-2 [346 kB] Fetched 346 kB in 2s (151 kB/s) Selecting previously deselected package hostapd. (Reading database ... 267669 files and directories currently installed.) Unpacking hostapd (from .../hostapd_1%3a0.6.10-2_amd64.deb) ... Processing triggers for man-db ... Setting up hostapd (1:0.6.10-2) ...
Step #2: Configure hostapd
Edit /etc/default/hostapd, enter:# vi /etc/default/hostapd
Uncomment and set DAEMON_CONF to the absolute path of a hostapd
configuration file and hostapd will be started during system boot:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Save and close the file. Next create a text file called /etc/hostapd/hostapd.conf, enter:
Set interface name:
### Wireless network name ### interface=wlan0 ### Set your bridge name ### bridge=br0
Set driver name:
driver=nl80211
Set country name code in ISO/IEC 3166-1 format. This is used to set regulatory domain. Set as needed to indicate country in which device is operating. This can limit available channels and transmit power.
### (IN == INDIA, UK == United Kingdom, US == United Stats and so on ) ### country_code=IN
Set your SSID:
ssid=nixcraft
Set operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g)hw_mode=g
Set channel number (some driver will only use 0 as value)
channel=6
Set wpa mode to 2:
wpa=2
Set your passphrase (WiFi password):
wpa_passphrase=MyWiFiPassword
Set key and auth optionsmanagement for WPA2:
## Key management algorithms ## wpa_key_mgmt=WPA-PSK ## Set cipher suites (encryption algorithms) ## ## TKIP = Temporal Key Integrity Protocol ## CCMP = AES in Counter mode with CBC-MAC wpa_pairwise=TKIP rsn_pairwise=CCMP ## Shared Key Authentication ## auth_algs=1 ## Accept all MAC address ### macaddr_acl=0
Save and close the file.
How Do I start / stop / restart AP?
Use the following commands:# /etc/init.d/hostapd start
# /etc/init.d/hostapd stop
# /etc/init.d/hostapd restart
Step #3: Configure /etc/network/interfaces
You can setup wlan0 in standalone mode or bridge it with eth0. The bridge mode will open your wireless client to access rest of the LAN and you will able to connect to the Internet. Most user bridge the wireless interface with the AP's Internet-connected interface.
Set br0 (wlan0+eth0) in bridge mode
You need to install bridge-utils package for configuring the Linux Ethernet bridge:# apt-get install bridge-utils
Sample outputs:
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: bridge-utils 0 upgraded, 1 newly installed, 0 to remove and 15 not upgraded. Need to get 32.7 kB of archives. After this operation, 176 kB of additional disk space will be used. Get:1 http://debian.osuosl.org/debian/ squeeze/main bridge-utils amd64 1.4-5 [32.7 kB] Fetched 32.7 kB in 1s (25.5 kB/s) Selecting previously deselected package bridge-utils. (Reading database ... 267692 files and directories currently installed.) Unpacking bridge-utils (from .../bridge-utils_1.4-5_amd64.deb) ... Processing triggers for man-db ... Setting up bridge-utils (1.4-5) ...
Edit /etc/network/interfaces, enter:# vi /etc/network/interfaces
Modify or set config as follows:
auto lo br0 iface lo inet loopback # wireless wlan0 allow-hotplug wlan0 iface wlan0 inet manual # eth0 connected to the ISP router allow-hotplug eth0 iface eth1 inet manual # Setup bridge iface br0 inet static bridge_ports wlan0 eth0 address 192.168.1.11 netmask 255.255.255.0 network 192.168.1.0 ## isp router ip, 192.168.1.2 also runs DHCPD ## gateway 192.168.1.2 dns-nameservers 192.168.1.2
Save and close the file. At this stage I recommend that you
reboot the computer or restart all services as follows (may not work
over remote ssh session):# /etc/init.d/networking restart
# /etc/init.d/hostapd restart
OR# reboot
A note about DHCPD server
Since you are running your WAP in bridge (br0) mode, DHCPD is not required on your WAP. It can use DHCPD server located anywhere on the LAN. In this example 192.168.1.2 is an ISP router with DHCPD running on it. If you are not using DHCPD server, setup as follows:
A note about Firewall
You can install a firewall to protect from attacks. See how to install shorewall on Debian or Ubuntu Linux.
How do I troubleshoot WAP problems?
You will find WPA auth log info in /var/log/syslog file:# tail -f /var/log/syslog
Find out if DHCPD relay working or not:# tcpdump -n port 67 or port 68
Make sure firewall is not blocking required ports:# /sbin/iptables -L -n -v | less
Make sure correct mac address are assigned and br0 is up and running:# ifconfig br0
# ifconfig | grep HW
# brctl show
# brctl showmacs br0
Use these 8 Linux commands to find out wireless network speed, signal strength and other information:
Finally, make sure you use latest version of the following software
- Linux kernel
- Wireless card drivers and firmware
- hostapd
References
- hostapd documentation from the Linux kernel wireless wiki.
- Download latest version of hostapd from the official web-site or read documentation here or run the command vi /usr/share/doc/hostapd/examples/hostapd.conf.gz
- man pages - hostapd, brctl command, and interfaces
- linux dhcp peizhi roc
- 关于Unix文件的软链接
- 求教这个命令什么意思,我是新...
- sed -e "/grep/d" 是什么意思...
- 谁能够帮我解决LINUX 2.6 10...
golang 创建一个简单的广播echo服务器
golang 使用 protobuf 的教程
golang语言中os包的学习与使用(文件,目录,进程的操作)
【原】画流程图工具visio使用技巧汇总
【改】IOS-百度地图API用点生成线路、导航、自定义标注 2013年11月更新
【原】xcode5&IOS7及以下版本免证书真机调试记录
【转】C++的拷贝构造函数深度解读,值得一看
【转】c++中引用的全方位解读
【转】self.myOutlet=nil、viewDidUnload、dealloc的本质剖析
- 最新文章
-
MySQL(9)---纪录一次实际开发过程中用到的复杂存储过程
MySQL(8)---游标
MySQL(7)---存储过程
MySQL(6)---变量
docker-ce-17.09 网络基础配置
docker-ce-17.09 数据卷和数据卷容器
docker-ce-17.09 仓库的创建与使用
docker-ce-17.09 容器创建,运行,进入,删除,导入/导出
docker-ce-17.09 镜像获取,创建,删除,保存
mysql 主从数据不一致 Slave_SQL_Running: No 解决方法
- 热门文章
-
mysql 定时任务的使用
php 多进程 父进程的阻塞与非阻塞
mysql 中 replace into 与 insert into on duplicate key update 的使用和不同点
golang 通过fsnotify监控文件,并通过文件变化重启程序
golang 实现延迟消息原理与方法
golang 创建一个简单的连接池,减少频繁的创建与关闭
golang 创建一个简单的资源池,重用资源,减少GC负担
golang sync.Pool包的使用和一些注意地方
golang语言中bytes包的常用函数,Reader和Buffer的使用
golang语言中sync/atomic包的学习与使用