atc 工具的环境搭建分 2 个主要部分:Wifi 热点共享和 Atc 环境搭建

环境

系统:OS X 10.10.3
VM:virtualBox
Linux:ubuntu 14.04

Wifi 热点搭建

参考文章:
在 Ubuntu12.04 上使用 hostapd 和 dhcp3-server 建 Wi-Fi AP
在 Virtualbox 的 Ubuntu 上创建无线(WiFi)热点

USB 无线网卡的选择

水星(Mercury)MW150U 150M 无线 USB 网卡:遵循 IEEE 802.11b/g/n 标准,免驱,直接可以用。我刚开始用的 360wifi,需要自己编译驱动,我放弃了。恒温推荐了这个,就花了 30 块买了个。有了无线 wifi,就可以进行下面的活动了,用 lsusb 命令可以看到我们的 usb 无线网卡的信息:
这里写图片描述

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

安装 hostapd 和 dhcpd

udo apt-get install hostapd isc-dhcp-server

查看安装是否成功:

这里写图片描述

这里写图片描述

看到上面的信息,说明两个工具安装成功了。

hostapd.conf 创建

在任意位置创建 hostapd.conf 文件,我在/etc/hostapd 目录下新建该文件,文件内容如下:

这里写图片描述

其中ssidwpa_passphrasewifi的用户名和密码,随意设置,其他的配置都是三两相同的。配置完信息后,我们来验证一下是否有效果,执行sudo hostapd -B /etc/hostapd/hostapd.conf
这里写图片描述

我使用-B 参数,让 hostapd 在后台运行。也可以采用-d 参数启动。

WLAN soft blocked 问题

如果启动的时候报错信息如下:

这里写图片描述

由于我已经启动过了该 wifi,需要先解锁该无线设备,再用 sudo 执行该命令

sudo rfkill unblock wlan
sudo hostapd -B /etc/hostapd/hostapd.conf

再重启

如果你已经使用sudo hostapd -B /etc/hostapd/hostapd.conf,执行的时候可能会报如下错误:

这里写图片描述

我们就需要先执行sudo killall hostapd然后再执行hostapd -B命令

这里写图片描述

ok,我们已经启动了 hostapd。

dhcpd.conf 的设置

/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 8.8.8.8;
}

我用nmcli dev list iface eth0 | grep IP4命令得到我的 DNS 的信息为192.168.1.1,所以我的 dhcpd.conf 文件的信息如下:

这里写图片描述

设置无线网卡

ifconfig 命令

设置前

这里写图片描述

可以看出只有 eth0 和 lo 两个网络设备信息。

设置 wlan0

sudo ifconfig wlan0 192.168.0.1 netmask 255.255.255.0

设置后

这里写图片描述

可以看出多了一个 wlan0 无线设备。成功。

启动 dhcp-server

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

如果出现以下问题:

这里写图片描述
说明dhcpd.pid文件不存在,我们去/var/run/dhcp-server目录下自己创建一个dhcpd.pid该文件,然后再执行就可以启动 dhcp-server 服务。

这里写图片描述

IP 转发

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

设置 NAT

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

连接 autotest WIFI

至此我们已经的 wifi 热点设置全部完成,打开你的手机,有没有看到你的 wifi 了呢?如果没有,不用担心,再执行一遍sudo hostapd -B /etc/hostapd/hostapd.conf 就可以了。
这里写图片描述

ATC 工具的配置

参考文章
github
Facebook 网络环境模拟工具 ATC 的使用

ATC 工具的配置相比 wifi 热点共享简单很多,照着 github 上来就可以了。配置完成后可以启动了。

启动 atc

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

这里写图片描述

启动 atc profile 配置界面

python manage.py runserver 0.0.0.0:8000

这里写图片描述

链接 atc profile 配置界面

这里写图片描述

我已经把 facebook 预设的几个 profile 全部添加了,现在可以随意切换了。哈哈。一个字:酸爽!

如何切换

当你选择 profile 后面的 Select 按钮后 (下面的),界面顶端的开关按钮旁边会出现一个Update Shaping按钮,点击一下,你的网络就会变成你选择的 profile 所设置的网络环境。

这里写图片描述

当然别忘了打开 Turn On 按钮。


↙↙↙阅读原文可查看相关链接,并与作者交流