Tôi có một cấu trúc liên kết cầu kép không đối xứng như được hiển thị bên dưới khi tôi kết nối từ 172.16.11.5 và 172.16.10.6 với ssh nhưng tôi không thể kết nối vì 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
| |
-------
Trên tất cả các máy trong khoảng từ 172.16.11.5 đến 172.16.10.6, "rp lọc" bị tắt và "chuyển tiếp ip" được bật. Có một máy ở giữa cấu trúc liên kết được gọi là máy "XXX". XXX có hai cây cầu và SynProxy.
Khi SynProxy được TẮT trên XXX, tôi có thể ping từ 172.16.11.5 đến 172.16.10.6 và các gói icmp theo đường dẫn này: br1-> 172.16.10.1-> 172.16.10.6-> 172.16.10.1-> br0. Ngoài ra, tôi có thể truy cập từ 172.16.11.5 đến 172.16.10.6 với ssh. Vì vậy, lưu lượng TCP hoạt động như tôi mong đợi.
Tuy nhiên, khi SynProxy được BẬT trên XXX, tôi có thể ping từ 172.16.11.5 đến 172.16.10.6 và các gói icmp đi theo cùng một đường dẫn. Nhưng tôi không thể truy cập từ 172.16.11.5 đến 172.16.10.6 bằng ssh. Điều này là do synproxy không thể gửi trả lời ack syn qua br1 iface. Nếu tôi thêm một tuyến đường cho các gói đồng bộ trên XXX, tôi có thể kết nối từ 172.16.11.5 đến 172.16.10.6 với ssh.
tuyến đường thêm 172.16.11.5 dev enp10s0f0
Quy tắc SynProxy cho 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
Nhưng điều này không được chấp nhận vì mạng 172.16.11.0 là đám mây. Vì vậy, tôi không thể thêm tuyến tất cả mạng đám mây vào bảng tuyến và không thể thêm địa chỉ mac vào bảng arp.
Làm cách nào tôi có thể kết nối từ 172.16.11.5 với máy 172.16.10.6 bằng ssh khi SynProxy được BẬT trên XXX? hoặc là nó có thể?
Cảm ơn trước,
medium_id
của các giao diện cầu nối trên synproxy không? Ngoài ra, các quy tắc SYNPROXY thực tế của bạn trong tất cả các bảng là gì?