移动数据网络类型是nr_2G网也能有“第二春” 便携式移动网络的快速搭建方法...

d7ab02ce4572d12851cb39d93e105c40.gif

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

1dad34979360e940ed77029a4e921f34.png需要的设备

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

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

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

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

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

6.SIM卡(sysmoSIM-GR2);

7.一根网线;

1dad34979360e940ed77029a4e921f34.png树莓派的设置

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

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

2.开始运行;

sudo raspi-config

1dad34979360e940ed77029a4e921f34.png键盘布局进行合理化布局

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

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

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

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

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

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

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

1dad34979360e940ed77029a4e921f34.png启用SSH

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

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

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

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

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

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

sudo reboot now

1dad34979360e940ed77029a4e921f34.png网络部署过程

为了在设置好的树莓派上启用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卡。

1dad34979360e940ed77029a4e921f34.png便携式移动网络的的搭建

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

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

b2ad7105933227907d91922055825a2c.png

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

65e4faaaba6a7e7a820147dc684be2db.png

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

db99dd0dc6e5292a696d9d9f440ab39a.png

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

bbaa71cfaa6c55a39a7bdf7b728e18ae.png

1dad34979360e940ed77029a4e921f34.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

1dad34979360e940ed77029a4e921f34.png测试环境的搭建

共享文件路径的目录

/usr/local/share/yate

进入conf文件路径的目录

/usr/local/etc/yate

进入用户文件路径的目录

/root/.yate

模块路径的目录

/usr/local/lib/yate

1dad34979360e940ed77029a4e921f34.png如何测试

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

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

9626ff73194a1d29bbe4592b28db329f.png

950a60eec8e6939c8101d7c5b97cab28.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值