172.16.11.5 ve 172.16.10.6'dan ssh ile bağlandığımda aşağıda gösterildiği gibi asimetrik bir çift köprü topolojisi var, ancak SynProxy nedeniyle bağlanamıyorum.
-------
| |
---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 ve 172.16.10.6 arasındaki tüm makinelerde "rp filtreleme" kapalı ve "ip yönlendirme" açıktır. Topolojinin ortasında "XXX" adlı bir makine var. XXX'in iki köprüsü ve bir SynProxy'si var.
XXX üzerinde SynProxy KAPALI konuma getirildiğinde, 172.16.11.5'ten 172.16.10.6'ya ping atabilirim ve icmp paketleri şu yolu izler: br1-> 172.16.10.1-> 172.16.10.6-> 172.16.10.1-> br0. Ayrıca, 172.16.11.5'ten 172.16.10.6'ya ssh ile erişebilirim. TCP trafiği beklediğim gibi çalışıyor.
Ancak, SynProxy XXX üzerinde AÇIK olduğunda 172.16.11.5'ten 172.16.10.6'ya ping atabilirim ve icmp paketleri aynı yolu izler. Ancak ssh kullanarak 172.16.11.5'ten 172.16.10.6'ya erişemiyorum. Bunun nedeni, synproxy'nin br1 iface yoluyla syn ack yanıtları gönderememesidir. XXX üzerinde senkronizasyon paketleri için bir rota eklersem, 172.16.11.5'ten 172.16.10.6'ya ssh ile bağlanabilirim.
güzergah ekleme 172.16.11.5 dev enp10s0f0
XXX için SynProxy kuralları:
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
Ancak bu kabul edilemez çünkü 172.16.11.0 ağı buluttur. Bu yüzden yol tablosuna tüm bulut ağını ekleyemedim ve arp tablosuna mac adresi ekleyemedim.
XXX üzerinde SynProxy AÇIK olduğunda ssh kullanarak 172.16.11.5'ten 172.16.10.6 makinesine nasıl bağlanabilirim? veya Mümkün mü?
Şimdiden teşekkürler,
medium_id
Synproxy üzerindeki köprü arayüzlerinin hangi değerlere sahip olduğunu söyleyebilir misiniz ? Ayrıca, tüm tablolarda gerçek SYNPROXY kurallarınız nelerdir?