用同一台PC的两个网口实现Iperf的server端和client端

 

有时候需要发包,仅仅需要一定速率的流量,并不需要关心收到报文的大小,一个好用的开源软件发包工具并不好找,iperf发包很方便,但是一般需要两台电脑,分别作为server端和client端,如果使用一个PC的两个端口分别作为Iperf的Server端和Client端,只需要一台电脑,作为一个可携带的发包工具,会大大方便携带与使用。

 

将一台电脑的两个端口分别配置为不同的网段,如下:

 

  1.  

    ifconfig eth2 10.50.0.1/24

  2.  

    ifconfig eth3 10.50.1.1/24

通过NAT实现IP源IP和目的IP转换:

 

 

  1.  

    # nat source IP 10.50.0.1 -> 10.60.0.1 when going to 10.60.1.1

  2.  

    iptables -t nat -A POSTROUTING -s 10.50.0.1 -d 10.60.1.1 -j SNAT --to-source 10.60.0.1

  3.  

     

  4.  

    # nat inbound 10.60.0.1 -> 10.50.0.1

  5.  

    iptables -t nat -A PREROUTING -d 10.60.0.1 -j DNAT --to-destination 10.50.0.1

  6.  

     

  7.  

    # nat source IP 10.50.1.1 -> 10.60.1.1 when going to 10.60.0.1

  8.  

    iptables -t nat -A POSTROUTING -s 10.50.1.1 -d 10.60.0.1 -j SNAT --to-source 10.60.1.1

  9.  

     

  10.  

    # nat inbound 10.60.1.1 -> 10.50.1.1

  11.  

    iptables -t nat -A PREROUTING -d 10.60.1.1 -j DNAT --to-destination 10.50.1.1

 

配置路由和ARP

 

  1.  

    ip route add 10.60.1.1 dev eth2

  2.  

    arp -i eth2 -s 10.60.1.1 00:1B:21:C1:F6:0F # eth3's mac address

  3.  

     

  4.  

    ip route add 10.60.0.1 dev eth3

  5.  

    arp -i eth3 -s 10.60.0.1 00:1B:21:C1:F6:0E # eth2's mac address

 

检查网络

 

ping 10.60.1.1

 

运行iperf 

 

  1.  

    # server

  2.  

    ./iperf -B 10.50.1.1 -s

  3.  

     

  4.  

    # client: your destination is the other end's fake address

  5.  

    ./iperf -B 10.50.0.1 -c 10.50.1.1 -t 60 -i 10

    (原来csdn上的连接有一定的问题,-c 10.60.1.1测试不通)

 

TCPDUMP检查

 

tcpdump -nn -i eth2 -c 500
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值