![Encaminhamento de IP lento/morto](https://rvso.com/image/756811/Encaminhamento%20de%20IP%20lento%2Fmorto.png)
Eu tenho 2 VMs configuradas no qemu. 1 das VM's (VM1) possui link para internet e link para a outra VM (VM2). Na VM1 obtenho bons resultados no desempenho da rede (para wan):
Connecting to host iperf.xxx, port 5201
[ 5] local xxx port 40826 connected to xxx port 5201
[ 7] local xxx port 40828 connected to xxx port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-10.00 sec 353 MBytes 296 Mbits/sec 337 93.3 KBytes
[ 7] 0.00-10.00 sec 359 MBytes 301 Mbits/sec 339 122 KBytes
[SUM] 0.00-10.00 sec 712 MBytes 597 Mbits/sec 676
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 353 MBytes 296 Mbits/sec 337 sender
[ 5] 0.00-10.00 sec 353 MBytes 296 Mbits/sec receiver
[ 7] 0.00-10.00 sec 359 MBytes 301 Mbits/sec 339 sender
[ 7] 0.00-10.00 sec 358 MBytes 300 Mbits/sec receiver
[SUM] 0.00-10.00 sec 712 MBytes 597 Mbits/sec 676 sender
[SUM] 0.00-10.00 sec 711 MBytes 596 Mbits/sec receiver
Na VM1, tenho o IpForward habilitado no Sysctl e a VM2 tem uma rota padrão para a VM1. Mas ao executar o mesmo teste iperf na VM2, obtenho o seguinte resultado:
Connecting to host iperf.xxx, port 5201
[ 5] local 10.5.5.2 port 53188 connected to xxx port 5201
[ 7] local 10.5.5.2 port 53190 connected to xxx port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-10.01 sec 631 KBytes 516 Kbits/sec 6 1.41 KBytes
[ 7] 0.00-10.01 sec 731 KBytes 598 Kbits/sec 20 1.41 KBytes
[SUM] 0.00-10.01 sec 1.33 MBytes 1.11 Mbits/sec 26
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.01 sec 631 KBytes 516 Kbits/sec 6 sender
[ 5] 0.00-10.01 sec 281 KBytes 230 Kbits/sec receiver
[ 7] 0.00-10.01 sec 731 KBytes 598 Kbits/sec 20 sender
[ 7] 0.00-10.01 sec 431 KBytes 353 Kbits/sec receiver
[SUM] 0.00-10.01 sec 1.33 MBytes 1.11 Mbits/sec 26 sender
[SUM] 0.00-10.01 sec 713 KBytes 583 Kbits/sec receiver
Como você pode ver, essa é uma diferença muito grande. Como reação natural, iniciei um iperf entre VM1 (servidor) e VM2 (cliente), com o seguinte resultado:
Connecting to host 10.5.5.1, port 5201
[ 5] local 10.5.5.2 port 49408 connected to 10.5.5.1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 1.01 MBytes 8.46 Mbits/sec 31 1.41 KBytes
[ 5] 1.00-2.00 sec 0.00 Bytes 0.00 bits/sec 1 1.41 KBytes
[ 5] 2.00-3.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
[ 5] 3.00-4.00 sec 0.00 Bytes 0.00 bits/sec 1 1.41 KBytes
[ 5] 4.00-5.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
[ 5] 5.00-6.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
[ 5] 6.00-7.00 sec 0.00 Bytes 0.00 bits/sec 1 1.41 KBytes
[ 5] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
[ 5] 8.00-9.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
[ 5] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec 0 1.41 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.01 MBytes 847 Kbits/sec 34 sender
[ 5] 0.00-10.00 sec 523 KBytes 429 Kbits/sec receiver
Parece que os pacotes são descartados após serem estabelecidos (?), Porque o primeiro segundo. está tudo bem, mas depois a conexão parece estar morta.
Atualmente estou sem opções e até aceitei todo o tráfego no firewall da VM1. Saída iptables -nvL --line-numbers
da VM1:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 602K 34M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
2 2428K 275M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
3 1 84 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
4 6 360 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5201
5 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8 ctstate NEW
6 5 308 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 flags:0x17/0x02 ctstate NEW
7 3 140 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 flags:0x17/0x02 ctstate NEW
8 132 5288 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
9 593 24128 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp reject-with tcp-reset
10 81 24010 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
11 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5201
12 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:5201
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 137K 298M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
2 1758 106K ACCEPT tcp -- * * 0.0.0.0/0 10.5.5.2 tcp dpt:22
3 97425 322M ACCEPT all -- * enp1s5 0.0.0.0/0 10.5.5.0/24 ctstate RELATED,ESTABLISHED
4 41400 6022K ACCEPT all -- enp1s5 * 10.5.5.0/24 0.0.0.0/0
5 0 0 ACCEPT all -- enp1s5 enp1s5 0.0.0.0/0 0.0.0.0/0
6 0 0 REJECT all -- enp1s5 * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
7 0 0 REJECT all -- * enp1s5 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 383K 2483M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
E a tabela nat iptables -t nat -nvL --line-numbers
:
Chain PREROUTING (policy ACCEPT 2246 packets, 141K bytes)
num pkts bytes target prot opt in out source destination
1 0 0 DNAT tcp -- * * 0.0.0.0/0 xxx tcp dpt:2243 to:10.5.5.2:22
2 1 64 DNAT tcp -- * * 0.0.0.0/0 xxx tcp dpt:2246 to:10.5.5.2:22
Chain INPUT (policy ACCEPT 1330 packets, 77280 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 355 packets, 18693 bytes)
num pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 949 packets, 42477 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 RETURN all -- * * 10.5.5.0/24 224.0.0.0/24
2 0 0 RETURN all -- * * 10.5.5.0/24 255.255.255.255
3 242 15138 MASQUERADE all -- * * 10.5.5.0/24 !10.5.5.0/24
(Isso ocorre com 2 encaminhamentos de porta habilitados em vm1 para a porta 22 em vm2 aliás)
Como disse, estou sem opções. Você tem alguma sugestão sobre como continuar com a solução de problemas?