Ich betreibe OPNsense 26.1.8 als VM auf einem Proxmox-Cluster. Ich nutze Proxmox SDN zur VXLAN-Separierung, aber jedes VXLAN nutzt zum Routing die OPNsense als Gateway. Die VXLANs sind als separate NIC der VM zugewiesen. Dahinter hängt u.a. ein Reverse Proxy und entsprechende Backend-Webserver. Auf dem Cluster ist aktuell noch sehr wenig los (vllt. 10-20 Web-Requests pro Minute). Mein Monitoring zeigt absolut keine Engpässe im Netz, I/O, RAM oder CPU.
Dennoch habe ich das Phänomen, dass sporadisch mal ein Request ins Leere läuft und der NGINX Reverse Proxy ein "Upstream timed out" liefert. Ich suche seit 2 Tagen, finde aber nichts. Ich habe hier ein paar TCP-Dumps:
Auszug vom Reverse Proxy (VXLAN 100) an den Backend-Webserver:
Auszug vom Backend-Webserver (VXLAN 130):
Auszug der OPNsense auf dem eingehenden Interface (VTNET3) vom Proxy:
Sowie auf dem ausgehenden Interface (VTNET6) der OPNsense Richtung Backend-Server:
Es ist "wunderschön" zu sehen, dass der Request vom Proxy mit dem Ephemeral Port 40758 zwar den Proxy verlässt, auch an der OPNsense ankommt, diese aber nicht mehr verlässt. Auch das Retry/Retransmission wird nicht von der OPNsense beantwortet bzw. geroutet.
In dem Fall handelte es sich bei dem gescheiterten Request um ein klitzekleines SVG-Bild, dass beim Abruf einer Webseite mit ausgeliefert wird. Das Problem tritt auch nachts auf, wo noch weniger los ist. Keepalive im Reverse Proxy ist im Einsatz. Wer kann helfen und erklären, warum hier intern Pakete verloren gehen!?
Dennoch habe ich das Phänomen, dass sporadisch mal ein Request ins Leere läuft und der NGINX Reverse Proxy ein "Upstream timed out" liefert. Ich suche seit 2 Tagen, finde aber nichts. Ich habe hier ein paar TCP-Dumps:
Auszug vom Reverse Proxy (VXLAN 100) an den Backend-Webserver:
Code Select
18:50:17.421126 ens18 Out IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156708648 ecr 0,nop,wscale 7], length 0
18:50:17.421142 ens18 Out IP 10.100.100.11.40762 > 10.130.130.22.80: Flags [S], seq 4016571385, win 65500, options [mss 1310,sackOK,TS val 2156708648 ecr 0,nop,wscale 7], length 0
18:50:17.421156 ens18 Out IP 10.100.100.11.40772 > 10.130.130.22.80: Flags [S], seq 3007325831, win 65500, options [mss 1310,sackOK,TS val 2156708648 ecr 0,nop,wscale 7], length 0
18:50:17.422313 ens18 In IP 10.130.130.22.80 > 10.100.100.11.40772: Flags [S.], seq 346040899, ack 3007325832, win 64900, options [mss 1250,sackOK,TS val 517535345 ecr 2156708648,nop,wscale 7], length 0
18:50:17.422313 ens18 In IP 10.130.130.22.80 > 10.100.100.11.40762: Flags [S.], seq 3084255561, ack 4016571386, win 64900, options [mss 1250,sackOK,TS val 517535345 ecr 2156708648,nop,wscale 7], length 0
18:50:17.443384 ens18 Out IP 10.100.100.11.40784 > 10.130.130.22.80: Flags [S], seq 562223358, win 65500, options [mss 1310,sackOK,TS val 2156708670 ecr 0,nop,wscale 7], length 0
18:50:17.443661 ens18 In IP 10.130.130.22.80 > 10.100.100.11.40784: Flags [S.], seq 3423290674, ack 562223359, win 64900, options [mss 1250,sackOK,TS val 517535367 ecr 2156708670,nop,wscale 7], length 0
18:50:17.467279 ens18 Out IP 10.100.100.11.40788 > 10.130.130.22.80: Flags [S], seq 2628846409, win 65500, options [mss 1310,sackOK,TS val 2156708694 ecr 0,nop,wscale 7], length 0
18:50:17.467319 ens18 Out IP 10.100.100.11.40796 > 10.130.130.22.80: Flags [S], seq 3915422948, win 65500, options [mss 1310,sackOK,TS val 2156708694 ecr 0,nop,wscale 7], length 0
18:50:17.467991 ens18 In IP 10.130.130.22.80 > 10.100.100.11.40788: Flags [S.], seq 1676106060, ack 2628846410, win 64900, options [mss 1250,sackOK,TS val 517535391 ecr 2156708694,nop,wscale 7], length 0
18:50:17.468006 ens18 In IP 10.130.130.22.80 > 10.100.100.11.40796: Flags [S.], seq 3056575451, ack 3915422949, win 64900, options [mss 1250,sackOK,TS val 517535391 ecr 2156708694,nop,wscale 7], length 0
18:50:18.445100 ens18 Out IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156709672 ecr 0,nop,wscale 7], length 0
18:50:19.469188 ens18 Out IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156710696 ecr 0,nop,wscale 7], length 0
18:50:20.493198 ens18 Out IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156711720 ecr 0,nop,wscale 7], length 0
18:50:21.517175 ens18 Out IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156712744 ecr 0,nop,wscale 7], length 0
18:50:22.541211 ens18 Out IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156713768 ecr 0,nop,wscale 7], length 0
18:50:24.557198 ens18 Out IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156715784 ecr 0,nop,wscale 7], length 0
18:50:28.589203 ens18 Out IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156719816 ecr 0,nop,wscale 7], length 0
18:50:29.280604 ens18 Out IP 10.100.100.11.53162 > 10.130.130.22.80: Flags [S], seq 1555195113, win 65500, options [mss 1310,sackOK,TS val 2156720507 ecr 0,nop,wscale 7], length 0
18:50:29.282278 ens18 In IP 10.130.130.22.80 > 10.100.100.11.53162: Flags [S.], seq 1424688371, ack 1555195114, win 64900, options [mss 1250,sackOK,TS val 517547205 ecr 2156720507,nop,wscale 7], length 0
18:50:36.781185 ens18 Out IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156728008 ecr 0,nop,wscale 7], length 0Auszug vom Backend-Webserver (VXLAN 130):
Code Select
18:50:17.421666 ens18 In IP 10.100.100.11.40762 > 10.130.130.22.80: Flags [S], seq 4016571385, win 65500, options [mss 1250,sackOK,TS val 2156708648 ecr 0,nop,wscale 7], length 0
18:50:17.421667 ens18 In IP 10.100.100.11.40772 > 10.130.130.22.80: Flags [S], seq 3007325831, win 65500, options [mss 1250,sackOK,TS val 2156708648 ecr 0,nop,wscale 7], length 0
18:50:17.421686 ens18 Out IP 10.130.130.22.80 > 10.100.100.11.40762: Flags [S.], seq 3084255561, ack 4016571386, win 64900, options [mss 1310,sackOK,TS val 517535345 ecr 2156708648,nop,wscale 7], length 0
18:50:17.421698 ens18 Out IP 10.130.130.22.80 > 10.100.100.11.40772: Flags [S.], seq 346040899, ack 3007325832, win 64900, options [mss 1310,sackOK,TS val 517535345 ecr 2156708648,nop,wscale 7], length 0
18:50:17.443620 ens18 In IP 10.100.100.11.40784 > 10.130.130.22.80: Flags [S], seq 562223358, win 65500, options [mss 1250,sackOK,TS val 2156708670 ecr 0,nop,wscale 7], length 0
18:50:17.443627 ens18 Out IP 10.130.130.22.80 > 10.100.100.11.40784: Flags [S.], seq 3423290674, ack 562223359, win 64900, options [mss 1310,sackOK,TS val 517535367 ecr 2156708670,nop,wscale 7], length 0
18:50:17.467778 ens18 In IP 10.100.100.11.40796 > 10.130.130.22.80: Flags [S], seq 3915422948, win 65500, options [mss 1250,sackOK,TS val 2156708694 ecr 0,nop,wscale 7], length 0
18:50:17.467778 ens18 In IP 10.100.100.11.40788 > 10.130.130.22.80: Flags [S], seq 2628846409, win 65500, options [mss 1250,sackOK,TS val 2156708694 ecr 0,nop,wscale 7], length 0
18:50:17.467783 ens18 Out IP 10.130.130.22.80 > 10.100.100.11.40796: Flags [S.], seq 3056575451, ack 3915422949, win 64900, options [mss 1310,sackOK,TS val 517535391 ecr 2156708694,nop,wscale 7], length 0
18:50:17.467789 ens18 Out IP 10.130.130.22.80 > 10.100.100.11.40788: Flags [S.], seq 1676106060, ack 2628846410, win 64900, options [mss 1310,sackOK,TS val 517535391 ecr 2156708694,nop,wscale 7], length 0Auszug der OPNsense auf dem eingehenden Interface (VTNET3) vom Proxy:
Code Select
18:50:17.421192 IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156708648 ecr 0,nop,wscale 7], length 0
18:50:17.421195 IP 10.100.100.11.40762 > 10.130.130.22.80: Flags [S], seq 4016571385, win 65500, options [mss 1310,sackOK,TS val 2156708648 ecr 0,nop,wscale 7], length 0
18:50:17.421221 IP 10.100.100.11.40772 > 10.130.130.22.80: Flags [S], seq 3007325831, win 65500, options [mss 1310,sackOK,TS val 2156708648 ecr 0,nop,wscale 7], length 0
18:50:17.421614 IP 10.130.130.22.80 > 10.100.100.11.40772: Flags [S.], seq 346040899, ack 3007325832, win 64900, options [mss 1250,sackOK,TS val 517535345 ecr 2156708648,nop,wscale 7], length 0
18:50:17.421732 IP 10.130.130.22.80 > 10.100.100.11.40762: Flags [S.], seq 3084255561, ack 4016571386, win 64900, options [mss 1250,sackOK,TS val 517535345 ecr 2156708648,nop,wscale 7], length 0
18:50:17.443290 IP 10.100.100.11.40784 > 10.130.130.22.80: Flags [S], seq 562223358, win 65500, options [mss 1310,sackOK,TS val 2156708670 ecr 0,nop,wscale 7], length 0
18:50:17.443518 IP 10.130.130.22.80 > 10.100.100.11.40784: Flags [S.], seq 3423290674, ack 562223359, win 64900, options [mss 1250,sackOK,TS val 517535367 ecr 2156708670,nop,wscale 7], length 0
18:50:17.467166 IP 10.100.100.11.40788 > 10.130.130.22.80: Flags [S], seq 2628846409, win 65500, options [mss 1310,sackOK,TS val 2156708694 ecr 0,nop,wscale 7], length 0
18:50:17.467203 IP 10.100.100.11.40796 > 10.130.130.22.80: Flags [S], seq 3915422948, win 65500, options [mss 1310,sackOK,TS val 2156708694 ecr 0,nop,wscale 7], length 0
18:50:17.467844 IP 10.130.130.22.80 > 10.100.100.11.40796: Flags [S.], seq 3056575451, ack 3915422949, win 64900, options [mss 1250,sackOK,TS val 517535391 ecr 2156708694,nop,wscale 7], length 0
18:50:17.467853 IP 10.130.130.22.80 > 10.100.100.11.40788: Flags [S.], seq 1676106060, ack 2628846410, win 64900, options [mss 1250,sackOK,TS val 517535391 ecr 2156708694,nop,wscale 7], length 0
18:50:18.445247 IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156709672 ecr 0,nop,wscale 7], length 0
18:50:19.469327 IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156710696 ecr 0,nop,wscale 7], length 0
18:50:20.493431 IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156711720 ecr 0,nop,wscale 7], length 0
18:50:21.517424 IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156712744 ecr 0,nop,wscale 7], length 0
18:50:22.541471 IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156713768 ecr 0,nop,wscale 7], length 0
18:50:24.557380 IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156715784 ecr 0,nop,wscale 7], length 0
18:50:28.589278 IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156719816 ecr 0,nop,wscale 7], length 0
18:50:36.781171 IP 10.100.100.11.40758 > 10.130.130.22.80: Flags [S], seq 928532187, win 65500, options [mss 1310,sackOK,TS val 2156728008 ecr 0,nop,wscale 7], length 0Sowie auf dem ausgehenden Interface (VTNET6) der OPNsense Richtung Backend-Server:
Code Select
18:50:17.421218 IP 10.100.100.11.40762 > 10.130.130.22.80: Flags [S], seq 4016571385, win 65500, options [mss 1250,sackOK,TS val 2156708648 ecr 0,nop,wscale 7], length 0
18:50:17.421225 IP 10.100.100.11.40772 > 10.130.130.22.80: Flags [S], seq 3007325831, win 65500, options [mss 1250,sackOK,TS val 2156708648 ecr 0,nop,wscale 7], length 0
18:50:17.421599 IP 10.130.130.22.80 > 10.100.100.11.40772: Flags [S.], seq 346040899, ack 3007325832, win 64900, options [mss 1310,sackOK,TS val 517535345 ecr 2156708648,nop,wscale 7], length 0
18:50:17.421729 IP 10.130.130.22.80 > 10.100.100.11.40762: Flags [S.], seq 3084255561, ack 4016571386, win 64900, options [mss 1310,sackOK,TS val 517535345 ecr 2156708648,nop,wscale 7], length 0
18:50:17.443307 IP 10.100.100.11.40784 > 10.130.130.22.80: Flags [S], seq 562223358, win 65500, options [mss 1250,sackOK,TS val 2156708670 ecr 0,nop,wscale 7], length 0
18:50:17.443514 IP 10.130.130.22.80 > 10.100.100.11.40784: Flags [S.], seq 3423290674, ack 562223359, win 64900, options [mss 1310,sackOK,TS val 517535367 ecr 2156708670,nop,wscale 7], length 0
18:50:17.467177 IP 10.100.100.11.40788 > 10.130.130.22.80: Flags [S], seq 2628846409, win 65500, options [mss 1250,sackOK,TS val 2156708694 ecr 0,nop,wscale 7], length 0
18:50:17.467207 IP 10.100.100.11.40796 > 10.130.130.22.80: Flags [S], seq 3915422948, win 65500, options [mss 1250,sackOK,TS val 2156708694 ecr 0,nop,wscale 7], length 0
18:50:17.467842 IP 10.130.130.22.80 > 10.100.100.11.40796: Flags [S.], seq 3056575451, ack 3915422949, win 64900, options [mss 1310,sackOK,TS val 517535391 ecr 2156708694,nop,wscale 7], length 0
18:50:17.467851 IP 10.130.130.22.80 > 10.100.100.11.40788: Flags [S.], seq 1676106060, ack 2628846410, win 64900, options [mss 1310,sackOK,TS val 517535391 ecr 2156708694,nop,wscale 7], length 0Es ist "wunderschön" zu sehen, dass der Request vom Proxy mit dem Ephemeral Port 40758 zwar den Proxy verlässt, auch an der OPNsense ankommt, diese aber nicht mehr verlässt. Auch das Retry/Retransmission wird nicht von der OPNsense beantwortet bzw. geroutet.
In dem Fall handelte es sich bei dem gescheiterten Request um ein klitzekleines SVG-Bild, dass beim Abruf einer Webseite mit ausgeliefert wird. Das Problem tritt auch nachts auf, wo noch weniger los ist. Keepalive im Reverse Proxy ist im Einsatz. Wer kann helfen und erklären, warum hier intern Pakete verloren gehen!?
"