Linux sunucu üzerinde NAT işlemi yapmak için aşağıdaki adımları sırasıyla izliyoruz.
Sunucumuzda 2 interface olduğunu düşünelim. ens160 olarak gördüğümüz public IP’nin olduğu interface, yani dış bacak interface’i. ens192 olarak görmüş olduğunuz interface ise private block. NAT’lanacak olan interface. Yapacağımız işlem sonrasında 10.100.0.0 network’ü üzerinde olan bir client dış dünyaya 10.10.10.10 IP’si ile çıkış yapacak.
Sunucu üzerindeki interface’leri aktif ettikten sonra host dosyasını aşağıdaki gibi düzeltiyoruz. Aşağıyı sunucu hostname’ine göre düzenleyebilirsiniz. Ben örnek olarak ubnt1.localhost olarak düzenledim.
1 2 |
vi /etc/hosts 127.0.0.1 ubnt1.localhost.localdomain localhost |
Bu işlem sonrasında makina üzerinde DNS ayarlarını yapıyoruz.
1 2 |
vi /etc/resolv.conf nameserver 8.8.8.8 |
Bu işlemleri tamamladıktan sonra aşağıdaki iptables kurallarını girip sonrasında iptables servisini stop/start yapmamız yeterli.
1 2 3 4 5 6 7 8 9 |
iptables --flush iptables --table nat --flush iptables --delete-chain iptables --table nat --delete-chain iptables --table nat --append POSTROUTING --out-interface ens160 -j MASQUERADE iptables --append FORWARD --in-interface ens192 -j ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward service iptables restart(Centos) service ufw stop/start (Ubuntu) |
Girmiş olduğumuz iptables kuralları sunucu restart sonrasında silinecektir. Kalıcı olması için aşağıdaki işlemleri yapmanız gerekiyor.
1 |
apt-get install iptables-persistent -y |
iptables-persistent’ı kurduktan sonra aşağıdaki komut ile birlikte girmiş olduğumuz iptables kurallarını kaydediyoruz. (bu komut girmiş olduğumuz kuralları kaydeder.)
1 |
iptables-save > /etc/iptables/rule.v4 |
Aşağıdaki komut ise mevcutta kaydedilmiş bir kural dizini var ise o dizin listesinden iptables’ı restore eder.
1 |
iptables-restore < /etc/iptables/rule.v4 |
tüm bu işlemler sonrasında ens192 arkasında olan client üzerinden internet erişimi sağlıklı şekilde sağlanacaktır.
Kolay Gelsin.