मेरे पास एक असममित दोहरी पुल टोपोलॉजी है जैसा कि नीचे दिखाया गया है जब मैं 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 के बीच सभी मशीनों पर "आरपी फ़िल्टरिंग" बंद है और "आईपी अग्रेषण" चालू है। टोपोलॉजी के बीच में एक मशीन होती है जिसे "XXX" मशीन कहा जाता है। XXX में दो पुल और एक SynProxy है।
जब SynProxy को XXX पर बंद कर दिया जाता है, तो मैं 172.16.11.5 से 172.16.10.6 तक ping कर सकता हूं और icmp के पैकेट इस पथ का अनुसरण करते हैं: br1-> 172.16.10.1-> 172.16.10.6-> 172.16.10.1-> br0। इसके अलावा, मैं ssh के साथ 172.16.11.5 से 172.16.10.6 तक पहुंच सकता हूं। इसलिए टीसीपी ट्रैफिक मेरी अपेक्षा के अनुरूप काम करता है।
हालाँकि, जब SynProxy को XXX पर चालू किया जाता है, तो मैं 172.16.11.5 से 172.16.10.6 तक पिंग कर सकता हूं और icmp के पैकेट उसी पथ का अनुसरण करते हैं। लेकिन मैं ssh का उपयोग करके 172.16.11.5 से 172.16.10.6 तक नहीं पहुंच सकता। ऐसा इसलिए है क्योंकि synproxy br1 iface के माध्यम से syn ack उत्तर नहीं भेज सकता है। यदि मैं एक्सएक्सएक्स पर सिंकैक पैकेट के लिए एक मार्ग जोड़ता हूं, तो मैं 172.16.11.5 से 172.16.10.6 तक ssh से कनेक्ट कर सकता हूं।
मार्ग जोड़ें 172.16.11.5 देव enp10s0f0
XXX के लिए SynProxy नियम:
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 नेटवर्क क्लाउड है। इसलिए मैं रूट टेबल पर सभी क्लाउड नेटवर्क को नहीं जोड़ सका और arp टेबल में मैक एड्रेस नहीं जोड़ सका।
मैं 172.16.11.5 से 172.16.10.6 मशीन से ssh का उपयोग करके कैसे कनेक्ट कर सकता हूं जब SynProxy XXX पर चालू होता है? या यह संभव है?
अग्रिम में धन्यवाद,
medium_id
synproxy पर पुल इंटरफेस के क्या मूल्य हैं? इसके अलावा, सभी तालिकाओं में आपके वास्तविक SYNPROXY नियम क्या हैं?