移动数据网络类型是nr_便携式移动网络的快速搭建方法

在用户高峰时段,常用的移动网络很容易堵塞,不堪重负。所以,关键时刻能够建立安全可靠的通信,是非常重要的。在本案例中,我用的移动通信系统是GSM协议,为了能够将GSM协议广播出去,我使用了BladeRF。

需要的设备

1.树莓派,本文使用的是树莓派3;

2.Micro SD卡,本文使用的是32 GB的;

3.Nuand BladeRF,本文使用的是BladeRF x40;

4.在树莓派上启用SSH,为了便于使用,终端也可以正常运行;

5.一部兼容GSM和SIM卡的手机;

6.SIM卡(sysmoSIM-GR2);

7.一根网线;

树莓派的设置

译者注:BladeRF是由树莓派使用YateBTS控制的,YateBTS是实现手机访问网络和GSM核心功能和协议的软件,允许手机通过语音、文本和数据进行通信。

1.将网线、电源和键盘插入到树莓派中,然后将电源适配器通电。注意:在树莓派中默认的用户名为pi,默认的密码为raspberry

2.开始运行;

sudo raspi-config

键盘布局进行合理化布局

1.找到“本地化选项”,按“Enter”键;

2.找到“更改键盘布局”,按“Enter”键;

3.找到“Other”,按“Enter”键;

4.找到“英语(美式)”,按“Enter”键;

5. 找最上面的“英语(美式)”,按“Enter”键;

6.点击“进入”,接受下面两个屏幕上的默认值,因为它们不适用。

7.完成最后两步后,返回到主菜单。

启用SSH

1.找到“接口选项”,按“Enter”键;

2.找到“SSH”,按“Enter”键;

3.找到“Yes”,按“Enter”;

4.在下一个屏幕上,按“Enter”键返回主菜单;

5.进入主菜单,选择“完成”,然后按“Enter”;

6.返回终端时,运行下面的命令来启用配置设置;

sudo reboot now

网络部署过程

为了在设置好的树莓派上启用SSH,请使用以下命令记录Pi的IPv4地址:

ifconfig eth0

然后在另一台计算机上,利用终端应用程序运行:

ssh pi@[INSERT PI IPV4 ADDRESS HERE]

一旦出现证书的提示,就必须再次输入用户名pi和默认的密码raspberry。

现在你就可以与Pi进行远程交互了:

# Download the script from GitHub
wget https://raw.githubusercontent.com/MBRO95/PortableCellNetwork/master/PortableCellNetwork.sh
# Make the downloaded script executable 
chmod +x ./PortableCellNetwork.sh

首先,脚本会检查你是否是以root身份运行的,因此请确保你必须输入以下命令的“sudo”部分。

在不记录输出的情况下运行脚本:

sudo ./PortableCellNetwork.sh

在记录输出的情况下运行脚本:

sudo ./PortableCellNetwork.sh | tee install.log

1.该脚本将查询网络名称,你需要按“Enter”键接受“DuaneDunstonRF”的默认名称或提供一个能够确认的信息;

2.确认网络名称;

3.该脚本现在将启动安装和配置过程;

4.当脚本启动快完成时,它将查询“pi”用户的新用户密码。此时,你需要重新输入密码,以加强安全性。

当完成脚本启动时,它将报告运行的时间并等待重新启动输入。

1.按任意键重新启动,这样你将被重新被引导到桌面环境中,此时,你只需在启动的弹出窗口中选择“默认配置”选项。

2.一个名为“StartYateBTS”的启动脚本将出现在 ‘/home/pi’ 中,并开始启动移动网络进程。不过要启动脚本,必须在出现脚本名称后通过发送一个“- i”标志以交互方式运行,“- i”标志如以下所示:

sudo ./StartYateBTS.sh -i

开始启动后,脚本将会出现以下两个运行状态:

1.打开一个终端窗口,报告Yate(移动网络)状态

2.打开一个Firefox浏览器窗口,该窗口将被导航到YateBTS(基于web的移动网络配置)。此时,你就可以查看或修改网络配置的设置了,并管理或编写设备的SIM卡。

便携式移动网络的的搭建

要将兼容GSM和SIM卡的手机连接到移动网络,需要部署SIM卡以配合正确的设置。YateBTS使用的是PySIM工具。在安装脚本时,我已经把PySIM设置为支持sysmosim-gr2卡的正确版本。不过前提是确保兼容的SIM卡编写器已经被插入到了树莓派中,并将SIM卡置于它的进程中。

现在,你就可以打开名为Manage SIM的选项卡,确保生成的随机IMSI设置被选中,注意插入用户不需要被选中。如果你不小心选中插入用户的选项,则移动网络可能将受到干扰。

4fda4e58b0be05c3f95bc6766741dcd9.png

接下来是检查在“高级”选项中是否进行了正确的设置,因为确保移动网络选择设置是正确的。否则,使用默认设置并点击保存。

617c7562c68e43293652d72daaa9c2b5.png

下图就是对SIM重新编程后的输出,切记,在管理SIM的列表中对SIM卡进行部署。

39e0aa2591fb6c7cc3c6a598857d5840.png

