Facebook Augmented Traffic Control (ATC) 环境搭建指南

Facebook Augmented Traffic Control (ATC) 环境搭建指南

augmented-traffic-control augmented-traffic-control 项目地址: https://gitcode.com/gh_mirrors/aug/augmented-traffic-control

项目概述

Facebook Augmented Traffic Control (ATC) 是一个强大的网络模拟工具,允许开发者在受控环境中模拟各种网络条件。通过ATC,可以精确控制网络带宽、延迟、丢包率等参数,这对于移动应用开发和测试尤为重要。

系统要求

操作系统要求

ATC 基于 Linux 内核开发,需要以下支持:

  • 必须运行在 Linux 系统上
  • 依赖 iproute2 工具包进行网络流量控制
  • 建议使用较新的 Linux 发行版(如 Ubuntu 16.04+ 或 CentOS 7+)

网络环境要求

理想部署环境:

  • 需要作为网络网关部署
  • 通常需要两个物理网络接口(WAN 和 LAN)
  • 也可以通过虚拟网络接口(如 VLAN)模拟双网卡环境

软件依赖

必须组件:

  • Python 2.7(注意:ATC 目前不支持 Python 3)
  • pip 包管理工具
  • 强烈建议使用 virtualenv 创建隔离的 Python 环境

安装步骤

1. 创建虚拟环境

建议在虚拟环境中安装 ATC,以避免与其他 Python 项目产生依赖冲突:

mkdir -p ~/atc
virtualenv ~/atc/venv
source ~/atc/venv/bin/activate

2. 安装 ATC 守护进程 (atcd)

pip install atcd

安装完成后,需要以 root 权限运行守护进程:

sudo atcd --atcd-lan eth0 --atcd-wan eth1

注意:

  • eth0eth1 应根据实际网络接口名称调整
  • 如果使用单网卡模拟环境,可考虑使用虚拟接口

3. 安装 Web 界面组件

ATC 提供了基于 Django 的 Web 管理界面,需要安装以下组件:

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

4. 配置 Django 项目

创建 Django 项目
cd ~/atc
django-admin startproject atcui
配置 settings.py

INSTALLED_APPS 中添加以下内容:

INSTALLED_APPS = (
    ...
    # Django ATC API
    'rest_framework',
    'atc_api',
    # Django ATC Demo UI
    'bootstrap_themes',
    'django_static_jquery',
    'atc_demo_ui',
    # Django ATC Profile Storage
    'atc_profile_storage',
)
配置 urls.py

添加 URL 路由配置:

from django.views.generic.base import RedirectView

urlpatterns = [
    ...
    # Django ATC API
    path('api/v1/', include('atc_api.urls')),
    # Django ATC Demo UI
    path('atc_demo_ui/', include('atc_demo_ui.urls')),
    # Django ATC profile storage
    path('api/v1/profiles/', include('atc_profile_storage.urls')),
    path('', RedirectView.as_view(url='/atc_demo_ui/', permanent=False)),
]
数据库迁移
python manage.py migrate
启动开发服务器
python manage.py runserver 0.0.0.0:8080

验证安装

完成上述步骤后,可以通过以下方式验证安装是否成功:

  1. 访问 http://<服务器IP>:8080 应该能看到 ATC 的 Web 界面
  2. 检查 atcd 守护进程是否正常运行
  3. 尝试创建简单的网络限制规则,验证是否生效

常见问题解决

  1. 权限问题

    • atcd 需要 root 权限运行
    • 确保防火墙允许 8080 端口访问
  2. 网络接口配置错误

    • 确认 --atcd-lan 和 --atcd-wan 参数指定的接口正确
    • 使用 ip addr 命令查看可用网络接口
  3. Python 环境问题

    • 确保在 virtualenv 激活状态下安装所有组件
    • 检查 Python 版本是否为 2.7
  4. Django 依赖冲突

    • 如果遇到依赖冲突,尝试创建全新的 virtualenv
    • 确保安装的 Django 版本与 ATC 组件兼容

生产环境建议

对于生产环境部署,建议考虑:

  • 使用 uWSGI 或 Gunicorn 替代开发服务器
  • 配置 Nginx 作为反向代理
  • 设置系统服务管理 atcd 进程
  • 考虑使用 HTTPS 加密 Web 界面通信
  • 将 ATC 安装到系统目录而非用户目录

通过以上步骤,您应该能够成功搭建 Facebook ATC 环境,并开始模拟各种网络条件进行开发和测试工作。

augmented-traffic-control augmented-traffic-control 项目地址: https://gitcode.com/gh_mirrors/aug/augmented-traffic-control

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宣昀芊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值