单片机/MCU论坛
直播中

jf_23522415

1年用户 65经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[文章]

【HD-G2UL-EVM开发板体验】 内网穿透

前期文章(按时间先后顺序排序):

【HD-G2UL-EVM开发板体验】开箱到入门+亿点点使用

【HD-G2UL-EVM开发板体验】烧录ubuntu+安装常用包

【HD-G2UL-EVM开发板体验】+ ubuntu系统apt更新部分内容补充

【HD-G2UL-EVM开发板体验】性能测试之网络部分测试

【HD-G2UL-EVM开发板体验】日常使用分享之登录开发板的几种方式

试用文章分类

  • ubuntu根文件系统固件烧录
  • 系统备份
  • g2ul性能测试
  • 博客搭建
  • git仓库搭建
  • 内网穿透
  • 日常使用分享

前言

主要内容:

  • 开机自动连接WiFi
  • 内网穿透

附加内容

之所以将附加内容放在最开头,是因为比较关键

在linux中配置开机自启动方法多样,

  • 往/etc/rc.d/rc.local 中添加自启脚本路径
  • 使用 crontab
  • 使用 systemd 服务

这里讲第二种,crontab

crontab 是 Linux 下的计划任务,当时间达到我们设定的时间时,可以自动触发某些脚本的运行

我们可以自己设置计划任务时间,然后编写对应的脚本。但是,有个特殊的任务,叫作 @reboot,这个任务就是在系统重启之后自动运行某个脚本。

先准备好需要自启动的脚本

connwifi.sh这个脚本前边文章提到过,不过还是重复写一下

#!/bin/bash
​
sudo ifconfig wlan0 up
sleep 1s
sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf &
sudo wpa_passphrase wifi名字 wifi密码 > wpa_sup.conf
sudo killall wpa_supplicant
sudo wpa_supplicant -B -Dwext -iwlan0 -c ./wpa_sup.conf
sleep 6s
sudo udhcpc -i wlan0
​

终端输入

crontab -e

在最下边添加一行,@reboot后边跟 WiFi联网的配置脚本,脚本路径一定不能错,否则无效

[url=home.php?mod=space&uid=1655065]@reboot[/url] /home/xxx/connwifi.sh

接下来可以重启设备,验证是否生效

sync && sudo reboot

开始

在网上有关sakura frp在linux开发板上的教程还比较少,这里写一篇在G2UL开发板上实现内网穿透的例子。

内网穿透相关概念可以在网上搜索的到,这里就不展开了。大家熟知的花生壳不是这篇文章选择的内容,因为对于免费用户而言,给的带宽和流量实在太少。

以下内容以sakura Frp在G2UL上实现内网穿透为主要内容。

在已联网的条件下!!!如果还没联网,先配置联网

注册账号

登录Nyatwork OpenID - 注册 (13a.com)注册账号

登录账号

使用刚刚注册的账号登录

下载frpc客户端

**现在开发板上切换到这个目录 **/usr/local/bin

cd /usr/local/bin

在下载frpc客户端页面获取下载链接

软件下载 | SakuraFrp (natfrp.com)

image-20221222153146979

wget -O frpc https://getfrp.sh/d/frpc_linux_arm64

上边命令下载的是linux系统arm64架构的客户端程序,

如果你不放心,想确认下架构,输入以下命令

sudo dpkg --print-architecture

image-20221222152833195

修改权限

chmod 755 frpc

MD5校验包完整性

md5sum frpc

查询的md5值要和网站显示的md5值要一致!

image-20221222153116155

创建隧道

回到网页,点击服务 -> 隧道列表

image-20221222155514043

创建隧道

image-20221222155406081

选择一个推荐用于ssh的节点

image-20221222155624246

隧道类型选择TCP隧道

image-20221222155730675

隧道创建完成后 隧道列表会出现刚刚创建的隧道

image-20221222155937459

接下来查看配置文件

image-20221222160028138

**复制参数配置,并将它粘贴到任意文本中备用 **

image-20221222160129039

在开发板上配置自启任务

vim /etc/systemd/system/frpc@.service

将下边内容完整的复制粘贴

[Unit]
Description=SakuraFrp Service
After=network.target

[Service]
Type=idle
User=nobody
Restart=on-failure
RestartSec=60s
ExecStart=/usr/local/bin/frpc -f %i

[Install]
WantedBy=multi-user.target

保存退出,重载systemd

systemctl daemon-reload

结合隧道参数启动任务

从刚刚粘贴的隧道参数中截取后边一段 以一段随意填写的做示例-f dsadsfdsf15f5vfdvfdvfdvf:1564481,截取dsadsfdsf15f5vfdvfdvfdvf:1564481,粘贴到下面命令行后边

sudo systemctl start frpc@dsadsfdsf15f5vfdvfdvfdvf:1564481

回车,启动任务

成功启动任务后,可以通过

sudo systemctl status frpc@dsadsfdsf15f5vfdvfdvfdvf:1564481

查询任务状态和访问域名和公网ip以及端口

另外对于隧道是否启动成功,也可以通过网页端查看当前隧道状态。

image-20221222161022629

现在就可以尝试通过域名或公网ip访问设备了

image-20221222161847559

image-20221222161744461

总结

这套基于sakura Frp的内网穿透到这里就演示结束了,现在G2UL是一个有公网ip的轻量级云服务器了,考虑到emmc的大小问题,可选择挂载tf卡,将存储类的内容转移到tf卡上。分担一部分emmc的存储压力。

参考链接

natfrp.com

更多回帖

发帖
×
20
完善资料,
赚取积分