facebook 弱网测试环境 基于路由器和双口ubuntu1804

  • 需要弱网环境 学习和测试
  • 一个有俩网口的电脑
  • 一个无线路由

facebook 的可能是唯一选择

本机dns

  • 填入dhpcd 配置的 domain-name-server里
sudo nmcli dev show | grep IP4
  • 得到182.168.1.33

指定网卡enp1s0的固定ip地址

  • ifconfig 指令指定
  • ifconfig 指令up 生效 ,一定要

root@zhangbin-i7660u:/home/zhangbin# ifconfig enp1s0 192.168.1.1 netmask 255.255.255.0
root@zhangbin-i7660u:/home/zhangbin# ifconfig enp1s0
enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.1  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 00:e0:7c:68:10:10  txqueuelen 1000  (以太网)
        RX packets 59  bytes 3540 (3.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1522  bytes 279023 (279.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

root@zhangbin-i7660u:/home/zhangbin# ifconfig enp1s0 up
root@zhangbin-i7660u:/home/zhangbin# ifconfig enp1s0 生效了
enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.1  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 00:e0:7c:68:10:10  txqueuelen 1000  (以太网)
        RX packets 60  bytes 3600 (3.6 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1543  bytes 282279 (282.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  • 重启dhcp服务
root@zhangbin-i7660u:/home/zhangbin# dhcpd enp1s0 -pf /var/run/dhcp-server/dhcpd.pid 
Internet Systems Consortium DHCP Server 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Config file: /etc/dhcp/dhcpd.conf
Database file: /var/lib/dhcp/dhcpd.leases
PID file: /var/run/dhcp-server/dhcpd.pid
Wrote 0 leases to leases file.
Listening on LPF/enp1s0/00:e0:7c:68:10:10/192.168.1.0/24
Sending on   LPF/enp1s0/00:e0:7c:68:10:10/192.168.1.0/24
Sending on   Socket/fallback/fallback-net
root@zhangbin-i7660u:/home/zhangbin# 

dhcpd配置

  • 配置 /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.110 192.168.1.233;
        option routers 192.168.1.1;
        option domain-name-servers 182.168.1.33;
}
  • 启用
    • 对enp1s0 启用dhcp 功能
root@zhangbin-i7660u:/home/zhangbin# mkdir /var/run/dhcp-server
root@zhangbin-i7660u:/home/zhangbin# touch /var/run/dhcp-server/dhcpd.pid
root@zhangbin-i7660u:/home/zhangbin# chmod 777 /var/run/dhcp-server/dhcpd.pid 
root@zhangbin-i7660u:/home/zhangbin# dhcpd enp1s0 -pf /var/run/dhcp-server/dhcpd.pid 

dhcpd 成功

  • 验证:
root@zhangbin-i7660u:/home/zhangbin# netstat -uap | grep dhcp
udp        0      0 0.0.0.0:bootps          0.0.0.0:*                           25111/dhcpd         
udp        0      0 0.0.0.0:35953           0.0.0.0:*                           25111/dhcpd         
udp6       0      0 [::]:62954              [::]:*                              25111/dhcpd         
root@zhangbin-i7660u:/home/zhangbin# 

ip 转发,nat的?

root@zhangbin-i7660u:/home/zhangbin# vi /etc/sysctl.conf 
root@zhangbin-i7660u:/home/zhangbin# sysctl -p
net.ipv4.ip_forward = 1
root@zhangbin-i7660u:/home/zhangbin# 

设置nat

sudo iptables -F
sudo iptables -X 
sudo iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE 
sudo iptables -A FORWARD -i enp3s0 -o enp1s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i enp1s0 -o enp3s0 -j ACCEPT
root@zhangbin-i7660u:/home/zhangbin# sudo bash -c "iptables-save > /etc/iptables.ipv4.nat"

启动内外网

  • enp3s0 是 可上网的,dns由这个ip地址提供
  • enp1s0 是 内网的网关,用于分配lan的ip地址的
  • 先启动 sudo atcd --atcd-wan enp3s0 --atcd-lan enp1s0 --atcd-dont-drop-packets
zhangbin@zhangbin-i7660u:~/Downloads/augmented-traffic-control/atcui/atcui$  sudo atcd --atcd-wan enp3s0 --atcd-lan enp1s0 --atcd-dont-drop-packets
INFO:AtcdVService.AtcdNBServerTask:AtcdNBServerTask Server Started on 127.0.0.1:9090
INFO:AtcdVService.AtcdLinuxShaper:Calling initialize_shaping_system
INFO:AtcdVService.AtcdLinuxShaper:Running /sbin/iptables -t mangle -F FORWARD
INFO:AtcdVService.AtcdLinuxShaper:deleting root QDisc on enp1s0
INFO:AtcdVService.AtcdLinuxShaper:setting root qdisc on enp1s0
INFO:AtcdVService.AtcdLinuxShaper:deleting root QDisc on enp3s0
INFO:AtcdVService.AtcdLinuxShaper:setting root qdisc on enp3s0
INFO:AtcdVService.AtcdLinuxShaper:Restoring shaped connection from DB
DEBUG:AtcdVService:All tasks started
DEBUG:AtcdVService:VService Active.  Awaiting graceful shutdown.
^CINFO:AtcdVService:signal -2 received
INFO:AtcdVService:Received graceful shutdown request
INFO:AtcdVService:Waiting for tasks to shutdown gracefully...
DEBUG:AtcdVService:Waiting for <atcd.AtcdDeviceTimeoutTask.AtcdDeviceTimeoutTask object at 0x7f6d581b4c90> to stop...
DEBUG:AtcdVService.AtcdDeviceTimeoutTask:Thread AtcdDeviceTimeoutTask exited
DEBUG:AtcdVService:Waiting for <atcd.backends.linux.AtcdLinuxShaper object at 0x7f6d581b4a50> to stop...
DEBUG:AtcdVService:Waiting for <atcd.AtcdDBQueueTask.AtcdDBQueueTask object at 0x7f6d581b4a10> to stop...
DEBUG:AtcdVService.AtcdDBQueueTask:Thread AtcdDBQueueTask exited
DEBUG:AtcdVService:Waiting for <atcd.AtcdThriftHandlerTask.AtcdNBServerTask object at 0x7f6d581b4750> to stop...
DEBUG:AtcdVService.AtcdNBServerTask:Thread AtcdNBServerTask exited
INFO:AtcdVService:Instance shut down gracefully
zhangbin@zhangbin-i7660u:~/Downloads/augmented-traffic-control/atcui/atcui$ ls
__init__.py   settings.py   urls.py   wsgi.py
__init__.pyc  settings.pyc  urls.pyc  wsgi.pyc

本电脑访问

  • 要修改setings.py,加入192.168.1.1
-  zhangbin@zhangbin-i7660u:~/Downloads/augmented-traffic-control/atcui/atcui$ ls
__init__.py   settings.py   urls.py   wsgi.py
__init__.pyc  settings.pyc  urls.pyc  wsgi.pyc
  • 报错
The error log is straightforward. As it suggested,You need to add 198.211.99.20 to your ALLOWED_HOSTS setting.

In your project settings.py file,set ALLOWED_HOSTS like this :

ALLOWED_HOSTS = ['198.211.99.20', 'localhost', '127.0.0.1']

手机访问

  • 连接到无限路由
  • 无线网络的192.168.1.1:8000在这里插入图片描述
root@zhangbin-i7660u:/home/zhangbin/Downloads/augmented-traffic-control/atcui# python manage.py runserver 0.0.0.0:8000
Performing system checks...

System check identified no issues (0 silenced).
February 14, 2020 - 15:12:20
Django version 1.11.28, using settings 'atcui.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
Invalid HTTP_HOST header: '192.168.1.1:8000'. You may need to add u'192.168.1.1' to ALLOWED_HOSTS.
[14/Feb/2020 15:15:22] "GET / HTTP/1.1" 400 63593
Invalid HTTP_HOST header: '192.168.1.1:8000'. You may need to add u'192.168.1.1' to ALLOWED_HOSTS.
[14/Feb/2020 15:15:22] "GET /favicon.ico HTTP/1.1" 400 63634
Performing system checks...

System check identified no issues (0 silenced).
February 14, 2020 - 15:18:12
Django version 1.11.28, using settings 'atcui.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
Invalid HTTP_HOST header: '192.168.1.1:8000'. You may need to add u'192.168.1.1' to ALLOWED_HOSTS.
[14/Feb/2020 15:20:48] "GET / HTTP/1.1" 400 63748
Invalid HTTP_HOST header: '192.168.1.1:8000'. You may need to add u'192.168.1.1' to ALLOWED_HOSTS.
[14/Feb/2020 15:20:48] "GET /favicon.ico HTTP/1.1" 400 63654
Performing system checks...

System check identified no issues (0 silenced).
February 14, 2020 - 15:21:48
Django version 1.11.28, using settings 'atcui.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
[14/Feb/2020 15:23:23] "GET / HTTP/1.1" 302 0
[14/Feb/2020 15:23:23] "GET /atc_demo_ui/ HTTP/1.1" 200 2332
[14/Feb/2020 15:23:23] "GET /static/css/atc.css HTTP/1.1" 200 538
[14/Feb/2020 15:23:23] "GET /static/static_jquery/js/jquery.min.js HTTP/1.1" 200 95786
[14/Feb/2020 15:23:23] "GET /static/bootstrap/js/bootstrap.min.js HTTP/1.1" 200 36966
[14/Feb/2020 15:23:23] "GET /static/vendor/react/react-0.13.3.js HTTP/1.1" 200 600572
[14/Feb/2020 15:23:23] "GET /static/bootstrap/themes/default/css/bootstrap.min.css HTTP/1.1" 200 121710
[14/Feb/2020 15:23:23] "GET /static/vendor/react/JSXTransformer-0.13.3.js HTTP/1.1" 200 493024
[14/Feb/2020 15:23:23] "GET /static/js/atc-api.js HTTP/1.1" 200 4056
[14/Feb/2020 15:23:23] "GET /static/js/atc-profile-storage.js HTTP/1.1" 200 827
[14/Feb/2020 15:23:23] "GET /static/js/atc-auth.js HTTP/1.1" 200 5689
[14/Feb/2020 15:23:23] "GET /static/js/atc-utils.js HTTP/1.1" 200 2793
[14/Feb/2020 15:23:23] "GET /static/js/atc-shaping.js HTTP/1.1" 200 7003
[14/Feb/2020 15:23:23] "GET /static/js/atc-profiles.js HTTP/1.1" 200 5038
[14/Feb/2020 15:23:23] "GET /static/js/atc.js HTTP/1.1" 200 8356
[14/Feb/2020 15:23:24] "GET /api/v1/auth/ HTTP/1.1" 200 45
[14/Feb/2020 15:23:24] "GET /api/v1/token/ HTTP/1.1" 200 79
Not Found: /favicon.ico
[14/Feb/2020 15:23:24] "GET /api/v1/profiles/ HTTP/1.1" 200 2
Not Found: /api/v1/shape/
[14/Feb/2020 15:23:24] "GET /favicon.ico HTTP/1.1" 404 2403
[14/Feb/2020 15:23:24] "GET /api/v1/shape/ HTTP/1.1" 404 54
Not Found: /api/v1/shape/
[14/Feb/2020 15:23:24] "GET /api/v1/shape/ HTTP/1.1" 404 54
[14/Feb/2020 15:23:27] "GET /api/v1/token/ HTTP/1.1" 200 79

看起来俩服务都不能停止

发布了693 篇原创文章 · 获赞 58 · 访问量 220万+

猜你喜欢

转载自blog.csdn.net/commshare/article/details/104319570