Linux IPtables Çıkış IP Adresi Seçme
Linux IPtables Çıkış IP Adresi Seçme
Linux IPtables'de çıkış IP adresi seçme, bir sunucuda birden fazla ağ arabirimi veya IP adresi olduğunda belirli bir çıkış IP adresiyle trafiği yönlendirme işlemidir. Bu durum, özellikle sunucuların birden fazla ağ bağlantısına sahip olduğu ve belirli bir IP adresinden çıkış yapması gereken senaryolarda yararlıdır. Aşağıda, bu işlemi nasıl yapabileceğinizi açıklayan adımlar bulunmaktadır:
1. IP Kaynak Adresini Ayarlama
iptables
ile belirli bir çıkış IP adresi belirlemek için SNAT
(Source NAT) ya da MASQUERADE
kullanılabilir. Aşağıda her iki yöntem açıklanmıştır:
a. SNAT Kullanımı
SNAT (Source Network Address Translation), belirli bir IP adresini kaynak IP adresi olarak belirlemenize olanak tanır. Örneğin, bir sunucu üzerindeki tüm çıkış trafiğinin 192.168.1.100 IP adresi üzerinden çıkmasını istiyorsanız, aşağıdaki kuralı kullanabilirsiniz:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.100
Burada:
-t nat
: NAT (Ağ Adres Çevirisi) tablosunu kullanır.-A POSTROUTING
: Çıkış öncesi NAT işlemi yapılacağını belirtir.-o eth0
: Çıkış arayüzünü (örneğin,eth0
) belirtir.--to-source
: Çıkış kaynağı IP adresini belirler.
b. MASQUERADE Kullanımı
MASQUERADE, dinamik IP adresleriyle çalışan sistemler için uygun bir SNAT yöntemidir. Örneğin, DHCP ile alınan bir IP adresi varsa, MASQUERADE kullanarak IP adresini otomatik olarak seçebilirsiniz:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Bu kural, eth0
arabiriminden çıkış yapan tüm paketlerin kaynak IP adresini otomatik olarak dış IP'ye çevirir.
2. Belirli Trafiğe Özel Çıkış IP Adresi Ayarlama
Belirli bir IP veya port üzerinden gelen trafik için farklı bir çıkış IP adresi kullanmak istiyorsanız, kuralı o trafiğe göre özelleştirebilirsiniz. Örneğin, belirli bir iç IP'den (192.168.1.50) gelen trafik için farklı bir IP adresi üzerinden çıkış yapmak için şu kuralı ekleyebilirsiniz:
iptables -t nat -A POSTROUTING -s 192.168.1.50 -o eth0 -j SNAT --to-source 192.168.1.101
Bu kuralda:
-s 192.168.1.50
: Kaynak IP adresini 192.168.1.50 olarak belirler.--to-source 192.168.1.101
: 192.168.1.101 IP'si üzerinden çıkış yapılmasını sağlar.
3. IPtables Kurallarını Kalıcı Yapma
Yukarıdaki kurallar yalnızca sistem yeniden başlatıldığında kaybolur. Kuralları kalıcı yapmak için, iptables kurallarını /etc/iptables/rules.v4
dosyasına kaydedebilir veya iptables-persistent gibi bir araç kullanabilirsiniz:
sudo apt install iptables-persistent
sudo netfilter-persistent save