Tengo una topología asimétrica de puente doble como se muestra a continuación cuando me conecto desde 172.16.11.5 y 172.16.10.6 con ssh pero no puedo conectarme debido a 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
| |
-------
En todas las máquinas entre 172.16.11.5 y 172.16.10.6 "rp filtering" está desactivado y "ip forwarding" está activado. Hay una máquina en el medio de la topología que se llama máquina "XXX". XXX tiene dos puentes y un SynProxy.
Cuando SynProxy está APAGADO en XXX, puedo hacer ping desde 172.16.11.5 a 172.16.10.6 y los paquetes icmp siguen esta ruta: br1-> 172.16.10.1-> 172.16.10.6-> 172.16.10.1-> br0. Además, puedo acceder desde 172.16.11.5 a 172.16.10.6 con ssh. Entonces, el tráfico TCP funciona como esperaba.
Sin embargo, cuando SynProxy se ENCIENDE en XXX, puedo hacer ping desde 172.16.11.5 a 172.16.10.6 y los paquetes icmp siguen la misma ruta. Pero no puedo acceder desde 172.16.11.5 a 172.16.10.6 usando ssh. Esto se debe a que synproxy no puede enviar respuestas de sincronización a través de iface br1. Si agrego una ruta para paquetes synack en XXX, puedo conectarme desde 172.16.11.5 a 172.16.10.6 con ssh.
ruta agregar 172.16.11.5 dev enp10s0f0
Reglas de SynProxy para 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
Pero esto no es aceptable porque la red 172.16.11.0 es en la nube. Por lo tanto, no pude agregar la ruta de toda la red en la nube a la tabla de rutas y no pude agregar la dirección mac a la tabla arp.
¿Cómo puedo conectarme desde 172.16.11.5 a la máquina 172.16.10.6 usando ssh cuando SynProxy está activado en XXX? o es posible?
Gracias por adelantado,
medium_id
interfaces bridge en synproxy? Además, ¿cuáles son sus reglas SYNPROXY reales en todas las tablas?