我在服务器室的机架上有两个戴尔服务器:
A
和B
A
为192.168.x.1,B
为192.168.x.2,其中x=1用于1 1Gbps,x=2用于infiniband。ping
,也可以在两个子网之间进行scp
。在A
上,如果我只做iperf -s
,在B
上做iperf -c 192.168.1.1
,是工作的,每秒942 mbits。但是在B
上,如果我做了iperf -c 192.168.2.1
,我就没有办法主持。
如何在此场景中使用iperf
查看特定网络接口上的传输速度?特别是我的ib0
?最终,当我设置好em1
10 get的时候?
发布于 2021-03-12 08:01:21
你能拿到来自sourceforge的最新消息吗?我建议git签出2-1-1-dev并构建它。
对于您的问题,可以使用%约定绑定到接口,例如iperf -c 192.168.1.1%ib0
请参阅手册页备注部分:
绑定在逻辑级别(ip地址或第3层)使用-B选项完成,在设备(或第2层)级别使用客户端和服务器的百分比(%)分隔符进行绑定。在客户机上,-B选项影响bind(2)系统调用,并将设置源ip地址和源端口,例如iperf -c -B 192.168.100.2:6002。这控制数据包的源值,但不控制路由。这些可能令人混淆,因为路由或设备查找可能不是配置的源IP的设备。因此,例如,如果eth0的IP地址用于-B,而目的地IP地址的路由表将输出接口解析为eth1,那么主机将在数据包中使用eth0的源IP地址时发送出分组设备eth1。要影响物理输出接口(例如双主系统),可以使用绕过此主机路由表查找的-c %(需要根),或者根据每个-B源地址配置策略路由,并在策略路由中适当地设置输出接口。在服务器或接收端,只有发送到-B IP地址的数据包才会被接收。它对于多播也很有用。例如,iperf -s -B 224.0.0.1%eth0将只接受在eth0接口上接收的带有dest ip 224.0.0.1的ip多播数据包,而iperf -s -B 224.0.0.1将在任何接口上接收这些数据包,最后,对于v6链路-本地(例如-c v6addr% -V ),需要设备说明符来选择输出接口。
https://unix.stackexchange.com/questions/638642
复制相似问题