У меня есть асимметричная двойная топология моста как показано ниже, когда я соединяюсь от 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", идет. Существует машина в середину топологии, которую называют "XXX" машина. XXX имеет два моста и SynProxy.
Когда SynProxy выключен на XXX, я могу проверить с помощью ping-запросов от 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, я могу проверить с помощью ping-запросов от 172.16.11.5 до 172.16.10.6, и icmp пакеты следуют за тем же путем. Но я не могу получить доступ от 172.16.11.5 до 172.16.10.6 использований ssh. Это вызвано тем, что synproxy не может отправить syn ack ответы через br1 iface. Если я добавляю маршрут для synack пакетов на 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? или действительно ли Это возможно?
Заранее спасибо,
Самый простой способ исправить это - изменить маршруты по умолчанию на шлюзовых машинах, чтобы они использовали тот же мост, чтобы он больше не был асимметричным.
Мне любопытно, почему он был спроектирован таким образом ... какова цель второго мост?