FacebookATC弱网测试项目部署-创新互联

文章参考:

公司主营业务:网站建设、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出潮南免费做网站回馈大家。

  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


文章标题:FacebookATC弱网测试项目部署-创新互联
网页链接:http://hbruida.cn/article/diiseh.html