Steins;Lab

某团的自留研究所

[趴会儿project]No.003 基于树莓派的ipv6+OpenVPN校园网免流量无线热点/路由器

近期新购置了一个树莓派3b。Raspberry Pi 3b 型号自带了无线网卡。考虑到其低能耗的特点,将其改造成基于ipv6+OpenVPN的无线路由器。关键词:无线热点,校园网,ipv6,免流量,OpenVPN,路由器。

 

0.序言

之前,陆陆续续搞了挺多东西。有几篇文章甚至谷歌来的点击量很高,许许多多同学也给予了反馈。

[实验2更新]基于openvpn的校园网ipv6免流量方案 |ipv6|校园网|免流量

[手册]天津大学ipv6快速使用指南 V2.0 & 疑难杂症解决

[实验]VPS搭建ss服务中转实现纯ipv6访问网络-校园网免流量

[项目实验]427宿舍质量跃享计划-第一期-网络篇

 

共计4篇文章。

随着时间推进,4篇文章陆陆续续地完善了基于ipv6+OpenVPN的校园网免流量的稳定方案,唯独缺少一个硬件方面的解决方法。

那么,本文就是对对硬件层面的一个补充,从此可以使用一个低能耗的方案实现免流量的无线热点分享,即无线路由器。

另外,本文尽量以一个零基础的操作者的视角,提供完整的步骤说明。不过像是这类文章,都会有一定的时效性,另外根据每个人操作不同,每个人遇到的状况和问题也不尽相同,希望大家自己多多动手,善于运用搜索引擎,相信聪明的你没有解决不了的问题!

1.树莓派基础配置-无显示屏、键盘

在本文需求里,raspberrypi配上显示屏和键盘是多余的。它完全可以作为一个远程linux服务器被配置和维护

基本的介绍和基本的安装步骤就不说了,说说可能遇到的问题。

1.1 开启 raspbian SSH

raspbian从2016末开始默认关闭了ssh连接。参见

http://downloads.raspberrypi.org/raspbian/release_notes.txt

2016-11-25:
* SSH disabled by default; can be enabled by creating a file with name “ssh” in boot partition
* Prompt for password change at boot when SSH enabled with default password unchanged
* Adobe Flash Player included
* Updates to hardware video acceleration in Chromium browser
* Greeter now uses background image from last set in Appearance Settings rather than pi user
* Updated version of Scratch
* Rastrack option removed from raspi-config and Raspberry Pi Configuration
* Ability to disable graphical boot splash screen added to raspi-config and Raspberry Pi Configuration
* Appearance Settings dialog made tabbed to work better on small screens
* Raspberry Pi Configuration now requires current password to change password

在烧录好的tf卡,根目录下建立一个文件名为“ssh”的文件即可开启raspbian的SSH。

1.2 ssh连接问题

初期配置保持树莓派和登录用设备在同一局域网下即可。方法有许多,可以将你的pc和树莓派都连接至一个路由器下。若没有路由器也可以将pc和树莓派直接连接,在windows下配置网络分享。推荐初期使用路由器。

之后,将树莓派配置为无线路由器后,即可使用WLAN连接,直接连接ssh或者使用vnc管理(raspbian现已自带vncserver)。

windows下推荐使用xshell,对于家庭和教育用户可自由使用。

对于linux用户ssh自然不必多说,使用终端即可登录。

例如chromeos用户,按住ctrl+alt+t进入crosh,输入shell进入终端,输入ssh pi@局域网地址即可登录,输入命令logoff即可关闭ssh连接。

1.3 sudo

raspbian上几乎所有的操作都需要sudo提权。如果发生某些权限不足的错误,检查 是否使用sudo提权

 


2.无线热点配置

由于树莓派3b自带了无线网卡,因此不必再考虑自购usb无线网卡的选型和兼容性,也不必考虑usb网卡和有线网络带宽占用问题了(也无法考虑)。

配置好无线热点后,连接后可直接ssh登录网关地址管理树莓派,因此优先配置无线热点。

 

2.1 编辑网络配置

自带的无线网卡为wlan0,注释掉其配置文件,暂时禁用wlan。

保存重启,或使用

使wlan0的静态地址立即生效。

这步请一定要做,重启或者使其立即生效,否则配置dhcp时将报错。

 

 

如果在用vncserver桌面管理,可以看到wlan0已经被禁用。

 

 

*这里顺带一提。在原生ipv6环境下,树莓派自带的软件源可以直接使用,因此对于某些需要登录的认证系统,直接使用ipv6进行更新安装软件会非常方便。

 

2.2 安装hostapd

成功安装后,进行hostapd设置。

输入以下内容:

注意配置文件格式。自己曾经因为直接复制输入,格式缩进问题导致读取配置文件失败。

保存后,启动hostapd

成功后能搜索到新建立的无线热点

 

然后配置hostapd默认配置文件,使其开机启动

添加以下配置,即刚刚配置好的配置文件

保存后重启树莓派,检查热点是否自动启动。

2.3 安装isc-dhcp-server

之前的配置,可以看到自建的raspberrypi热点。但是无法获取ip地址,需要安装dhcp服务以分配地址

 

安装isc-dhcp-server

配置文件

注释掉所有或者删除所有文字,输入

注意,网段如 192.168.8.X,应和上端配置的wlan静态地址一致。

 

 

开启服务

现在,应该能正常链接raspberrypi热点,但是不能连入互联网。

一般情况下,之前的安装的服务,不需要在配置,已经可以开机自启动了。

 

2.4 开启转发、配置路由表

开启内核转发

修改

保存,用下列命令使命令生效

