弱网络环境模拟--树莓派搭建ATC
- 1.硬件和系统
- 2.搭建过程
- 3.遇到的问题
- 1.Failed to start hostapd.service: Unit hostapd.service is masked
- 2.django、python版本问题
- 3.Invalid HTTP_HOST header :'xxx'. You may need to add u'xxx' to ALLOWED_HOSTS问题
- 4.atc not running问题
- 4.运行
。ATC工具多年未更新了,很多版本问题,导致踩了很多坑,记录一下搭建过程吧。
1.硬件和系统
树莓派硬件:树莓派3B+
树莓派系统:2020-12-02-raspios-buster-armhf
== 如果ATC安装在其他系统,需要系统默认python版本是2.7,如果不是会踩很多坑。。。。。==
2.搭建过程
搭建过程主要分为两步:
1.树莓派有发射AP热点的能力
2.安装ATC
这篇文章写的很详细,直接按照步骤操作,第一步中设置wifi名称和密码的脚本中,注释需要删掉。 在树莓派上部署ATC网络模拟工具
IP地址可更换成想设置的网段。操作完会报错,主要是几个python包的版本问题,可以按照下面的步骤重装报错包。
3.遇到的问题
1.Failed to start hostapd.service: Unit hostapd.service is masked
在开启树莓派热点最后步骤执行sudo service hostapd start 遇到上述问题
解决办法:https://www.jianshu.com/p/0193cc44b725
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
2.django、python版本问题
atc要求:python 2.7; django 1.10.6; djangorestframework 3.2。
在执行sudo pip install atc_thrift atcd django-atc-api django-atc-demo-ui django-atc-profile- storage后会自动安装django,djangorestframework。需要卸载自动安装版本,安装指定版本
djangorestframework 3.2在设置profile时会报错,实测3.4没问题;
卸载自动安装的djangorestframework:
sudo pip uinstall djangorestframework
安装3.4版本:
sudo pip install djangorestframework==3.4
3.Invalid HTTP_HOST header :‘xxx’. You may need to add u’xxx’ to ALLOWED_HOSTS问题
只需要编辑atcui目录下的settings.py文件,在ALLOWED_HOSTS后加上第一步时设置的ip地址即可:
ALLOWED_HOSTS = ['192.168.1.1']
4.atc not running问题
先查看atcd是否启动,wan/lan口是否设置了,先不要重装django-rest-framework
4.运行
1.树莓派上电开机
开机后如果没有wifi热点,尝试在树莓派系统界面开关一下wifi开关,查看是否能搜索到热点;还是没有执行一下下面命令:
sudo service hostapd start
sudo service dnsmasq start
2.运行atcd
打开一个终端,输入命令:
sudo atcd --atcd-wan eth0 --atcd-lan wlan0
--atcd-wan 指定wan口
--atcd-lan 指定lan口
3.运行atc
再打开一个终端,cd到atcui文件夹,执行命令:
sudo python manage.py runserver 0.0.0.0:8000
手机连接树莓派wifi热点,在浏览器中输入192.168.1.1:8000/atc_demo_ui/就可以进入atc控制界面了
4.使用官方配置文件
再开一个终端,cd到atcui/augmented-traffic-control/utils
执行:
Sh restore-profiles.sh 192.168.1.1:8000
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)