我在使用netcat和iptables时遇到一个非常奇怪的行为。
我在不同子网中有两个Linux VM(客户端和服务器):
他们正在通过另一个Linux VM(网关)进行通信。网关有两个NIC:
要在客户端和服务器之间路由,我在网关的iptables上管理了一些SNAT和DNAT规则。
所有VM都在VirtualBox 5.2.22中运行Ubuntu 16.04。
我正在使用netcat在服务器端进行监听,如下所示:
nc -v -l 44 > /dev/null
在客户端,我发送一些伪数据,如下所示:
dd if=/dev/zero bs=1024 count=102400 | nc -v 10.10.30.101 #gateway_ip 44
第一个问题:传输在第一次尝试中成功,但是,如果我在第一次尝试后直接重复传输,则失败。因此,我必须等待几分钟才能获得另一个成功的线索。为什么?
第二个问题:每个成功的审判都有不同的速度。为什么?
网关的iptables配置如下: