Port yönlendirmeyi başarmanın bir yolu, Linux tabanlı sistemlerde iptables komut satırı aracını kullanmaktır. Iptables, kullanıcıların ağ trafiği kurallarını ve politikalarını yapılandırmasına izin veren bir yardımcı yazılımdır. Iptables, kuralları ve ilkeleri düzenlemek için bir dizi önceden tanımlanmış tablo kullanır. Her tablo, gelen veya giden trafiğe sırayla uygulanan kuralların listesi olan bir dizi zincir içerir. iptables'daki her kural, kuralın uygulanması için karşılanması gereken bir dizi koşulu ve koşullar sağlandığında yapılacak eylemi belirtir. Bu yazıda, Linux tabanlı bir sistemde port yönlendirmeyi ayarlamak için iptables'ın nasıl kullanılacağını tartışacağız.
Iptables ile Port Yönlendirme
1. Adım: Bağlantı Noktası Numarasını ve Protokolü Bulma
iptables ile port yönlendirmede ilk adım yönlendirmek istediğiniz servisin port numarasını ve protokolünü belirlemektir. Bağlantı noktası numarası, bir ağ üzerindeki belirli bir hizmete veya uygulamaya atanan sayısal bir tanımlayıcıdır, protokol ise aygıtlar arasında veri aktarımına ilişkin kuralları belirtir.
Bunun bir örneği, gelen tüm trafiği TCP (Transmission Control Protocol) protokolü ile 80 numaralı bağlantı noktasında çalışan bir web sunucusuna iletmektir.
2. Adım: Port Yönlendirme için Zincir Oluşturma
Bir sonraki adım, gelen trafiği uygun makineye veya hizmete iletmek için kullanılan bir zincir oluşturmaktır. Bunun için iptables'a yeni bir zincir eklemeniz gerekiyor.
Yeni bir zincir oluşturmak için aşağıdaki komutu çalıştırın:
$ sudo iptables -N < zincir adı >
Not : Oluşturmak istediğiniz zincir için açıklayıcı bir adla
3. Adım: Zincire Yeni Bir Kural Ekleme
Yeni oluşturulan zincirde, gelen trafiği uygun makineye veya hizmete ileten bir kural eklemeniz gerekir. Kural, gelen trafiği alması gereken makinenin IP adresinin yanı sıra hizmetin bağlantı noktası numarasını ve protokolünü belirtmelidir.
Terminalde aşağıdaki komutu çalıştırın:
$ sudo iptables -A < zincir adı > -P tcp --dport 80 -J DNAT --hedefe 192.168.0.100: 80Not : Bu komut, 80 numaralı bağlantı noktasında çalışan bir web sunucusu için gelen tüm trafiği 192.168.0.100 IP adresine sahip bir makineye iletir.
bu -P seçeneği protokolü belirtir (bu durumda TCP'dir).
bu –dport seçeneği hedef bağlantı noktasını belirtir (bu durumda bağlantı noktası 80'dir).
bu -J seçeneği, kuralın koşulları sağlandığında yapılacak eylemi belirtir.
bu –hedefe seçeneği, gelen trafiği alması gereken makine veya hizmetin IP adresini ve port numarasını belirtir.
Adım 4: Yönlendirme için Ana Iptables'a Kural Ekleme
Bir zincir oluşturmanın ve zincire bir kural eklemenin yanı sıra, gelen trafiğin yeni zincire iletilebilmesi için ana iptables INPUT zincirine de bir kural eklemeniz gerekir.
Ana iptables'a bir kural eklemek için aşağıdaki komutu çalıştırın:
$ sudo iptables -A GİRİŞ -P tcp --dport 80 -J < zincir adı > Not :
bu -A seçeneği, yeni kuralın INPUT zincirinin sonuna eklenmesi gerektiğini belirtir. bu -P seçeneği protokolü belirtir (bu durumda TCP'dir).
bu –dport seçeneği hedef bağlantı noktasını belirtir (bu durumda bağlantı noktası 80'dir).
bu -J seçeneği, bu durumda trafiği 2. adımda oluşturduğunuz yeni zincire iletmek olan kuralın koşulları karşılanırsa gerçekleştirilecek eylemi belirtir.
Adım 5: Yapılandırmayı Kaydetme
Cihazınızı bir sonraki açışınızda kuralların sıfırlanmaması için yeni bağlantı noktası yönlendirme kuralları yapılandırmasını kaydetmeniz gerekir.
Yapılandırmayı kaydetmek için aşağıdaki komutu çalıştırın:
$ sudo iptables-kaydet > / vesaire / iptables / kurallar.v46. Adım: Yeni Yapılandırmayı Test Etme
Doğru çalıştığından emin olmak için bağlantı noktası yönlendirme yapılandırmasını test etmek önemlidir. Ağdaki başka bir makineden veya internetten hizmete bağlanmayı deneyerek yapılandırmayı test edebilirsiniz.
Yapılandırma düzgün çalışıyorsa, belirtilen bağlantı noktası numarası ve protokolü kullanarak hizmete bağlanabilmelisiniz.
Çözüm
Port yönlendirme, gelen trafiğin belirli bir makineye veya hizmete yönlendirilmesine izin veren kullanışlı bir tekniktir. Linux tabanlı bir sistemde iptables kullanarak, gelen trafiğin uygun makine veya hizmete iletilmesini sağlayan port yönlendirme kurallarını ayarlayabilirsiniz.
Bir zincir oluşturma, zincire bir kural ekleme, ana GİRİŞ zincirine bir kural ekleme, yapılandırmayı kaydetme ve yapılandırmayı test etme dahil olmak üzere iptables ile bağlantı noktası iletmeyle ilgili temel adımları tartıştık. Bu adımları takip ederek Linux tabanlı sisteminizde port yönlendirmeyi kurabilir ve gelen trafiğin uygun makine veya servise yönlendirilmesini sağlayabilirsiniz.