r00ts
Hectopat
Daha fazla
- Cinsiyet
- Erkek
Adım 1: Nginx'i yüklemek
İlk olarak, Nginx'i sisteminize kurmanız gerekiyor. Bunun için terminal üzerinden aşağıdaki komutu çalıştırabilirsiniz:
Kod:
sudo apt update.
sudo apt install nginx
Bu komut, Nginx'i sisteminize kurar.
Adım 2: Nginx'i TCP proxy olarak yapılandırmak
Nginx varsayılan olarak HTTP (web) ve HTTPS için çalışacak şekilde ayarlanmıştır. Bizim amacımız ise TCP protokolünü yönlendirmek (proxy yapmak). Bunun için Nginx'in 'stream' modülünü kullanacağız. Bu modül, TCP ve UDP trafiğini yönlendirmeye imkan tanır.Stream modülünü etkinleştirme:
1. nginx konfigürasyon dosyasını düzenleme.
- Nginx'in ana konfigürasyon dosyasını düzenlemek için şu komutu kullanın:
Kod:
sudo nano /etc/nginx/nginx.conf
Bu komut, dosyayı açar ve düzenlemeler yapmanıza olanak tanır.
2. stream bloğunu ekleyin.
- Dosyanın içine aşağıdaki gibi bir 'stream' bloğu ekleyin. Bu blok, TCP proxy için yapılandırmayı yapmamıza olanak sağlar.
Kod:
stream {
# TCP Proxy Ayarları.
}
3. stream içine TCP proxy konfigürasyonunu ekleyin.
- 'Stream' bloğu içerisine, Nginx'in TCP trafiğini nasıl yönlendireceğini belirten aşağıdaki konfigürasyonu ekleyin:
Kod:
stream {
upstream backend {
server 192.168.1.10:3306; # Burada bağlantı kurulacak sunucuyu belirtiyoruz.
}
server {
listen 3306; # Nginx, bu port üzerinden gelen TCP bağlantılarını dinleyecek.
proxy_pass backend; # Gelen bağlantıları 'backend' tanımındaki sunucuya yönlendir.
proxy_timeout 10s; # Proxy bağlantısı için zaman aşımı süresi.
proxy_connect_timeout 5s; # Bağlantı kurma süresi.
}
}
- Detaylı açıklama:
- upstream backend: Bu kısım, trafik yönlendireceğimiz sunucuyu tanımlar. Burada '192.168.1.10:3306' IP adresine ve portuna yönlendireceğiz. Bu örnekte MySQL sunucusunu ele aldık, ancak başka bir TCP servisi de olabilir.
- listen 3306: Nginx'in hangi portu dinleyeceğini belirler. Burada '3306' portu seçildi.
- proxy_pass backend: Gelen bağlantıları 'backend' adlı sunucuya yönlendirir.
- proxy_timeout ve proxy_connect_timeout: Proxy için zaman aşımı sürelerini belirler.
4. dosyayı kaydedin ve çıkın.
- Düzenlemeleri yaptıktan sonra dosyayı kaydedin ve çıkın. 'nano' editoründe kaydetmek için 'CTRL + o' tuşlarına basın, ardından çıkmak için 'CTRL + X' tuşlarına basın.
Adım 3: Nginx'i yeniden başlatmak
Yapılandırma dosyasını değiştirdikten sonra, Nginx'i yeniden başlatmanız gerekiyor. Bunun için şu komutu kullanın:
Kod:
sudo systemctl restart nginx
Bu komut, Nginx'in yeni yapılandırma ile çalışmasını sağlar.
Adım 4: Güvenlik duvarını ayarlamak
Eğer sisteminizde bir güvenlik duvarı varsa, Nginx'in dinleyeceği portu açmanız gerekebilir. Bu örnekte, TCP bağlantıları için '3306' portunu açmanız gerekecek:
Kod:
sudo ufw allow 3306/tcp
Eğer başka bir port kullanıyorsanız, o portu açmalısınız.
Adım 5: Proxy'nin çalıştığını test etmek.
Nginx'in TCP proxy olarak doğru çalışıp çalışmadığını test edebilirsiniz. Bu adımda, bir TCP istemcisi kullanarak bağlantıyı test edebilirsiniz. Örneğin, 'NC' (netcat) aracını kullanarak bağlantı testi yapabilirsiniz:
Kod:
nc -zv <sunucu_ip> 3306
Bu komut, '3306' portuna bağlantı testi yapacaktır. Eğer bağlantı başarılıysa, nginx TCP Proxy'nin düzgün çalıştığını anlayabilirsiniz.