Ich habe eine asymmetrische Doppelbrückentopologie, wie unten gezeigt, wenn ich mich von 172.16.11.5 und 172.16.10.6 mit ssh verbinde, aber ich kann mich wegen SynProxy nicht verbinden.
-------
| |
---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
| |
-------
Auf allen Computern zwischen 172.16.11.5 und 172.16.10.6 ist "RP-Filterung" deaktiviert und "IP-Weiterleitung" aktiviert. In der Mitte der Topologie befindet sich eine Maschine, die als "XXX" -Maschine bezeichnet wird. XXX hat zwei Bridges und einen SynProxy.
Wenn SynProxy auf XXX ausgeschaltet ist, kann ich von 172.16.11.5 bis 172.16.10.6 pingen und icmp-Pakete folgen diesem Pfad: br1-> 172.16.10.1-> 172.16.10.6-> 172.16.10.1-> br0. Außerdem kann ich mit ssh von 172.16.11.5 auf 172.16.10.6 zugreifen. Der TCP-Verkehr funktioniert also wie erwartet.
Wenn jedoch SynProxy auf XXX eingeschaltet ist, kann ich von 172.16.11.5 bis 172.16.10.6 pingen und icmp-Pakete folgen demselben Pfad. Aber ich kann nicht mit ssh von 172.16.11.5 auf 172.16.10.6 zugreifen. Dies liegt daran, dass Synproxy keine Syn-Bestätigungsantworten über br1 iface senden kann. Wenn ich eine Route für Synack-Pakete auf XXX hinzufüge, kann ich mit ssh eine Verbindung von 172.16.11.5 zu 172.16.10.6 herstellen.
route add 172.16.11.5 dev enp10s0f0
SynProxy-Regeln für 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
Dies ist jedoch nicht akzeptabel, da das Netzwerk 172.16.11.0 eine Cloud ist. Daher konnte ich der Routentabelle nicht das gesamte Cloud-Netzwerk und der Arp-Tabelle nicht die MAC-Adresse hinzufügen.
Wie kann ich mit ssh eine Verbindung zwischen 172.16.11.5 und 172.16.10.6 herstellen, wenn SynProxy auf XXX eingeschaltet ist? oder ist es möglich?
Danke im Voraus,
quelle
medium_id
die Bridge-Interfaces auf Synproxy haben? Wie lauten Ihre aktuellen SYNPROXY-Regeln in allen Tabellen?Antworten:
Die einfachste Möglichkeit, dies zu beheben, besteht darin, die Standardrouten auf den Gateway-Computern so zu ändern, dass dieselbe Bridge verwendet wird, sodass sie nicht mehr asymmetrisch ist.
Ich bin gespannt, warum es so konstruiert wurde ... wozu dient die zweite Brücke?
quelle