IPv4 portundan IPv6 portuna yönlendirme ayarlamanız gerekiyorsa, socat
kullanacağız.
IPv6'nın zaten yapılandırılmış ve çalıştığı varsayılır. Bunu Linux'ta
ping6 <domain>
komutu veya Windows'taping -6 <domain>
komutu ile kontrol edebilirsiniz.
Nadir durumlarda, ping çalışsa da gerçekte trafik akışı olmayabilir. Linux ve Windows için
curl --ipv6 -k -I https://ipv6.google.com
komutunu kullanarak bağlantıyı ek olarak kontrol edebilirsiniz (Windows'ta cmd'decurl
yoksa PowerShell'i açın).
Diyelim ki IPv4'teki 443 portunu IPv6'daki 4445 portuna yönlendirme görevimiz var.
1. Socat Kurulumu
apt install socat
2. Port Yönlendirme
socat TCP6-LISTEN:4445,fork,reuseaddr TCP4:127.0.0.1:443
443 portunun yerel olarak erişilebilir olduğundan emin olun veya harici bir IP ile değiştirin.
telnet 127.0.0.1 443
2.1 Doğrulama
telnet <ipv6> 4445
3. Servis Oluşturma
Şimdi, yeniden başlatma sonrası yönlendirmenin otomatik olarak devam etmesi için bir servis dosyası oluşturacağız. Ayrıca nginx
servisinin bizim komutumuzdan önce başlatılmasını sağlayacağız.
nano /etc/systemd/system/socat-portforward.service
[Unit]
Description=Socat IPv6'dan IPv4'e Port Yönlendirme
After=network.target
After=nginx.service
Requires=nginx.service
[Service]
ExecStart=/usr/bin/socat TCP6-LISTEN:4445,fork,reuseaddr TCP4:127.0.0.1:443
Restart=always
RestartSec=3
User=root
Group=root
KillMode=process
[Install]
WantedBy=multi-user.target
3.1 Servisi Durdurma
Ctrl + C
tuşlarına basın veya &
ile çalıştırdıysanız:
killall socat
3.2 Servis Olarak Başlatma
systemctl daemon-reload
systemctl enable --now socat-portforward
systemctl status socat-portforward
3.3 Başlatma Sırası
Doğru başlatma sırasını sağlamak için [Unit]
bölümüne aşağıdaki satırları ekledik:
After=nginx.service
Requires=nginx.service
Tamamlandı! Bu komut, çeşitli konfigürasyonlarda port yönlendirme ayarlamak için kullanılabilir.