在将SIM卡插入GSM手机后,YateBTS将会发送一个回应信息,并显示如下所示的手机号码。如果Android手机没有正确连接到手机网络,请打开拨号器应用程序然后输入##4636## A,此时,设置菜单将出现在手机信息选项卡中。接着请讲网络类型选为GSM,然后重新启动手机。

e9a738a89355dfa608a355f818a481ee.png

移动网络的安全保障

我安装的脚本都是基于Internet安全中心(CIS)的安全模型,该脚本集成了为Debian 8操作系统设计的基准模型,会让移动通信的安全得到最有效的保护。其实一开始,我是以树莓派的安全标准来进行安全设置的。但后来,我发现它不支持可以实现安全控制的自定义分区,但安全脚本不但可以保护各种控件,同时也能保护莓派操作系统和Yate软件的功能。

另外就是随时更新操作系统:

sudo apt-get -y dist-upgrade

linux sticky bit 目录权限的设置,这样做可以防止未经授权的用户修改或重命名属于不同用户的文件:

df --local -P | awk {'if (NR!=1) print $6'} | xargs -I '{}' find '{}' -xdev -type d -perm -0002 2>/dev/null | xargs chmod o-t

删除不必要的文件系统:

echo "install cramfs /bin/true" >> /etc/modprobe.d/CIS.conf
echo "install freevxfs /bin/true" >> /etc/modprobe.d/CIS.conf
echo "install jffs2 /bin/true" >> /etc/modprobe.d/CIS.conf
echo "install hfs /bin/true" >> /etc/modprobe.d/CIS.conf
echo "install hfsplus /bin/true" >> /etc/modprobe.d/CIS.conf
echo "install squashfs /bin/true" >> /etc/modprobe.d/CIS.conf
echo "install udf /bin/true" >> /etc/modprobe.d/CIS.conf

删除不必要的网络协议:由于linux内核能支持不常用的网络协议,而这些协议又与本次的目标无关,因此,它们应该被禁用。

echo "install dccp /bin/true" >> /etc/modprobe.d/CIS.conf
echo "install sctp /bin/true" >> /etc/modprobe.d/CIS.conf
echo "install rds /bin/true" >> /etc/modprobe.d/CIS.conf
echo "install tipc /bin/true" >> /etc/modprobe.d/CIS.conf

禁用核心转储,以防应用程序崩溃。

echo "* hard core 0" >> /etc/security/limits.conf
echo 'fs.suid_dumpable = 0' >> /etc/sysctl.conf
sysctl -p
echo 'ulimit -S -c 0 > /dev/null 2>&1' >> /etc/profile

禁用不需要的服务,以防止这些服务被开启。

systemctl disable avahi-daemon
systemctl disable triggerhappy.service
systemctl disable bluetooth.service

众所周知,Pi为默认密码,所以切记更改树莓派的原始密码。

passwd pi

测试环境的搭建

共享文件路径的目录

/usr/local/share/yate

进入conf文件路径的目录

/usr/local/etc/yate

进入用户文件路径的目录

/root/.yate

模块路径的目录

/usr/local/lib/yate

如何测试

1.Yate NIB设置中包括一个ELIZA聊天软件,你可以把SMS消息发送到35492与该软件进行测试通信。

2.利用Android手机的配置菜单,拨打4636 # # # #测试通信。

本文翻译自:https://mbro95.github.io/PortableCellNetwork/如若转载,请注明原文地址: https://www.4hou.com/mobile/16815.html更多内容请关注“嘶吼专业版”——Pro4hou

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476852.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员面试金典 - 面试题 17.19. 消失的两个数字(数学/位运算)

1. 题目 给定一个数组,包含从 1 到 N 所有的整数,但其中缺了两个数字。 你能在 O(N) 时间内只用 O(1) 的空间找到它们吗? 以任意顺序返回这两个数字均可。 示例 1: 输入: [1] 输出: [2,3]示例 2: 输入: [2,3] 输出: [1,4]提示&#xff1a…

其实没事做,写写博客也不错的

以前一直很喜欢记录自己的一些事情,现在有博客这个东西了,但是懒得很,申请N多没有一个坚持记录下去的,希望在博客园可以好好安家。。今晚竟然看博客看到11.00了,要洗澡睡觉了。。明天要搞定PES、还要开会。。。事情有点…

python sorted下标_Python列表操作最全面总结

