树莓派开启 wifi 热点

树莓派小巧的体型当然不是为了固定放在桌子上, 更是为了做成可移动的智能设备, 例如智能小车. 当树莓派不在室内的 wifi 下时, 怎样方便地连接上它呢? 于是想要把树莓派变成 wifi 热点, 就能用我们的手机或者笔记本连接它了. 

一. 修改 /etc/network/interfaces, 建议把旧的文件备份例如 interfaces-old

# 有线网卡, 普通上网方式
auto eth0
iface eth0 inet dhcp

# 无线网络, 用作 wifi 热点
auto wlan0
iface wlan0 inet static
address 192.168.11.1
netmask 255.255.255.0
gateway 192.168.11.1

192.168.11.0 是热点分配的网段, 可改成自己习惯的. 后面配置还会用到, 前后要一致.

 

二. 安装 hostapd, udhcpd

$ sudo apt-get install hostapd

$ sudo apt-get install udhcpd

 

三. 编辑 /etc/default/hostapd, 将#DAEMON_CONF=""修改为DAEMON_CONF="/etc/hostapd/hostapd.conf”

然后添加配置文件 /etc/hostapd/hostapd.conf

interface=wlan0
ssid=RPiWireless
channel=7
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=1234567890
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
ieee80211n=1
hw_mode=g
wmm_enabled=1

ssid 是 wifi 名字, wpa_passphrase 是连接时的密码, 别忘了改成自己的密码.

 

四. 配置 dhcp 服务. 打开 /etc/udhcpd.conf, 修改几个地方:

start           192.168.11.20   #default: 192.168.0.20
end             192.168.11.254  #default: 192.168.0.254

interface       wlan0           #default: eth0

opt     dns     192.168.11.1 192.168.8.1    # 192.168.8.1 是我路由器地址
option  subnet  255.255.255.0
opt     router  192.168.11.1
opt     wins    192.168.11.1
option  dns     114.114.114.114 # appened to above DNS servers for a total of 3
option  domain  local
option  lease   864000          # 10 days of seconds

最后, 修改 /etc/default/udhcpd, 在 DHCPD_ENABLED=“no" 前面加上注释符#

重启.

到这里, 笔记本已经能连接热点发型指令给树莓派了, 作为操控智能车已经足够了. 但是还不能上网, 还需要配置路由转发.

 

五. (可选) 配置路由转发规则. 

首先打开配置文件/etc/sysctl.conf,去掉net.ipv4.ip_forward=1前面的注释符#, 执行命令sysctl -p 使配置文件生效.

再执行如下命令配置防火墙规则:

$ 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

目前上网的问题解决了. 但是重启之后转发规则就会失效. 为了保证重启有效, 先把规则保存到文件

$ sudo iptables-save > /etc/iptables.rules

然后在 /etc/network/if-pre-up.d 创建一个脚本, 写入

#!/bin/bash

iptables-restore < /etc/iptables.rules

保存后退出. 每次重启脚本被执行加载 iptables 的规则.

 

后记: 一开始用旧的文章 ad hoc ( 特定网络, 即 ad hoc network, 是一个小型的计算机对计算机的网络. 假设你把树莓派跟笔记本直接用网线连起来, 就相当于建立了一个小型的有线 ad hoc network) 的配置方式, dhcp 服务用的是 isc-dhcp-server , 但总是分配不了 IP, 可能是软件太旧了. 感谢 CE653A, 按照 https://www.cnblogs.com/dgjnszf/p/10807056.html 的步骤最终配置成功.

 

假如这篇文章对你有所帮助, 请关注我公众号, 发现更多有用的文章

 

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值