在windows上安装Linux虚拟机
windows 192.168.43.100 路由 43.254
CentOS5.4 linux 192.168.43.101 路由 43.254
这时 linux windows 上网都是正常的。



启动linux的路有功能
sysctl -w net.ipv4.ip_forward=1
也可以设置到配置文件中,重启生效
vi /etc/sysctl.conf net.ipv4.ip_forward = 1
查看方式:
sysctl net.ipv4.ip_forward



将windows的网关改成 43.101

tracert 看是否生效。



Linux 设置延时 300ms
tc qdisc add dev eth0 root netem delay 300ms



在windows 上
ping 192.168.43.101, 可发现已经生效。
tc qdisc del dev eth0 root
则可以失效。 例子
tc qdisc add dev eth0 root netem delay 300ms 20ms 延时300ms,正负抖动20ms
tc qdisc add dev eth0 root netem loss 50% 随机丢包50%
tc qdisc add dev eth0 root netem loss 5% 100% 随机丢包5% 成功率100% //不是很懂
还可以乱序,损伤包,重复发等。
以上的操作(delay、loss„„)可以叠加使用,即同一interface可以同
时模拟delay & loss等
tc qdisc add dev eth0 root netem loss 50% delay 300ms 20ms

在windows 上
ping 192.168.31.56
如果延时了, 则说明路由正确了。 如果没延时
route print
查看路由表。
尝试删除
route delete 192.168.43.100
然后再试。
注意实验完毕后, 要把windows的网关改回 43.254,否则虚拟机一关就不能上网了。
另外有网上推荐WANem能完成同样功能(据说底层也是基于tc的),但图形化了,可以研究一下。