博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将树莓派Raspberry Pi设置为无线路由器(WiFi热点AP,RTL8188CUS芯片)
阅读量:6720 次
发布时间:2019-06-25

本文共 3373 字,大约阅读时间需要 11 分钟。

本文是基于在某东购买的usb无线网卡(RTL8188CUS芯片)来制作无线热点。本来想制作一个一键脚本。只是先把实现的过程记录下来。

參考文章

1、更新系统,安装须要的软件

我们首先须要更新系统。然后安装必备的软件,以备随后编译hostapd。

sudo apt-get updatesudo apt-get install bridge-utils udhcpd make libnl-dev

2、编译安装hostpad

如今在git库中的hostpad是2.6版。已经支持了最新的RTL8188CUS芯片,所以我们直接编译安装就可以。

#从官网直接克隆代码git clone git://w1.fi/srv/git/hostap.git#若你想指定版本号库则能够直接checkoutgit checkout hostap_2_5cd hostap/hostapd/#使用默认配置文件cp defconfig .config#编译安装makesudo make install#这时能够看到已经将hostpad安装至`install -D hostapd /usr/local/bin//hostapd`

3.1、桥接方式设置wifi热点

若不想使用桥接方式则能够跳过此步。使用路由器方式来设置热点

编辑网卡配置文件:

sudo nano /etc/network/interfaces

然后将配置文件改动成例如以下配置:

auto loiface lo inet loopbackiface eth0 inet dhcp#增加桥接auto br0iface br0 inet dhcpbridge_ports eth0 wlan0

配置hostapd:

sudo nano /etc/hostapd/hostapd.conf

配置成例如以下:

#macaddr_acl:指定MAC地址过滤规则。0表示除非在禁止列表否则同意,1表示除非在同意列表否则禁止。2表示使用外部RADIUS服务器#accept_mac_file:指定同意MAC列表文件所在#deny_mac_file:指定禁止MAC列表文件所在#ignore_broadcast_ssid改为1为隐藏SSID#macaddr_acl=1#accept_mac_file=/etc/hostapd/hostapd.acceptignore_broadcast_ssid=0interface=wlan0driver=rtl871xdrv#ssidssid=My_SSID_Namehw_mode=gchannel=1macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2#passwordwpa_passphrase=MYPASSWORDwpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP

然后将配置文件增加hostapd并使其生效:

sudo nano /etc/default/hostapd

去掉凝视符号,并将上面的配置文件的路径填写在DAEMON_CONF下:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

最后重新启动:

sudo reboot

3.2、用路由器的方式设置WiFI热点

这里主要使用udhcpd工具来为连接到Wifi的设备自己主动分配IP地址,当然也能够替换成其它的dhcpd工具。

改动udhcpd配置文件:

sudo mv /etc/udhcpd.conf /etc/udhcpd.conf.baksudo nano /etc/udhcpd.conf

将配置文件改动成例如以下内容:

#设置路由器分配的起始IP与终止IPstart 192.168.42.1end 192.168.42.20interface wlan0remaining yes#设置DNSopt dns 8.8.8.8 4.2.2.2opt subnet 255.255.255.0#设置树莓派网卡的IPopt router 192.168.42.1#设置IP过期时间opt lease 864000

然后编辑/etc/default/udhcpd使DHCP Server正常工作:

#将这行的凝视取消DHCPD_ENABLED="no"

设置树莓派无线网卡的静态IP:

sudo ifconfig wlan0 192.168.42.1

改动网卡配置文件,使其永久生效:

sudo nano /etc/network/interfaces

将配置文件改动成例如以下内容:

auto loiface lo inet loopbackiface eth0 inet dhcpallow-hotplug wlan0iface wlan0 inet static  address 192.168.42.1  netmask 255.255.255.0#每次开机自己主动载入iptablesup iptables-restore < /etc/iptables.ipv4.nat

配置hostapd:

sudo nano /etc/hostapd/hostapd.conf

配置成例如以下:

interface=wlan0driver=rtl871xdrv#ssidssid=My_SSID_Namehw_mode=gchannel=1macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2#passwordwpa_passphrase=MYPASSWORDwpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP

然后将配置文件增加hostapd并使其生效:

sudo nano /etc/default/hostapd

去掉凝视符号。并将上面的配置文件的路径填写在DAEMON_CONF下:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

启动IP转向功能以便于开通NAT:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

编辑sudo vim /etc/sysctl.conf改动net.ipv4.ip_forward设置为1:

net.ipv4.ip_forward=1

配置iptable防火墙

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEsudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPTsudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

这时NAT功能已被启用。然后将当前改动的内容存储在iptables配置文件里:

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

/etc/default/ifplugd内容改动成例如以下配置:

INTERFACES="eth0"HOTPLUG_INTERFACES="eth0"ARGS="-q -f -u0 -d10 -w -I"SUSPEND_ACTION="stop"

然后启动对应的服务。并将其增加启动项:

sudo service hostapd startsudo service udhcpd startsudo update-rc.d hostapd enablesudo update-rc.d udhcpd enable

最后重新启动:

sudo reboot

此时就完毕了无线热点的配置。然后就能够依据设置的ssid与password进行wifi的连接,将hostapd升级至2.6以后连接速度很之快。但有一个问题是。在将信道设置为6时,手机连接无法分配到IP。

等待兴许更新处理。

转载地址:http://hvcmo.baihongyu.com/

你可能感兴趣的文章
PyQt4 / PyQt5
查看>>
使用vue开发输入型组件更好的一种解决方式(子组件向父组件传值,基于2.2.0)
查看>>
linux 服务器安装 nginx
查看>>
108. Convert Sorted Array to Binary Search Tree
查看>>
Android 学习开发笔记《Service 与 Thread 的区别 》
查看>>
grep:Binary file (standard input) matches
查看>>
云计算
查看>>
centos7.2下部署 python3
查看>>
Shell 编程(实例一)
查看>>
C++Primer笔记——文本查询程序(原创,未使用类)
查看>>
Matplotlib 知识点整理
查看>>
Django问题 TypeError: __init__() missing 1 required positional argument: 'on_delete'
查看>>
面向对象(上)之一
查看>>
Spring学习篇:AOP知识整理
查看>>
jq 获取各个元素的宽度高度的方法
查看>>
AJAX实现仿Google Suggest效果
查看>>
[ACM]A + B Problem (大数相加3种方法)
查看>>
Java 环境搭建
查看>>
软件体系架构阅读笔记十五
查看>>
启用了不安全的HTTP方法解决办法 IBM APPSCAN
查看>>