LinuxOpen Source

Ubuntu 20.04’te MongoDB için Uzaktan Erişim Nasıl Yapılandırılır

MongoDB kurulumunuza internetten erişilemez. MongoDB’yi aynı sunucuda çalışan uygulamalarla yalnızca yerel olarak kullanmayı düşünüyorsanız, bu önerilen ve güvenli ayardır. Ancak MongoDB sunucunuza uzak bir lokasyondan bağlanabilmek istiyorsanız, yeni bir UFW kuralı ekleyerek veritabanının dinlediği porta gelen bağlantılara izin vermelisiniz.

Komutla MongoDB kurulumunuzun hangi bağlantı noktasını dinlediğini kontrol ederek başlayın lsof. Bu komut genellikle bir sistemdeki her açık dosyanın bulunduğu bir liste döndürür, ancak -iseçenekle birleştirildiğinde yalnızca ağla ilgili dosyaları veya veri akışlarını listeler.

Aşağıdaki komut, tarafından üretilen çıktıyı şu adlı bir dizgiyi arayan lsof -ibir komuta yönlendirecektir :grepmongo

sudo lsof -i | grep mongo

Bu örnek çıktı, MongoDB’nin varsayılan bağlantı noktasındaki bağlantıları dinlediğini gösterir 27017:

Outputmongod    82221         mongodb   11u  IPv4 913411      0t0  TCP localhost:27017 (LISTEN)

Çoğu durumda MongoDB’ye yalnızca, bir uygulamayı barındıran başka bir sunucu veya uzak bir MongoDB örneğini yönetmek için kullanılan yerel bir makine gibi belirli güvenilir konumlardan erişilmelidir. Bunu yapılandırmanın bir yolu, MongoDB sunucunuzda, diğer güvenilir makinenin IP adresine açıkça izin verirken MongoDB’nin varsayılan bağlantı noktasına erişimi açan aşağıdaki komutu çalıştırmaktır.

trusted_machine_ipMongoDB bulut sunucunuza erişmek için kullanacağınız güvenilir uzak bilgisayarın IP adresini değiştirdiğinizden emin olarak aşağıdaki komutu çalıştırın .

Not : Güvenilen makinenin IP adresinden emin değilseniz aşağıdaki curlkomutu çalıştırabilirsiniz. Bu icanhazip.com, komutu çalıştırdığınız makinenin IP adresini döndürecek olan web sitesine erişecektir:

curl -4 icanhazip.com

Ayrıca, önceki komutun çıktısı MongoDB kurulumunuzun varsayılan olmayan bir bağlantı noktasını dinlediğini gösteriyorsa, bu komut yerine o bağlantı noktası numarasını 27017kullanın:

sudo ufw allow from trusted_machine_ip to any port 27017

Gelecekte, başka bir makineden MongoDB’ye erişmek isterseniz, bu komutu trusted_machine_ip.

Güvenlik duvarı ayarlarındaki değişikliği şu şekilde doğrulayabilirsiniz ufw:

sudo ufw status

27017Çıktı , uzak sunucudan bağlantı noktasına giden trafiğe artık izin verildiğini gösterecektir :

OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
27017                      ALLOW       trusted_machine_ip
OpenSSH (v6)               ALLOW       Anywhere (v6)

Ardından, uzaktaki makinenizden erişebilmek için MongoDB’yi sunucunun genel IP adresine bağlayacaksınız.

Adım 2 — Genel bir bindIP yapılandırması

Bu noktada, bağlantı noktası açık olsa bile, MongoDB şu anda 127.0.0.1yerel geridöngü ağ arabirimi olan . Bu, MongoDB’nin yalnızca kurulu olduğu sunucudan kaynaklanan bağlantıları kabul edebileceği anlamına gelir.

/etc/mongod.confUzak bağlantılara izin vermek için, MongoDB’yi güvenilir uzak bilgisayarınız tarafından erişilebilen bir IP adresine ek olarak bağlamak için MongoDB yapılandırma dosyasını — — düzenlemeniz gerekir . Bu şekilde, MongoDB kurulumunuz uzak makinelerden MongoDB sunucunuza yapılan bağlantıları dinleyebilecektir.

MongoDB yapılandırma dosyasını tercih ettiğiniz metin düzenleyicide açın. Aşağıdaki örnek şunları kullanır nano:

sudo nano /etc/mongod.conf

network interfacesBölümü ve ardından değeri bulun bindIp:/etc/mongod.conf

. . .
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1
. . .

Bu satıra bir virgül ve ardından MongoDB sunucunuzun genel IP adresini ekleyin:/etc/mongod.conf

. . .
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1,mongodb_server_ip
. . .

Lütfen bunun güvenilir uzak makinenizin IP adresi değil , MongoDB’yi kurduğunuz sunucunun IP adresi olması gerektiğini unutmayın .

Dosyayı kaydedip kapatın. Kullandıysanız , ardından nanodüğmelerine basarak yapın .CTRL + XYENTER

