SynProxy non può restituire pacchetti syn ack con topologia asimmetrica a doppio ponte


12

Ho una topologia asimmetrica a doppio ponte come mostrato di seguito quando mi collego da 172.16.11.5 e 172.16.10.6 con ssh ma non riesco a collegarmi a causa di SynProxy.

                  -------
                  |     |
                  ---o--- 172.16.11.5
                     |
                     |
                -----o----- 172.16.11.6
                |         |
                |         | default gw 1.1.1.1
                |         |
     1.1.1.2/30 --o----o--- 2.2.2.2/30
                  |    |
                  |    |
                  |    | (enp10s0f0)
              ----o----o-----
              |             |
              |     XXX     |
              |             |
              |  br1   br0  | synproxy
              |             |
              ----o----o-----
                  |    |
                  |    |
                  |    |
     1.1.1.1/30 --o----o--- 2.2.2.1/30
                |         |
                |         | default gw 2.2.2.2
                |         |
                -----o----- 172.16.10.1
                     |
                     |
                  ---o--- 172.16.10.6
                  |     |
                  -------

Su tutte le macchine tra 172.16.11.5 e 172.16.10.6 "filtro rp" è disattivato e "IP forwarding" è attivo. C'è una macchina al centro della topologia che si chiama macchina "XXX". XXX ha due bridge e un SynProxy.

Quando SynProxy è disattivato su XXX, posso eseguire il ping da 172.16.11.5 a 172.16.10.6 e i pacchetti icmp seguono questo percorso: br1-> 172.16.10.1-> 172.16.10.6-> 172.16.10.1-> br0. Inoltre, posso accedere da 172.16.11.5 a 172.16.10.6 con ssh. Quindi il traffico TCP funziona come mi aspetto.

Tuttavia, quando SynProxy è attivato su XXX, posso eseguire il ping da 172.16.11.5 a 172.16.10.6 e i pacchetti icmp seguono lo stesso percorso. Ma non posso accedere da 172.16.11.5 a 172.16.10.6 usando ssh. Questo perché synproxy non può inviare risposte syn ack tramite br1 iface. Se aggiungo un percorso per i pacchetti synack su XXX, posso collegarmi da 172.16.11.5 a 172.16.10.6 con ssh.

route add 172.16.11.5 dev enp10s0f0

Regole SynProxy per XXX:

iptables -t raw -A PREROUTING -i br0 -p tcp -m physdev --physdev-in 
enp10s0f0 -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j CT --notrack
iptables -t raw -A PREROUTING -i br1 -p tcp -m physdev --physdev-in 
enp11s0f0 -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j CT --notrack

iptables -t filter -A FORWARD -i br0 -p tcp -m physdev --physdev-in 
enp10s0f0 -m tcp -m state --state INVALID,UNTRACKED -j SYNPROXY 
--sack-perm --timestamp --wscale 7 --mss 1460
iptables -t filter -A FORWARD -i br0 -m physdev --physdev-in enp10s0f0 
-m state --state INVALID -j DROP
iptables -t filter -A FORWARD -i br1 -p tcp -m physdev --physdev-in 
enp11s0f0 -m tcp -m state --state INVALID,UNTRACKED -j SYNPROXY 
--sack-perm --timestamp --wscale 7 --mss 1460
iptables -t filter -A FORWARD -i br1 -m physdev --physdev-in enp11s0f0 
-m state --state INVALID -j DROP

Ma questo non è accettabile perché la rete 172.16.11.0 è cloud. Quindi non ho potuto aggiungere route tutta la rete cloud alla route route e non ho potuto aggiungere l'indirizzo mac alla tabella arp.

Come posso collegarmi da 172.16.11.5 alla macchina 172.16.10.6 usando ssh quando SynProxy è attivato su XXX? o è possibile?

Grazie in anticipo,


Puoi dire quali valori hanno le medium_idinterfacce bridge sul synproxy? Inoltre, quali sono le tue attuali regole SINTETICHE in tutte le tabelle?
Alexander Janssen,

Ho aggiunto le regole di iptables per SynProxy. Ma non so nulla di medium_id. Ho cercato rapidamente su internet ma non è abbondante @AlexanderJanssen
nyzsirt

Risposte:


0

Il modo più semplice che posso vedere per risolvere questo problema è cambiare i percorsi predefiniti sulle macchine gateway per utilizzare lo stesso bridge in modo che non sia più asimmetrico.

  • Il 172.16.11.6 imposta il valore predefinito su 2.2.2.1 (tramite br0)
  • Su 172.16.10.1 impostare il valore predefinito su 2.2.2.2 (tramite br0)

Sono curioso di sapere perché è stato progettato in questo modo ... qual è lo scopo del secondo ponte?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.