Debian/Ubuntu Linux:使用Hostapd设置无线访问点(WAP)
我有一个备用的USB无线适配器(WIFI适配器/加密狗),我的ISP路由器不支持无线选项。
如何将我的家庭nas服务器变成无线接入点(WAP),允许无线设备在Debian或Ubuntu Linux操作系统下使用Wi-Fi连接到有线网络,而无需购买额外的WPA盒?
如何在Debian或Ubuntu Linux操作系统上设置访问点(AP)模式Wi-Fi热点?
您需要使用hostapd服务器作为访问点和身份验证服务器。
它实现IEEE 802.11接入点管理,IEEE 802.1X/WPA/WPA2/EAP身份验证器,RADIUS客户端,EAP服务器和RADIUS身份验证服务器。
当前版本支持Linux:
- 主机AP
- madwifi
- 基于mac80211
您可以使用基于USB或PCI/Mini-PCI的网卡。
请注意,并非所有网卡或驱动程序都支持AP模式。
拓扑图
- wlan0在AP模式下以a/b/g和WPA2支持连接到Linux的无线PCI或USB设备。
- eth0有线以太网端口,连接到上游路由器/交换机以进行Internet访问。
示例网络图:
Internet \ \ |\ +------------+ RJ-11/ADSL-line \-----+ ISP Router | +--------+ +------------+ RJ-45 (eth0) -------+ Switch | 192.168.1.2 +--------+ with DNS/DHCPD | server + +----> Laptop wireless Firewall | +----> Home nas server with wifi card wlan0 and eth0 wired | with 192.168.1.11 static IP +----> Desktop wired | +----> HP Printer wired | +----> Andriod tablet wireless | +----> Andriod mobile phone wireless and so on
步骤1:安装hostapd
执行以下命令:
# apt-get install hostapd
输出示例:
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) ...
步骤2:配置hostapd
编辑/etc/default/hostapd
,输入:
# vi /etc/default/hostapd
取消注释并将DAEMON_CONF设置为hostapd配置文件的绝对路径,并且hostapd将在系统引导期间启动:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
保存并关闭文件。
接下来创建一个名为`/etc/hostapd/hostapd.conf的文本文件,输入:设置接口名称:
### Wireless network name ### interface=wlan0 ### Set your bridge name ### bridge=br0
设置驱动程序名称:
driver=nl80211
以ISO/IEC 3166-1格式设置国家/地区代码。
这用于设置监管域。
根据需要进行设置以指示设备在哪个国家/地区工作。
这会限制可用信道和发射功率。
### (IN == INDIA, UK == United Kingdom, US == United Stats and so on ) ### country_code=IN
设置您的SSID:
ssid=theitroad
设置操作模式(a = IEEE 802.11a,b = IEEE 802.11b,g = IEEE 802.11g)
hw_mode=g
设置通道号(某些驱动程序将仅使用0作为值)
channel=6
将wpa模式设置为2:
wpa=2
设置密码(WiFi密码):
wpa_passphrase=MyWiFiPassword
设置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
保存并关闭文件。
如何启动/停止/重启AP?
使用以下命令:
# /etc/init.d/hostapd start # /etc/init.d/hostapd stop # /etc/init.d/hostapd restart
步骤3:配置/etc/network/interfaces
您可以在独立模式下设置wlan0或与eth0桥接。
桥接模式将打开您的无线客户端以访问LAN的其余部分,并且您将能够连接到Internet。
大多数用户将无线接口与AP的Internet连接接口桥接。
将br0(wlan0 + eth0)设置为桥接模式
您需要安装bridge-utils软件包以配置Linux以太网桥:
# apt-get install bridge-utils
输出示例:
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) ...
编辑/etc/network/interfaces,输入:
# vi /etc/network/interfaces
修改或设置配置,如下所示:
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 eth0 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
保存并关闭文件。
在此阶段,我建议您按以下方式重新启动计算机或重新启动所有服务(可能无法通过远程ssh会话运行):
# /etc/init.d/networking restart # /etc/init.d/hostapd restart
或者
# reboot
关于DHCPD服务器的说明
由于您正在网桥(br0)模式下运行WAP,因此WAP上不需要DHCPD。
它可以使用位于LAN上任何位置的DHCPD服务器。
在此示例中,192.168.1.2是运行DHCPD的ISP路由器。
如果不使用DHCPD服务器,请按以下步骤进行设置:
- Ubuntu/Debian Linux:为您的网络设置一个ISC DHCP服务器
关于防火墙的注意事项
您可以安装防火墙以防止受到攻击。
了解如何在Debian或Ubuntu Linux上安装Shorewall。
如何解决WAP问题?
您可以在/var/log/syslog
文件中找到WPA身份验证日志信息:
# tail -f /var/log/syslog
找出DHCPD中继是否正常工作:
# tcpdump -n port 67 or port 68
确保防火墙未阻止所需的端口:
# /sbin/iptables -L -n -v | less
确保分配了正确的mac地址,并且br0已启动并正在运行:
# ifconfig br0 # ifconfig | grep HW # brctl show # brctl showmacs br0
使用以下8个Linux命令来找出无线网络速度,信号强度和其他信息:
最后,请确保您使用以下软件的最新版本
- Linux内核
- 无线网卡驱动程序和固件
- hostapd