Mertcan GÖKGÖZ
Takip Et
Linux Hacısı, Sistem Uzmanı
· 1 dak. Okunur

iptables ile NAT'ın Adım Adım Yapılandırılması

Sistemin bir ağ geçidi görevi görebilmesi ve bir yerel ağdaki birden çok ana bilgisayara tek bir ortak IP adresi kullanarak internet erişimi sağlayabilmesi için, iptables kurallarına sahip bir Linux sisteminde ağ adresi çevirisinin (NAT) nasıl yapılacağını adım adım göstermeye çalışacağım.

Sistemlerinize göre Interface'de nasıl IP sabitleniri anlatmayacağım. Ayrıca NAT yapabilmeniz için birden çok interfaces'inizin olması gerekiyor. Ben yazıyı anlatırken çift interface kullanarak kendime bir router yapıyordum.

Kablonet kullandığım için Modemi köprü moduna alarak interfaceslerin birini DHCP moda aldım ve ISP'nin kullanmış olduğu DHCP sunucusu(178.233.140.66) üzerinden İp adresimi cihaz üzerine alabildim.

  • eth0: Köprü modundaki interfaces
  • eth1: İnternet erişimini dağıtacağımız adres(iç bacağımız)

Ayrıca Sabit IP adresim olduğu için kullandığım cihaza tekrar sabit ip adresimin eklenebilmesi için ISP tarafında MAC adress sabitleme işlemi gerçekleştirdim.

Şimdi güvenlik duvarında eski ayarlamalardan kalan tüm yönlendirme ve ayarları kaldıracağım. Zincirleme yaptığım tüm bağlantıları, yönlendirmeleri ve açık portları kapatıyorum.

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain

Şimdi İnterfacesler arası yönlendirme işlemini yapacağım. Trafiği direk olarak interneti dağıtacağım interfaces üzerine yönlendiriyorum.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

NAT işlemini yukarıdaki gibi gerçekleştirip interfacesler arasındaki ilişkiyide sağladık. Sıra geldi yönlendirme ayarlarının yapılmasına kernel tarafında yapılacak olan bu ayarlamalar için şu şekilde bir aksiyon yapabilirsiniz.

sudo nano /etc/sysctl.conf

İçerisinde aşağıdaki satırları bulup başlarındaki # kaldırın.

net.ipv4.conf.default.forwarding=1

IPv6 ihtiyacınız varsa ona göre bir alt satırda bulunan IPv6 komutunuda aktif edin. Bu işlem geçerli olabilmesi için sudo sysctl -p komutunuda veriyorsunuz.

Tüm işlemler tamamlandı artık eth0 dan gelen interneti eth1 interfacesi üzerinden dağıtabiliyoruz.

dipnot: ISP kısıtlamalarından dolayı bazı modemlerde köprü modu bulunmamaktadır.