1.列表添加元素列表中可以使用append、insert、extend方法实现元素的添加。append会把新元素添加到列表末尾"a", insert(index, object) 在指定位置index前插入元素object"a", 通过extend可以将另一个集合中的元素逐一添加到列表中(合并)A [1, 2]B [3, 4…

BatchFormer:有效提升数据稀缺场景的模型泛化能力|CVPR2022

文 | 侯志知乎(已授权)源 | 极市平台摘要当前的深度神经网络尽管已经取得了巨大的成功,但仍然面临着来自于数据稀缺的各种挑战,比如数据不平衡,零样本分布,域适应等等。当前已经有各种方法通过样本之间的关…

程序员面试金典 - 面试题 16.06. 最小差(排序+双指针)

1. 题目 给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 示例: 输入:{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8} 输出: 3,即数值对…

bigdecimal 保留两位小数_一起聊聊小数的储存和运算

原创: 蜀中亮子 玄说前端 小数运算的问题在 js 中的小数运算中,一直存在着一个问题,比如:0.10.20.30000000000000004 、0.4-0.30.10000000000000003。那么为什么会出现这种情况呢?这种情况又如何解决呢?为什…

从DeepFace到AdaFace,7篇论文讲清人脸识别

人脸识别是现在应用最广泛的视觉技术之一,同时也是前沿研究热点之一。我找来了深耕人脸的朋友张老师,从DeepFace到AdaFace,讲解deepface、facenet、vggface、sphereface、cosface、adaface等论文,给各位做一次人脸识别的系统分享。…

提升方法(Boosting)

文章目录1. 提升方法AdaBoost算法2. AdaBoost算法训练误差分析3. AdaBoost算法的解释4. 提升树5. sklearn 实例提升(boosting)方法是一种常用的统计学习方法,应用广泛且有效。 在分类问题中,它通过改变训练样本的权重&#xff0c…

在两个页面之间传递信息

在asp.net不同页面之间传值的方法主要有三种:(1)用querystring方法:在vs2005中新建asp.net网站(发送端),在页面上添加button,两个TextBox,代码如下:protectedvoidButton1_Click(objectsender, EventArgs e) { string url; u…

英特尔或将大幅裁员

编辑 | David来源 | 新智元受PC业务持续不振影响,曝英特尔计划裁员数千人,可能将影响20%的员工。据知情人士透露,英特尔公司正计划大幅裁员,人数可能达到数千人,以削减成本,应对不景气的个人电脑市场的萎缩…

pandas object转float_25个Pandas实用技巧

本文一共为大家分享25个pandas技巧,此为上篇~显示已安装的版本输入下面的命令查询pandas版本:In [7]:pd.__version__Out[7]:0.24.2如果你还想知道pandas所依赖的模块的版本,你可以使用show_versions()函数:In [9]:pd.show_version…

LeetCode 820. 单词的压缩编码(后缀树)

文章目录1. 题目2. 解题2.1 反转字符串字符查找2.2 后缀树1. 题目 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其…

sql查询分页

用sql 查询时select top 10 * from Orders order by orderid desc操作时,我们先对查询结果进行ordersby排序 然后才取出其最前边10个使用sql查询分页时的几点思路(举例均从查询第100到120之间20条记录)1.取前120条记录orderby主键&#xff0c…

openstack实例状态错误_Openstack虚机操作总结

1. 概览Openstack作为常见的IAAS服务,其最核心的对象就是虚机实例,而Openstack下支持的虚机操作有很多种,有些是特别常见的虚机操作比如创建虚机、启动虚机、删除虚机等,而有些虚机操作则是针对特定场景下比如出现故障而提供的保护…

神网站PaperWithoutCode:举报无法复现的论文,让一作社死??

文 | 小戏几乎是可以肉眼可见的看到机器学习领域的论文几何级的增长,在铺天盖地的论文雪花纸片般涌来时,灌水、可复现性、工作真实的意义这些概念也伴随着 Paper 的洪水进入了人们的视野。谈及科研,我们总是站在以往研究的基础上,…

仿WINDWS无限级Ajax菜单树升级1.3版(修补了严重BUG)

仿WINDWS无限级Ajax菜单树升级1.3版(修补了严重BUG) WINDWS无限级Ajax菜单树又升级了(1.3版) 对以下BUG进行了修复 1.只能在文字上拖拽(不能从文件夹图标上拖) 2.拖拽后不刷新菜单的BUG(拖拽为子级菜单后,菜单原地不消失的情况。也…

程序员面试金典 - 面试题 08.11. 硬币(背包DP)

文章目录1. 题目2. 解题1. 题目 硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算 n 分有几种表示法。(结果可能会很大,你需要将结果模上1000000007) 示例1:输入: n 5输出:2解释: 有两种方式可以凑成总金额:…

ab的plc跟西门子哪个好些_2020滚筒洗衣机哪个牌子好?想买滚筒洗衣机的看过来!...

滚筒洗衣机哪个牌子好?想买滚筒洗衣机的人越来越多,滚筒洗衣机无疑是现在大多数年轻人更喜欢的款式,颜值高、功能多、追求个性化洗衣操作,滚筒的不伤衣物更温柔对于有真丝雪纺面料衣物的,滚筒洗衣机现在真是越来越智能…

AI开始参与政治选举了??

编 | David 好困源 | 新智元让AI去参加议会选举,能成吗?一个丹麦政党让AI聊天机器人当了领袖,试图在议会中拿下一席,现距离20000个提名的门槛线仅差19988个了。现在的AI能干的事情太多了,写作文、画画、下棋、玩游戏&a…

Linux NAT设定

1:echo "1" >/proc/sys/net/ipv4/ip_forward 或vi /proc/sys/net/ipv4/ip_forward把0改为1,0表示IP FORWARDING功能是关闭,1表示开启。2:iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0/24 -j MASQUERADE &a…