千家信息网

Facebook ATC 弱网测试项目部署

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,文章参考:http://blog.csdn.net/itfootball/article/details/46763731http://www.cnblogs.com/coderzh/p/Augmen
千家信息网最后更新 2025年01月31日Facebook ATC 弱网测试项目部署

文章参考:

http://blog.csdn.net/itfootball/article/details/46763731

http://www.cnblogs.com/coderzh/p/AugmentedTrafficControl.html


硬件准备:水星(Mercury)MW150U 150M无线USB网卡(别问为什么,要是你用别的可以支持ap模式且有驱动也是可以的,我之前用Ralink和360wifi配置得要死)

系统版本:ubuntu 14.04 LTS 桌面版(新系统设置root密码:sudo passwd)


分两部分:配置ubuntu下wifi和配置ATC项目


一、配置ubuntu下wifi


1.查看无线网卡是否连接:lsusb

如果显示f201:5370就是我们的无线网卡的信息,说明我们识别出我们的usb无线网卡


2.安装hostapd 和 dhcp

hostapd: 通过Hostapd可以将无线网卡切换为AP/Master模式,通过修改配置文件,可以建立一个开放式的(不加密)的,WEP,WPA或WPA2的无线网络

dhcp:简单的说ip管理


安装:apt-get install hostapd isc-dhcp-server

验证是否安装成功:分别敲入hostapd和dhcpd,显示命令详解则为成功


3.配置hostapd

vi /etc/hostapd/hostapd.conf

hostapd.conf#####################################


interface=wlan0

driver=nl80211

ssid=autotest //wifi名字

channel=10

hw_mode=g

macaaddr_acl=0

auth_algs=3

wpa=2

wpa_passphrase=12345678 //密码

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP CCMP

rsn_pariwise=TKIP CCMP

####################################################


4.运行hostapd(可以直接跳到第5步,第四步是踩的坑)

执行:hostapd -B /etc/hostapd/hostapd.conf

报错:nl80211: Could not configure driver mode

nl80211 driver initialization faile

解决办法:nmcli nm wifi off

rfkill unblock wlan


5.运行hostapd

执行:nmcli nm wifi off

rfkill unblock wlan

killall hostapd

hostapd -B /etc/hostapd/hostapd.conf(-B后台运行)

或者

hostapd -d /etc/hostapd/hostapd.conf(-d直接运行)


6.查询DNS,第7步用

执行:nmcli dev list iface eth0 | grep IP4

root@lufukeng:/# nmcli dev list iface eth0 | grep IP4

IP4.ADDRESS[1]: ip = 192.168.200.131/24, gw = 192.168.200.2

IP4.DNS[1]: 192.168.200.2

IP4.DOMAIN[1]: localdomain

IP4.WINS[1]: 192.168.200.2



7.配置dhcpd

vi /etc/dhcp/dhcpd.conf


#####################################################

subnet 192.168.0.0 netmask 255.255.255.0

{

range 192.168.0.2 192.168.0.10;

option routers 192.168.0.1;

option domain-name-servers 192.168.200.2;//查询的DNS,前面不用改

}

######################################################

8.设置wlan0

ifconfig wlan0 192.168.0.1 netmask 255.255.255.0


9.启动dhcp-server

touch /var/run/dhcp-server/dhcpd.pid

chmod 777 /var/run/dhcp-server/dhcpd.pid

dhcpd wlan0 -pf /var/run/dhcp-server/dhcpd.pid


10.IP转发

bash -c "echo 1 >/proc/sys/net/ipv4/ip_forward"


11.设置NAT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


到这里,如果手机连接wifi,并正常上网则说明成功。


二、下载配置ATC


1.安装pip

终端输入:sudo apt-get install python-pip

通过pip安装ATC需要的django组件:

pip install atc_thrift atcd django-atc-api django-atc-demo-ui django-atc-profile-storage


2.创建一个django工程以便使用ATC服务端app

django-admin startproject atcui

3.修改ATC配置

cd atcui/atcui

vi settings.py


在INSTALLED_APPS里添加如下内容,

'rest_framework',

'atc_api',

'bootstrap_themes',

'django_static_jquery',

'atc_demo_ui',

'atc_profile_storage',


vi urls.py


将urlpatterns 内容改为一下内容:

from django.views.generic.base import RedirectView

from django.conf.urls import include


urlpatterns = [

url(r'^admin/',admin.site.urls),

url(r'^api/v1/',include('atc_api.urls')),

url(r'^atc_demo_ui/',include('atc_demo_ui.urls')),

url(r'^api/v1/profiles/',include('atc_profile_storage.urls')),

url(r'^$',RedirectView.as_view(url='/atc_demo_ui/', permanent=False)),

]


cd atcui //切换到manage.py所在目录

更新django数据库:python manage.py migrate


4.配置完成然后可以运行了,这里使用网卡eth0作为公网连接,wlan0作为内网连接,启动时通过参数指定

sudo atcd --atcd-wan eth0 --atcd-lan wlan0


5.运行ATC UI

python manage.py runserver 0.0.0.0:8000


这时通过手机浏览器访问192.168.0.1:8000,会显示没有配置过任何profile的网页,下面提供Facebook已经配置好的文件配置。



6.facebook已经在自己的工程中为我们配置了常见网络的配置,可以通过如下方式添加

apt-get install git

git clone https://github.com/facebook/augmented-traffic-control.git

apt-get install curl

cd augmented-traffic-control

utils/restore-profiles.sh localhost:8000


7.ATC使用

turn on //打开

select //选择

update Shaping //更新,选择网络之后,点击更新

turn off //关闭



最后附上一份网络参数配置(仅供参考):

网络带宽(bandwidth)

延迟(latency)

丢包率(packet loss)

错包率(corrupted packets)

乱序率(packets ordering)



Name Latency Bandwidth Packet-loss

GPRS (good) 500 50 2

EDGE (good) 300 250 1.5

3G/HSDPA (good) 250 750 1.5

DIAL-UP (good) 185 40 2

DSL (poor) 70 2000 2

DSL (good) 40 8000 0.5

WIFI (good) 40 30000 0.2

Satellite 1500 - 0.2


0