SynProxy не може повернути пакети syn ack з асиметричною топологією подвійного моста


12

У мене є асиметрична топологія подвійного мосту, як показано нижче, коли я з'єднуюся з 172.16.11.5 та 172.16.10.6 зі ssh, але я не можу підключитися через 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
                  |     |
                  -------

На всіх машинах між 172.16.11.5 та 172.16.10.6 "фільтрація rp" вимкнена, а "ip forwarding" увімкнено. В середині топології є машина, яка називається машиною "XXX". XXX має два мости та SynProxy.

Коли SynProxy вимкнено на XXX, я можу пінговуватись від 172.16.11.5 до 172.16.10.6, а пакети icmp слідують цим шляхом: br1-> 172.16.10.1-> 172.16.10.6-> 172.16.10.1-> br0. Крім того, я можу отримати доступ з 172.16.11.5 до 172.16.10.6 за допомогою ssh. Тож трафік TCP працює так, як я очікував.

Однак, коли SynProxy увімкнено на XXX, я можу пройти пінг із 172.16.11.5 до 172.16.10.6 і пакети icmp слідують тим же шляхом. Але я не можу отримати доступ з 172.16.11.5 до 172.16.10.6 за допомогою ssh. Це тому, що synproxy не може надсилати відповіді syn ack через br1 iface. Якщо я додаю маршрут для пакетів синаків на XXX, я можу з'єднатись з 172.16.11.5 до 172.16.10.6 за допомогою ssh.

маршрут додати 172.16.11.5 dev enp10s0f0

Правила SynProxy для 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

Але це не прийнятно, оскільки мережа 172.16.11.0 хмарна. Тож я не зміг додати маршрут всієї хмарної мережі до таблиці маршрутів і не зміг додати mac-адресу до таблиці arp.

Як я можу підключитись із 172.16.11.5 до машини 172.16.10.6 за допомогою ssh, коли SynProxy увімкнено на XXX? чи це можливо?

Спасибі заздалегідь,


Чи можете ви сказати, які значення medium_idмають мостові інтерфейси у synproxy? Крім того, які ваші фактичні правила SYNPROXY у всіх таблицях?
Олександр Янссен

Я додав правила iptables для SynProxy. Але я нічого не знаю про medium_id. Я швидко шукав в Інтернеті, але це не heplful @AlexanderJanssen
nyzsirt

Відповіді:


0

Найпростіший спосіб, який я можу виправити, це змінити маршрути за замовчуванням на шлюзових машинах, щоб використовувати той самий міст, щоб його більше не було асиметричним.

  • 172.16.11.6 встановити за замовчуванням 2.2.2.1 (через br0)
  • 172.16.10.1 встановити за замовчуванням 2.2.2.2 (через br0)

Мені цікаво, чому це було сконструйовано таким чином ... яка мета другого мосту?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.