Orijinal cevabımı sildim, çünkü bunun doğru olduğundan tam olarak emin değildim. O zamandan beri söz konusu ağı simüle etmek için küçük bir sanal VM ağı kurmak için biraz zamanım oldu. İşte benim için çalışan güvenlik duvarı kuralları kümesi ( yalnızca tablo iptables-save
için formatta nat
):
-A PREROUTING -d 89.179.245.232/32 -p tcp -m multiport --dports 22,25,80,443 -j DNAT --to-destination 192.168.2.10
-A POSTROUTING -s 192.168.2.0/24 -o ppp0 -j MASQUERADE
-A POSTROUTING -s 192.168.2.0/24 -d 192.168.2.10/32 -p tcp -m multiport --dports 22,25,80,443 -j MASQUERADE
İlk POSTROUTING
kural, internet bağlantısını LAN ile paylaşmanın kolay bir yoludur. Bütünlük için orada bıraktım.
PREROUTING
Kural ve ikinci POSTROUTING
dış IP adresi üzerinden sunucuya bu bağlantıların bakılmaksızın bağlantıları LAN içindeki dışarıdan ya kaynaklanan olsun, başına gelebilir bu yüzden birlikte kural, uygun NAT kurarlar. LAN üzerindeki istemciler sunucuya harici IP adresi üzerinden bağlandığında, sunucu bağlantıları yönlendiricinin dahili IP adresinden (192.168.2.1) geliyormuş gibi görür.
İlginç bir şekilde, ikinci POSTROUTING kuralının da işe yarayan birkaç varyasyonu olduğu ortaya çıktı. Hedef olarak değiştirilirse -j SNAT --to-source 192.168.2.1
, etki (şaşırtıcı değil) şu şekilde aynıdır MASQUERADE
: sunucu yerel LAN istemcilerinden gelen bağlantıları yönlendiricinin dahili IP adresinden kaynak olarak görür . Diğer taraftan, hedef olarak değiştirilirse -j SNAT --to-source 89.179.245.232
, NAT'lar yine de çalışır, ancak sunucu yerel LAN istemcilerinden gelen bağlantıları yönlendiricinin harici IP adresinden (89.179.245.232) kaynak olarak görür .
Son olarak, orijinal PREROUTING
/ DNAT
kuralınızın -i ppp0
çalışmadığına dikkat edin , çünkü kural asla LAN istemcilerinden gelen paketlerle eşleşmez (bunlar yönlendiriciye ppp0
arabirim yoluyla girmediği için ). Yalnızca PREROUTING
dahili LAN istemcileri için ikinci bir kural ekleyerek çalışmasını sağlamak mümkün olacaktır , ancak bu durum uygun olmayabilir (IMO) ve yine de açıkça harici IP adresine başvurması gerekir.
Şimdi, bir "saç tokası NAT" (veya "NAT geri döngü" veya "NAT yansıması" ya da bir kişi onu tercih etse de) çözümü ayrıntılı olarak ortaya koyduktan sonra bile, bölünmüş bir DNS çözümünün-- - harici IP'ye giden harici istemciler ve dahili IP'ye giden dahili istemciler ile - daha tavsiye edilen yol olacaktır. Neden? Çünkü daha fazla insan DNS'nin nasıl çalıştığını anlıyor ve NAT'ın nasıl çalıştığını anlıyor ve iyi sistemler kurmanın büyük bir kısmı bakımı yapılabilen parçaları kullanmayı seçiyor. Bir DNS kurulumunun, gizli bir NAT kurulumundan (elbette IMO) daha iyi anlaşılması ve dolayısıyla doğru bir şekilde sürdürülmesi muhtemeldir.