将树莓派Raspberry Pi设置为无线路由器(WiFi热点AP,RTL8188CUS芯片)

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

參考文章

Turn Your Raspberry Pi Into a WiFi Hotspot with Edimax Nano USB EW-7811Un (RTL8188CUS chipset)

Why won’t dnsmasq’s DHCP server work when using hostapd?

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

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

sudo apt-get update
sudo 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
#若你想指定版本号库则能够直接checkout
git checkout hostap_2_5
cd hostap/hostapd/
#使用默认配置文件
cp defconfig .config
#编译安装
make
sudo make install
#这时能够看到已经将hostpad安装至`install -D hostapd /usr/local/bin//hostapd`

3.1、桥接方式设置wifi热点

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

编辑网卡配置文件:

sudo nano /etc/network/interfaces

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

auto lo

iface lo inet loopback
iface eth0 inet dhcp
#增加桥接
auto br0
iface br0 inet dhcp
bridge_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.accept
ignore_broadcast_ssid=0
interface=wlan0
driver=rtl871xdrv
#ssid
ssid=My_SSID_Name
hw_mode=g
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
#password
wpa_passphrase=MYPASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_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.bak
sudo nano /etc/udhcpd.conf

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

#设置路由器分配的起始IP与终止IP
start 192.168.42.1
end 192.168.42.20
interface wlan0
remaining yes
#设置DNS
opt dns 8.8.8.8 4.2.2.2
opt subnet 255.255.255.0
#设置树莓派网卡的IP
opt 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 lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet static
  address 192.168.42.1
  netmask 255.255.255.0
#每次开机自己主动载入iptables
up iptables-restore < /etc/iptables.ipv4.nat

配置hostapd:

sudo nano /etc/hostapd/hostapd.conf

配置成例如以下:

interface=wlan0
driver=rtl871xdrv
#ssid
ssid=My_SSID_Name
hw_mode=g
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
#password
wpa_passphrase=MYPASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_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 MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo 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 start
sudo service udhcpd start
sudo update-rc.d hostapd enable
sudo update-rc.d udhcpd enable

最后重新启动:

sudo reboot

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

等待兴许更新处理。

时间: 2024-10-10 15:17:41

将树莓派Raspberry Pi设置为无线路由器(WiFi热点AP,RTL8188CUS芯片)的相关文章

【树莓派】【转】将树莓派Raspberry Pi设置为无线路由器(WiFi热点AP,RTL8188CUS芯片)

下文为转载,文章转自:http://wangye.org/blog/archives/845/,仅供本次学习实践参考. 最近又开始折腾起Raspberry Pi来了,因为某处上网需要锐捷拨号,于是我就想能不能让我的树莓派代劳,当然首先要将其改造为路由器,默认自带的网口作为WAN口,我们还缺一个网口,木有办法,只好占用一个USB口,接上一个USB网卡,网上的USB转RJ45网线口的适配器比较少,价格也不便宜,于是就考虑干脆将其改造成无线路由,也符合时下高端大气上档次的标准. 准备工作,当然要先去购

Raspberry pi设置自动拨号,搭建无线路由环境

Raspberry pi设置自动拨号,搭建无线路由环境 前言 raspberry pi(树莓派), 是一款针对电脑业余爱好者.教师.小学生以及小型企业等用户的迷你电脑,由于可以烧录Linux操作系统,因此可以衍生出各种各样的使用途径,诸如控制版,爬虫机器,个人vps,门禁系统-..本文主要介绍如何在raspberry pi上面完成pppoe拨号上网功能,以及如何利用raspberry pi完成路由转发功能,进而将其作为一个家用无线路由器来使用. 准备环境 raspberry pi 三代 b+版

树莓派raspberry pi配置

(1)国际化语言 树莓派初装系统之后,首次启动会出现“raspi-config”工具,如下图:(若不是初次启动,在命令模式下,请输入 sudo raspi-config 命令,即可调出此界面.若在图形桌面下,打开桌面的 LXT 客户端,输入 sudo raspi-config 命令也可以调出这个工具.   1.如上图,通过键盘上下键,将蓝条,移动到第 4 步“Internationalisation Options”,回车进入,会出现下图:   2.如上图,“Change Locale“,就是汉

树莓派(Raspberry Pi)搭建简单的lamp服务

树莓派(Raspberry Pi)搭建简单的lamp服务: 1. LAMP 的安装 sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql –安装mysql.apache.php sudo chmod 777 /var/www/ –设置web目录的权限 2. phpmyadmin 安装 sudo apt-get install phpmyadmin –安装后选择apache2 3.配置 sudo

安装树莓派 Raspberry PI

安装树莓派 树莓派终于到货了,是这个样子的 上面有一行日期是 Raspberry PI (c) 2011.12 下载镜像,写入SD卡 http://www.raspberrypi.org/downloads/ 选择这个镜像: RASPBIAN Debian 2014-01-07 780M的压缩包,很大的样子 似乎还有个NOOBS的安装方式,完全无感 顺便展示一下SD卡,通过查阅可用SD卡列表,似乎是支持个别的64G Class10的卡的,就像这个,编号是 Transcend SDXC 64G C

树莓派(Raspberry Pi Model B+)无显示器和无线网卡上手指南

树莓派(Raspberry Pi Model B+)无显示器和无线网卡上手指南 最近买了一块树莓派板子(Raspberry Pi Model B+)平时作学习之用,只买了块裸板没有显示器和网卡(现在觉得完全没有必要去买显示器),在搭建环境的时候就遇到了一些问题,现在对在搭建树莓派环境遇到的问题做一个总结. 现在我知道的能够连接到树莓派的方法一共有四种,分别是串口终端操作.局域网.PC直连和手机USB网络共享,后面3种方法都是通过ssh的方式登陆树莓派(装好VNC-server后也可以用VNC查看

用树莓派Raspberry Pi和Micro:bit做一个自拍器

在这个项目中,我们将使用Python来构建一个由Micro:bit触发树莓派Raspberry Pi和相机模块的自拍器.这是开始使用硬件和简单文本编程的好方法. 我们将学习: 如何设置Raspberry Pi相机 如何在Micro:bit和Raspberry Pi上使用输入和输出引脚 用Python代码控制GPIO引脚 用Python代码控制相机模块 材料: 带有SD卡和常规外围设备的Raspberry Pi Raspberry Pi camera module Micro:bit USB A

树莓派raspberry Pi 3B+系统中安装mysql过程中不提示输入密码,安装完后如何设置密码

树莓派raspberry Pi 3B+安装mysql未提示输入密码,安装后修改mysql密码默认密码 使用mysql -uroot -p 命令连接mysql时,报错 [email protected]:/ $ mysql -uroot -p Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost' 按照网上的说法, 1.进入到etc/mysql 目录下,查看debian.cnf文件,使用默认的用户名

树莓派(raspberry pi)学习4: 更改键盘布局(转)

树莓派(raspberry pi)用了几次后,发现键盘老是按错,一些字符打不出来或打错 这个问题,折腾我半天.还是把心得分享一下吧 上网查,发现是键盘布局不对,树莓派(raspberry pi)是英国产品,默认键盘布局是英国(GB),我们用的键盘布局一般是美国(US)的 更改键盘布局,命令如下: sudo dpkg-reconfigure keyboard-configuration 进入后,选通用的101键PC键盘 按tab键,到OK,按Enter确定 在键盘layout选择中,选Other