Ardından, bu değişikliğin yürürlüğe girmesi için MongoDB’yi yeniden başlatın:

sudo systemctl restart mongod

Bunu takiben, MongoDB kurulumunuz, bağlantı noktasına erişmesine izin verdiğiniz makinelerden uzak bağlantıları kabul edebilecektir 27017. Son adım olarak, 1. Adımda güvenlik duvarı üzerinden izin verdiğiniz güvenilir makinenin, sunucunuzda çalışan MongoDB bulut sunucusuna erişip erişemeyeceğini test edebilirsiniz.

Adım 3 — Uzaktan Bağlantıyı Test Etme

MongoDB kurulumunuzu, genel olarak yönlendirilebilen IP adresinden kaynaklanan bağlantıları dinleyecek şekilde yapılandırdığınıza ve uzak makinenize sunucunuzun güvenlik duvarı üzerinden Mongo’nun varsayılan bağlantı noktasına erişim izni verdiğinize göre, uzak makinenin bağlanabildiğini test edebilirsiniz.

Not : Önkoşullar bölümünde bahsedildiği gibi, bu eğitimde uzaktaki makinenizin Ubuntu 20.04 çalıştıran başka bir sunucu olduğu varsayılmaktadır. 1. ve 2. Adımlarda özetlenen uzak bağlantıları etkinleştirme prosedürü, uzak makinenizin çalıştırdığı işletim sisteminden bağımsız olarak çalışmalıdır, ancak bu Adımda açıklanan test yöntemleri evrensel olarak işletim sistemlerinde çalışmaz.

Güvenilir bilgisayarınızın MongoDB bulut sunucusuna bağlanabildiğini test etmenin bir yolu, nckomutu kullanmaktır. netcat’innc kısaltması olan , TCP veya UDP ile ağ bağlantıları kurmak için kullanılan bir yardımcı programdır. Hem IP adresi hem de port numarası belirtmenize izin verdiği için, bu gibi durumlarda test yapmak için kullanışlıdır.

İlk olarak, SSH kullanarak güvenilir sunucunuza giriş yapın:

ssh kerim@trusted_machine_ip

Ardından, seçeneği nciçeren aşağıdaki komutu çalıştırın . -zBu nc, herhangi bir veri göndermeden yalnızca hedef sunucuda dinleyen bir arka plan programı için taramayı sınırlar. MongoDB’nin bir hizmet arka plan programı olarak çalıştığını önkoşul yükleme öğreticisinden hatırlayın, bu seçeneği bağlantı testi için kullanışlı hale getirir. Ayrıca v, komutun ayrıntı düzeyini artıran ve netcat’in başka türlü yapmayacağı bazı çıktıları döndürmesine neden olan seçeneği de içerir.

Aşağıdaki nckomutu , MongoDB’yi kurduğunuz sunucunun IP adresiyle değiştirdiğinizden emin olarak güvenilir uzak sunucunuzdan çalıştırın:mongodb_server_ip

nc -zv mongodb_server_ip 27017

Güvenilir sunucu MongoDB arka plan programına erişebiliyorsa, çıktısı bağlantının başarılı olduğunu gösterecektir:

OutputConnection to mongodb_server_ip 27017 port [tcp/*] succeeded!

mongoUzak sunucunuzda kurulu uyumlu bir Shell sürümüne sahip olduğunuzu varsayarsak , bu noktada ana sunucuda kurulu MongoDB bulut sunucusuna doğrudan bağlanabilirsiniz.

Bağlanmanın bir yolu, şöyle bir bağlantı dizgisi URI kullanmaktır :

mongo "mongodb://mongo_server_ip:27017"

veya

mongo "mongodb://username@mongo_server_ip:27017"

Kabuk sizden otomatik olarak kullanıcının şifresini girmenizi isteyecektir.

Muhammed Kerim Koç

1996 yılında Giresun Şebinkarahisarda dünyaya geldim. İlk ve orta öğretimi Şebinkarahisarda tamamladım. Liseyi Şebinkarahisar Anadolu Teknik ve Endüstri Meslek Lisesinde bitirdim. Üniversite için de Şebinkarahisar Teknik Bilimler Meslek Yüksek Okulunda Bilgisayar programcılığını okudum. Üniversite stajı için gelmiş olduğum özel bir firmada işe başladım. 5,5 yıl bu firmadan çalıştıktan sonra farklı bir sektör olan inşaat sektöründe Bilgi teknolojileri Uzmanı olarak 8 ay çalıştım. Daha sonra özel bir şirkette Sistem Network Sorumlusu olarak 4 ay çalıştıktan sonra proje sonlandırılmasından dolayı işten ayrıldım. Tekrar dan 5.5 yıl çalışmış olduğum firmaya Sistem ve Network Yöneticisi olarak geri döndüm ve çalışmaya başladım. Kendimi geliştirmek için Bilge Adam Akademi den Sistem Uzmanlığı eğitimi aldım. Sanallaştırma ve Ağ tarafında kendimi sürekli olarak geliştiriyorum.

İlgili Makaleler

Başa dön tuşu