İçindekiler
- 1 VPS sunucunuzda IPv6 kullanmaya neden hemen başlamalısınız
- 2 IPv6 temelleri: VPS özelinde bilmeniz gerekenler
- 3 Hazırlık: Sunucuda IPv6 desteğini ve ağ arabirimini kontrol etmek
- 4 Debian ve Ubuntu sunucularda IPv6 yapılandırması
- 5 AlmaLinux, Rocky Linux ve CentOS türevlerinde IPv6 yapılandırması
- 6 IPv6 ile bağlantı testleri ve doğrulama adımları
- 7 Güvenlik duvarı: IPv6 trafiğini kontrol altına almak
- 8 DNS tarafı: AAAA kaydı, ters kayıtlar ve testler
- 9 Web sunucusunda IPv6 dinleme ayarları
- 10 Gelişmiş senaryo: IPv6-only VPS ve NAT64/DNS64
- 11 Tipik sorunlar ve pratik çözüm önerileri
- 12 Operasyonel öneriler: IPv6’yı ek yük değil, rahatlık haline getirmek
- 13 Sonuç: IPv6’yı bugün devreye almak, yarınki ağ mimarinizi sadeleştirir
VPS sunucunuzda IPv6 kullanmaya neden hemen başlamalısınız
IPv4 adresleri fiilen tükendi, fiyatları sürekli artıyor ve birçok operatör artık yeni nesil ağları yalnızca IPv6 üzerinden tasarlıyor. Eğer bugün bir VPS üzerinde proje hayata geçiriyorsanız, ağ mimarinizi planlarken IPv6 destekli bir altyapıyı işin başında devreye almanız uzun vadede hem maliyet hem de operasyonel rahatlık kazandırıyor. Özellikle e-ticaret, SaaS, oyun sunucusu, API hizmetleri gibi ölçeklenmeye açık projelerde bir süre sonra IP adresi yönetimi ve ağ tasarımı, performans kadar kritik hale geliyor.
DCHost tarafında gördüğümüz en yaygın senaryo şu: Elde tek bir IPv4 adresi var, ama onlarca sistem, mikroservis, test ortamı ve staging sunucusu açılıyor. Her yeni ihtiyaçta NAT, reverse proxy ve karmaşık yönlendirme kuralları birikiyor. Oysa aynı iş yükü, doğru kurgulanmış bir IPv6 blok ile çok daha sade, okunabilir ve sürdürülebilir hale gelebiliyor. Bu rehberde, VPS sunucunuzda IPv6 adresini nasıl etkinleştireceğinizi, Linux tarafındaki temel yapılandırma dosyalarını, güvenlik duvarı ve DNS ayarlarını, adım adım ve gerçek dünyada işe yarar örneklerle anlatacağız.
Eğer IPv6 kavramına genel bir bakış da görmek istiyorsanız, önce IPv6 kaynaklarının ve neden bu kadar önemli olduğunun anlatıldığı IPv6 benimseme oranları ve etkileri yazımıza da göz atabilirsiniz.
IPv6 temelleri: VPS özelinde bilmeniz gerekenler
IPv4 ile IPv6 arasındaki temel farklar
İşin teorisine derin dalmadan, VPS yöneten biri olarak pratikte sizi ilgilendiren birkaç kritik farkı netleştirelim:
- Adres uzunluğu: IPv4 32 bit, IPv6 ise 128 bittir. IPv4 adresi 1.2.3.4 gibi görünürken, IPv6 adresi 2001:db8:abcd:1::10 formatındadır.
- Adres sayısı: IPv6, pratikte tükenmeyecek kadar büyük bir adres uzayı sunar. Tek bir /64 blokta, tüm global IPv4 uzayından çok daha fazla adres bulunur.
- NAT yerine uçtan uca erişim: IPv6 ile çoğu senaryoda NAT gerekmez. Her sunucu, global olarak yönlenebilir bir adrese sahip olur. Bu hem konfigürasyonu sadeleştirir hem de bazı protokollerin daha sağlıklı çalışmasını sağlar.
- Yerleşik güvenlik ve ek özellikler: IPSec, SLAAC (otomatik adres atama), daha gelişmiş multicast gibi özellikler doğrudan protokolün parçasıdır.
IPv6 mimarisi, uzun vadede ağınızı sadeleştirmenize yardımcı olur. IPv4 kıtlığı ve fiyatlar hakkında daha ayrıntılı bir tablo görmek isterseniz, IPv4 adres fiyatlarının neden rekor kırdığını anlattığımız yazı da bu rehbere güzel bir arka plan sağlayacaktır.
VPS bağlamında IPv6 nasıl tahsis edilir
Çoğu ciddi altyapıda olduğu gibi, DCHost VPS sunucularında da IPv6 desteği ağ katmanında hazırdır. Genel olarak üç senaryo görürsünüz:
- Tek bir IPv6 adresi: VPS arabiriminize sadece 1 adet global IPv6 adresi atanır.
- /64 blok tahsisi: size 2001:db8:abcd:1234::/64 gibi bir ağ bloğu verilir, bu blok içinden istediğiniz kadar adresi VPS üzerinde kullanabilirsiniz.
- Routed subnet (yönlendirilmiş alt ağ): IPv6 bloğu doğrudan VPS arayüzüne değil, VPS’e yönlendirilmiş bir alt ağ olarak tanımlanır. Bu durumda ek yönlendirme ve / ya alt arayüzler kullanılır.
VPS panelinizde veya DCHost müşteri panelinde göreceğiniz bilgiler genelde şunlar olur:
- IPv6 adresiniz (veya adres aralığınız)
- Prefix uzunluğu, örneğin /64
- IPv6 ağ geçidi (gateway)
- Varsa yönlendirilmiş subnet bilgisi
Kuruluma başlamadan önce bu bilgileri netleştirmek, yapacağınız tüm konfigürasyonun temelini oluşturur.
Hazırlık: Sunucuda IPv6 desteğini ve ağ arabirimini kontrol etmek
Çekirdek ve sistemde IPv6 modülünü kontrol etmek
Modern Linux dağıtımlarının neredeyse tamamında IPv6 çekirdek modülü hazır gelir. Yine de devre dışı bırakılmamış olduğundan emin olmak faydalıdır:
lsmod | grep ipv6
Herhangi bir çıktı görmüyorsanız, modül dinamik olarak yüklenmemiş olabilir, ama bu çoğu zaman bir sorun değildir. Önemli olan, sistemin IPv6 yığını devre dışı bırakılmamış olmasıdır. Aşağıdaki satırlar varsa IPv6 tamamen kapalı olabilir:
grep ipv6 /etc/sysctl.conf /etc/sysctl.d/* 2>/dev/null
Şuna benzer bir satır görürseniz:
net.ipv6.conf.all.disable_ipv6 = 1
bunu 0 olarak değiştirip aşağıdaki komutu çalıştırabilirsiniz:
sysctl -p
Ağ arabirimini ve mevcut adresleri listelemek
Yeni nesil komut ip ile arabirimlerinizi ve adreslerinizi görebilirsiniz:
ip -br a
Beklenen çıktı kabaca şöyle görünür:
eth0 UP 203.0.113.10/24 2001:db8:abcd:1::10/64
Eğer IPv6 adresi yoksa, bir sonraki bölümde işletim sisteminize göre elle ekleyeceğiz.
Debian ve Ubuntu sunucularda IPv6 yapılandırması
DCHost müşterilerinin yoğun olarak kullandığı iki aile, Debian ve Ubuntu. Son yıllarda her iki dağıtımda da netplan standart hale geldi, ancak eski sürümlerde ifupdown altyapısıyla /etc/network/interfaces dosyasını da görebilirsiniz.
Netplan kullanılan sistemlerde (Ubuntu 18.04 ve sonrası, Debian yeni sürümler)
Tipik bir yapılandırma dosyası /etc/netplan/01-netcfg.yaml şeklinde olur. Mevcut dosyayı yedekleyerek başlayın:
cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
Daha sonra bir metin düzenleyici ile açın:
nano /etc/netplan/01-netcfg.yaml
Örnek bir IPv4 + IPv6 statik yapılandırma şöyle olabilir:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 203.0.113.10/24
- 2001:db8:abcd:1::10/64
gateway4: 203.0.113.1
gateway6: 2001:db8:abcd:1::1
nameservers:
addresses:
- 203.0.113.53
- 2001:4860:4860::8888
Buradaki IPv6 adresi, prefix uzunluğu ve gateway değerlerini mutlaka DCHost panelinizde size tahsis edilmiş bilgilerle değiştirin. Ardından konfigürasyonu uygulayın:
netplan apply
Uygulandıktan sonra arabirimi tekrar kontrol edin:
ip -6 addr show dev eth0
Adresiniz listeleniyorsa ilk adımı tamamladınız.
Eski ifupdown yapısında /etc/network/interfaces ile IPv6
Daha eski Debian veya netplan devre dışı bırakılmış sistemlerde yapılandırma, /etc/network/interfaces dosyasından yönetilir. Basit bir örnek:
auto eth0
iface eth0 inet static
address 203.0.113.10
netmask 255.255.255.0
gateway 203.0.113.1
iface eth0 inet6 static
address 2001:db8:abcd:1::10
netmask 64
gateway 2001:db8:abcd:1::1
Değişiklikten sonra arabirimi yeniden başlatabilirsiniz:
ifdown eth0 && ifup eth0
Bu komut uzaktan bağlantıyı kısa süreliğine keseceğinden, mümkünse seri konsol veya DCHost panelinizdeki VNC konsolunu açık tutmanız iyi olur. Alternatif olarak sunucuyu yeniden başlatmak da tercih edilebilir.
AlmaLinux, Rocky Linux ve CentOS türevlerinde IPv6 yapılandırması
RHEL tabanlı dağıtımlarda ağ yapılandırması genelde NetworkManager tarafından yönetilir. Eski nesil ifcfg dosyaları hâlâ kullanılsa da, modern ve tekrarlanabilir bir kurulum için nmcli komut satırı aracı daha güvenilir bir yoldur.
Mevcut bağlantıyı nmcli ile listelemek
nmcli con show
Çıktıda genellikle eth0 veya ens3 gibi bir bağlantı görürsünüz. Örneğin adı ‘ens3’ olsun. IPv6 adresi eklemek için:
nmcli con mod ens3 ipv6.method manual
ipv6.addresses 2001:db8:abcd:1::10/64
ipv6.gateway 2001:db8:abcd:1::1
nmcli con up ens3
DNS sunucularını da IPv6 ile tanımlamak isterseniz:
nmcli con mod ens3 ipv6.dns '2001:4860:4860::8888,2001:4860:4860::8844'
Ardından:
nmcli con up ens3
ile bağlantıyı tekrar etkinleştirebilirsiniz.
ifcfg dosyaları ile klasik yapılandırma
Eski nesil sistemlerde veya NetworkManager devre dışı bırakılmış sunucularda /etc/sysconfig/network-scripts/ifcfg-eth0 gibi dosyalar görebilirsiniz. Örneğin:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=203.0.113.10
PREFIX=24
GATEWAY=203.0.113.1
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR=2001:db8:abcd:1::10/64
IPV6_DEFAULTGW=2001:db8:abcd:1::1
Bu dosyayı kaydettikten sonra:
systemctl restart network
veya NetworkManager kullanıyorsanız:
nmcli con reload && nmcli con up eth0
komutlarıyla değişiklikleri devreye alabilirsiniz.
IPv6 ile bağlantı testleri ve doğrulama adımları
Temel ICMP testleri: ping ve traceroute
İlk olarak ağ geçidiniz ile konuşabildiğinizden emin olun:
ping6 -c 4 2001:db8:abcd:1::1
Bu başarılıysa, global ağdaki bir IPv6 adresine ping atmayı deneyin:
ping6 -c 4 2606:4700:4700::1111
Hâlâ sorun yaşıyorsanız, rota tablosunu kontrol edin:
ip -6 route
Şuna benzer bir satır görmeniz gerekir:
default via 2001:db8:abcd:1::1 dev eth0
DNS ve HTTP üzerinden IPv6 testi
Sunucudan dışarıya sadece HTTP üzerinden erişebiliyor musunuz, bunu test etmek için:
curl -6 https://ipv6.google.com
Veya IPv6 ile AAAA kaydı çözebildiğinizi doğrulamak için:
dig AAAA www.dchost.com
Çıktıda en az bir IPv6 adresi görünüyorsa DNS tarafı da sağlıklı çalışıyor demektir.
Tarayıcıdan dışarıdan test
Sunucunuzda IPv6 yapılandırmasını yaptıktan sonra, istemci tarafında da IPv6 ile erişimin sorunsuz olduğunu görmek için test-ipv6.com gibi basit test sitelerini kullanabilirsiniz. Ancak asıl önemli olan, kendi alan adınızı AAAA kaydı ekledikten sonra IPv6 üzerinden açılıp açılmadığını test etmektir. Bu kısmı, DNS bölümünde adım adım ele alacağız.
Güvenlik duvarı: IPv6 trafiğini kontrol altına almak
IPv6 ile birlikte sunucunuz aslında doğrudan global internete açılmış olur. Bu, NAT arkasında kaybolan birçok farklı portun artık tek tek görünür olduğu anlamına gelir. Bu yüzden IPv6 yapılandırması yaparken mutlaka güvenlik duvarı kurallarınızı da güncellemeniz gerekir.
UFW kullanan sistemlerde IPv6 desteğini açmak
Ubuntu sunucularda sık gördüğümüz UFW için önce yapılandırma dosyasını kontrol edin:
nano /etc/default/ufw
Şu satırın:
IPV6=yes
olduğundan emin olun. Değilse yes yapıp kaydedin. Ardından temel kuralları hem IPv4 hem IPv6 için tanımlayabilirsiniz:
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Bu kurallar hem IPv4 hem IPv6 için geçerli olacaktır.
nftables ile tek tabloda IPv4 + IPv6 yönetimi
Yeni Linux dağıtımlarında nftables, iptables yerine varsayılan hale geldi. Tek bir kural seti ile hem IPv4 hem IPv6 trafiğini yönetebilmek büyük konfor sağlıyor. nftables ile detaylı bir güvenlik duvarı kurmak istiyorsanız, özellikle IPv6 kurallarını da kapsayan nftables ile VPS güvenlik duvarı rehberine mutlaka göz atın.
Basit bir örnek kural seti şu şekilde olabilir:
table inet filter {
chain input {
type filter hook input priority 0;
policy drop;
ct state established,related accept
iif lo accept
tcp dport { 22,80,443 } accept
ip6 nexthdr icmpv6 accept
}
}
Burada inet tablosu kullanıldığı için hem IPv4 hem IPv6 trafiği aynı zincirden geçer.
DNS tarafı: AAAA kaydı, ters kayıtlar ve testler
Alan adınıza AAAA kaydı eklemek
IPv6 ile sitenizi yayınlamanın en kritik adımı, DNS tarafına doğru AAAA kayıtlarını eklemektir. Temel mantık basit:
- A kaydı IPv4 adresine işaret eder.
- AAAA kaydı IPv6 adresine işaret eder.
Örneğin:
example.com. 300 IN A 203.0.113.10
example.com. 300 IN AAAA 2001:db8:abcd:1::10
DNS yönetimini DCHost üzerinden yapıyorsanız, DNS panelinde aynı host adı için hem A hem AAAA kaydı oluşturabilirsiniz. Eğer DNS stratejinizle ilgili daha kapsamlı bir plan yapmak istiyorsanız, DNS kayıt tiplerini ve doğru kullanım senaryolarını anlattığımız DNS kayıtları A’dan Z’ye rehberini incelemenizi öneririz.
IPv6 için ters DNS (rDNS) ve e-posta altyapısı
Sadece web sitesi değil, e-posta sunucusu da IPv6 üzerinden servis verecekse, PTR (ters DNS) kaydı da büyük önem kazanır. Birçok alıcı MTA, IPv6 üzerinden gelen bağlantılarda ters kaydı titizlikle kontrol eder. E-posta tarafında IPv6 ile nelerin değiştiğini, hangi tuzaklardan kaçınmanız gerektiğini ve PTR, HELO, SPF gibi ayarların pratikte nasıl kurulduğunu anlattığımız IPv6 ile e-posta teslimi rehberi bu konuda detaylı bir saha kılavuzu görevi görüyor.
Özetle:
- Her kritik IPv6 adresiniz için ters kayıt tanımlayın.
- PTR ismi ile SMTP sunucunuzun HELO/EHLO çıktısının tutarlı olduğundan emin olun.
- SPF kayıtlarınıza IPv6 adres veya bloklarınızı da ekleyin.
Web sunucusunda IPv6 dinleme ayarları
Nginx üzerinde IPv6 dinleme
Birçok Nginx yapılandırmasında sadece IPv4 için listen 80; gibi bir satır görürsünüz. IPv6 için ek olarak şunları tanımlamalısınız:
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/html;
}
Benzer şekilde HTTPS için de:
listen 443 ssl http2;
listen [::]:443 ssl http2;
satırlarını eklemeyi unutmayın. Ardından Nginx yapılandırmasını test edip yeniden yükleyin:
nginx -t
systemctl reload nginx
Apache üzerinde IPv6 dinleme
Apache tarafında öncelikle ports.conf dosyasında IPv6 dinleme satırını kontrol edin:
Listen 80
Listen [::]:80
VirtualHost tanımlarında da şuna benzer bir yapı kullanılabilir:
<VirtualHost *:80 [::]:80>
ServerName example.com
DocumentRoot /var/www/html
</VirtualHost>
Değişiklik sonrası Apache servisini yeniden yüklemeyi unutmayın:
apachectl configtest
systemctl reload httpd # veya apache2
Gelişmiş senaryo: IPv6-only VPS ve NAT64/DNS64
Bazı modern altyapılarda, maliyet ve adres verimliliği nedeniyle VPS’ler yalnızca IPv6 adresi ile sağlanabiliyor ve IPv4 dünyasına NAT64/DNS64 gibi mekanizmalar üzerinden köprü kuruluyor. Eğer siz de tamamen IPv6-only bir mimariyi düşünüyorsanız, hem uygulama uyumluluğu hem de dış dünyaya erişim açısından farklı tasarım kararları almanız gerekir.
Bu konuyu adım adım, örnek konfigürasyonlarla anlattığımız IPv6-only VPS üzerinde web sitesi yayınlama rehberi, IPv6 kurulum rehberimizin doğal bir devamı niteliğindedir. Bu yazıda anlattığımız temel yapı taşlarını önce klasik dual-stack (IPv4 + IPv6) modelinde kurup, ardından IPv6-only dünyaya geçmek çoğu zaman en sorunsuz yol olur.
Tipik sorunlar ve pratik çözüm önerileri
Sunucuda IPv6 var, dışarı çıkıyor; ama site IPv6 ile açılmıyor
Bu durumda genelde üç ihtimal vardır:
- AAAA kaydı eksik: Alan adınızda sadece A kaydı vardır, AAAA kaydı yoktur.
- Web sunucusu IPv6 üzerinde dinlemiyor: Nginx veya Apache konfigürasyonunuzda IPv6 listen satırları eksiktir.
- Güvenlik duvarı IPv6 trafiğini engelliyor: UFW veya nftables kurallarınızda 80/443 portları IPv6 için açık değildir.
Bu üç noktayı kontrol ettikten sonra genelde sorun hızlıca çözülür.
Ping6 çalışıyor ama bazı IPv6 sitelerine erişemiyorum
Burada akla ilk gelen sorunlar:
- IPv6 için DNS sunucularınız düzgün tanımlanmamış olabilir.
- Varsayılan IPv6 rotanız eksik veya yanlış olabilir.
- Upstream tarafta (veri merkezi çıkışında) geçici bir yönlendirme problemi olabilir.
Önce ip -6 route ve resolv.conf içeriğini kontrol edin. Ardından sadece IPv6 kullanarak curl -6 ile doğrudan IP adresine istek atıp DNS kaynaklı mı, yönlendirme kaynaklı mı olduğunu ayırabilirsiniz.
IPv6 ile güvenlik kaygıları: NAT yoksa sunucum daha mı savunmasız
IPv6, NAT olmadan uçtan uca çalıştığı için birçok kişi ilk bakışta kendini daha savunmasız hissedebiliyor. Gerçekte ise güvenlik, NAT’ten çok daha fazla güvenlik duvarı ve doğru servis sınırlandırması ile ilgilidir. Doğru kurgulanmış bir nftables veya UFW yapılandırması, IPv6’da da en az IPv4 kadar sağlam bir dış kabuk sağlar. Güvenlik mimarinizde IPv6’yı hesaba katmak, güncel siber tehditlere karşı koymanın da doğal bir parçası. Bu bağlamı daha geniş açıdan görmek isterseniz, siber güvenlik tehditlerinde artış ve sunucu tarafı önlemler yazımızı da okumanızı öneririz.
Operasyonel öneriler: IPv6’yı ek yük değil, rahatlık haline getirmek
Adres planlaması ve dokümantasyon
IPv6 dünyasında çok büyük bloklara sahip olmak, adresleri rastgele dağıtabileceğiniz anlamına gelmiyor. Özellikle birden fazla VPS, staging ve prod ortamları, farklı veri merkezleri işin içine girdiğinde, basit ama tutarlı bir adres planı işinizi ciddi şekilde kolaylaştırır. Örneğin:
- 2001:db8:abcd:10::/64 bloğunu prod web sunucularına
- 2001:db8:abcd:20::/64 bloğunu veritabanlarına
- 2001:db8:abcd:30::/64 bloğunu staging ortamına
ayırmak, log analizi ve sorun giderme sırasında hızlıca hangi sunucunun ne iş yaptığını anlamanızı sağlar.
Monitoring ve loglarda IPv6 görünürlüğü
IPv6’yı devreye aldıktan sonra, izleme ve loglama sistemlerinizin de IPv6 adresleriyle uyumlu olduğundan emin olun. Özellikle firewall logları, web sunucusu erişim logları ve IDS/IPS sistemlerinde IPv6 formatındaki adreslerin doğru parse edildiğini, dashboard ve alarm kurallarının bu adresleri tanıyabildiğini test etmek gerekir. DCHost olarak VPS izleme, merkezi loglama ve uyarı mekanizmalarını ele aldığımız VPS izleme ve uyarı rehberinde bu konuları daha geniş çerçevede işliyoruz.
Sonuç: IPv6’yı bugün devreye almak, yarınki ağ mimarinizi sadeleştirir
Bugün elinizde çalışan bir VPS, üstünde de sorunsuz dönen bir proje varsa, IPv6’yı çoğu zaman acil bir ihtiyaç gibi görmeyebilirsiniz. Ama IPv4 adres maliyetlerinin ve karmaşıklığının nereye gittiğini yıllardır yakından izliyoruz: her yıl biraz daha pahalı, her yıl biraz daha kısıtlı ve her yıl biraz daha çok NAT, proxy ve ara katman gerektiriyor. IPv6’yı erken benimseyen ekipler ise tam tersini yaşıyor; basitleşen ağ politikaları, daha öngörülebilir bağlantı senaryoları ve büyüdükçe rahatlayan bir adres alanı.
Bu rehberde, DCHost üzerindeki tipik bir VPS senaryosunu temel alarak IPv6 adresini nasıl tanımlayacağınızı, Debian, Ubuntu, AlmaLinux gibi yaygın dağıtımlarda ağ yapılandırmasını nasıl yapacağınızı, güvenlik duvarı ve DNS tarafında hangi ayarları ihmal etmemeniz gerektiğini adım adım anlattık. Şimdi atabileceğiniz en pratik adım, mevcut VPS’inize IPv6 adresi tanımlatıp burada anlattığımız kontrolleri sırasıyla uygulamak. Yeni bir proje planlıyorsanız, doğrudan IPv4 + IPv6 dual-stack tasarlayarak gelecekteki geçiş derdini bugünden ortadan kaldırabilirsiniz.
IPv6 destekli VPS, dedicated sunucu veya colocation altyapısına ihtiyacınız varsa, DCHost ekibiyle iletişime geçerek projenize uygun, ölçeklenebilir ve sürdürülebilir bir IP adres planı kurgulamak için birlikte yol haritası çıkarabiliriz.