返回 net.ipv4.ip_forward=1

配置路由表

此路由表的配置参考了

树莓派笔记(1) —— 无线路由器 – http://brieflyx.me/2015/raspberrypi/rpinote1-wifi/

以上规则配置openvpn后仍然有效。

 

 

可以加在/etc/rc.local 中,开机自动添加路由规则

!注意!:请一定在exit 0之前添加

现在,连接到树莓派的无线热点,即可正常连接互联网。

 

 

2.5 排查问题

遇到任何问题,包括之前的服务配置,都可以使用

调到最后一行查看,分析原因

 


 

3.openvpn相关

即完全等同于在linux上运行openvpn。

本文涉及ipv6.目前笔者在家里没有ipv6环境,所以图片等具体资料有待开学后大量更新

ipv6服务端的搭建可以参见

[实验2更新]基于openvpn的校园网ipv6免流量方案 |ipv6|校园网|免流量

具体校园网ipv6免流量的原理可以参见

[实验]VPS搭建ss服务中转实现纯ipv6访问网络-校园网免流量

 

 

3.1 安装openvpn

 

3.2 openvpn配置

填配置文件的绝对地址。

关于校园网如何使用openvpn免流量上网,可以参见我的另一篇文章。

[实验2更新]基于openvpn的校园网ipv6免流量方案 |ipv6|校园网|免流量

会占用一个终端,可以使用screen等使其持续运行。

如果你安装了可视化界面,你可以使用终端模拟器运行。

个人意见,不建议将openvpn加入开启自启动,就我个人而言还是自己手动打开比较易于维护,因为有时候我拿它挂机PT。而且uptime可以达到一周左右,手动重启工作量不大。

 

3.3 典型的配置完成环境

ifconfig可查看网络状态信息

在原生ipv6的校园网环境下,表现为以下状态

连接openvpn后

哈哈,也不必在我ip上动小心思了,肯定早已变化了。

 

 


 

 

4.优化

 

4.1 uptime

按一个月产生300GB流量,一般此方案uptime为一星期。

若散热不好或者电源不足,有可能进程中止。可以加散热肋片改善机器运行环境。

 

4.2 添加监视脚本保持hostapd运行

有时,由于电源供电不足,设备温度过高,有可能导致hostapd意外终止,因此使用监视脚本,一旦down掉就立刻重启服务,以维持稳定性。

可以手动终止hostapd,运行脚本检查是否功能正常

然后修改权限

添加至crontab使脚本定时运行

ok,以后树莓派会自己每5分钟检测一次hostapd有没有挂掉。如果挂了,就启动服务。

实际运行中发现, hostapd一旦down掉,无法用service restart启动,原因目前未知。而且一旦添加该脚本,hostapd一定会在1天内down掉。原因待排查

做了No.005 解决问题,详见:

[趴会儿project]No.005 用一种“新思路”打造树莓派软无线路由器

 

4.3 todolist

1.添加进程守护,维护hostapd、dhcp服务器、openvpn的正常运行,或者定期自动重启维护

2.利用树莓派天生的GPIO功能,外部连接1602屏幕快速监视网络状态信息。(已经实现)

参见

[趴会儿Project]No.004 洞察秋毫的观测者 – 服务器监控助手(基于PHP探针和Raspberry Pi)

 

 


5.参考链接

 

[1] openvpn官方文档-linux下配置客户端 – https://openvpn.net/index.php/access-server/docs/admin-guides/182-how-to-connect-to-access-server-with-linux-clients.html

[2] 树莓派笔记(1) —— 无线路由器 – http://brieflyx.me/2015/raspberrypi/rpinote1-wifi/

[3] [Raspberry Pi 3] 多了WiFi,價格不變,輕鬆打造隨身無線基地台 – http://blog.itist.tw/2016/03/using-raspberry-pi-3-as-wifi-ap-with-raspbian-jessie.html

[4] 理解Linux系统/etc/init.d目录和/etc/rc.local脚本 – http://blog.csdn.net/acs713/article/details/7322082

 

18
说点什么

avatar
9 Comment threads
9 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
6 Comment authors
杀哥莫斯利安打怪兽基于openvpn的校园网ipv6免流量方案 |ipv6|校园网|免流量 - Steins;Lab[趴会儿project]No.005 用一种“新思路”打造树莓派软无线路由器 - Steins;Lab Recent comment authors
  Subscribe  
最新 最旧 得票最多
提醒
杀哥
游客
杀哥

配置isc-dhcp-server这里
subnet 192.168.8.0 netmask 255.255.255.0 {
range 192.168.8.10 192.168.8.25;
option routers 192.168.8.1;
option broadcast-address 192.168.8.255;
option domain-name-servers 114.114.114.114,8.8.8.8;
default-lease-time 600;
max-lease-time 7200
}
最后7200后面 也应该有分号

莫斯利安打怪兽
游客
莫斯利安打怪兽

我是用creat_ap开的热点 :evil:

trackback

[…] [趴会儿project]No.003 基于树莓派的ipv6+OpenVPN校园网免流量无线热点/路由器 […]

trackback

[…] 基于树莓派的ipv6+OpenVPN校园网免流量无线热点/路由器 — https://steinslab.xyz… […]

匿名
游客
匿名

厉害了学长

大树
游客
大树

666

匿名
游客
匿名

666

初夏阳光
游客

:smile: 淘宝淘的吗?想上官网买那种正正规规的,可惜没有 PayPal ……
顺便问一下树莓派有 3B+ 型号的吗? :idea:

帅气的可乐
游客
帅气的可乐

厉害了 :evil: