Bir sunucuyu yalnızca dahili kullanım için nasıl yapılandırabilirim [Ubuntu]


0

Farklı Ubuntu Sunucuları ile bir VM-Home Lab oluşturmaya çalışıyorum. Her sunucuyu siteden / internetten erişilebilir hale getirmek istemiyorum ve bunu iptables yapılandırarak yapabileceğimi düşündüm.

Tüm trafiği DROP yapmamı öneren birkaç Öğretici denedim ve iç ağımdan yalnızca ACCPET ayarlamıştım (örneğin, 10.10.0.0/24).

Ancak bu turotialları takip ettiğimde her zaman birkaç hata ile karşılaşıyorum:

  • Her şeyden önce, komutla başlarsam iptables -P INPUT DROP Geri kalan komutlara devam edemem çünkü sunucu bir şekilde kendi ana bilgisayar adını çözemez
  • Yerel IP Aralığımı ile eklediğimde iptables -A INPUT -i eth0 -s 192.168.100.0/24 -m state --state NEW,ESTABLISHED -j ACCEPT Sunucuma ana bilgisayarımdan ssh üzerinden erişemiyorum veya üzerinde barındırılan bir web sayfasını bile yükleyemiyorum

Asıl amacım, sunucuyu ev ağımdaki her bilgisayardan, dizüstü bilgisayardan vb. Erişilebilir kılmak, ancak dışarıdan değil. Böylece arkadaşlarım ve ben dizüstü bilgisayarlarını getirdiklerinde kodlama projeleri üzerinde birlikte çalışabiliriz.

Belki abartıyorum ve belki daha kolay bir yolu var (sanal kutu hipervizörünü kullanarak).

Makinelerde çalışan hizmetler diğer tarafta gitlab-ce ve jira'dır.

Herhangi bir yardım takdir edilecektir, çünkü bu benim ilk kez böyle şeylerle çalışmam (aslında sadece bir yazılım dev: P)

Şerefe


Yani "köprülü ağ" modunu kullanıyorsunuz? Yönlendiriciniz zaten sunucularınıza internetten erişimi engelliyor değil mi?
SpiderPig

Aynı söz. Varsayılan olarak ev modeminiz / yönlendiriciniz İnternet'teki sistemlerin ev makinelerinize bağlanmasını önler (başka bir deyişle yalnızca giden bağlantılara izin verir). Ayrıca, Ubuntu’ya kurabilirsiniz ufw (Komplike olmayan Güvenlik Duvarı) kullanımı çok daha kolaydır iptables.
xenoid

Teşekkürler beyler. Yönlendiricilerin zaten erişimi engellediğini bilmiyordum ...
Zanidd

Bu yüzden ayarlaman gerek. port forwarding Dışarıdan erişilebilir bir şey yapmak istiyorsanız, yönlendirici üzerinde Ne de olsa, yönlendiricinin ev ağınızdaki hangi cihaza bir paket yönlendirmesi gerektiğini nasıl bilebilir?
SpiderPig

Yanıtlar:


0

Hedefinize ulaşmak için hipervizörünüzü yapılandırmanın birkaç yolu vardır:

  1. Her VM'nin kendi ağ bağdaştırıcısı vardır ekli bridged adapter. Daha sonra bu ağ bağdaştırıcılarının her biri için bir genel IP (örn. 10.10.0.0/24) yapılandırmanız gerekir.

    Sonunda, sunucunuzda aşağıdaki iptables komutlarını çalıştırabilirsiniz:

    • iptables -P INPUT DROP varsayılan politikanızı DROP olarak ayarlamak için
    • iptables -A INPUT -i eth0 -s 10.10.0.0/24 -j ACCEPT : paketin dahili ağınızdan alınmasına izin vermek için.
  2. Her VM'nin kendi ağ bağdaştırıcısı vardır ekli NAT. Daha sonra her VM'nin her hizmeti için bağlantı noktası yönlendirmesini yapılandırmanız gerekir (altta VM Ayarları> gt; Port yönlendirme yapılandırması hakkında daha fazla bilgi için lütfen posta sonundaki nota bakınız.

    Ardından, ana makinenizde aşağıdaki iptables komutlarını yerine getirmelisiniz:

    • iptables -P INPUT DROP
    • iptables -A INPUT -i eth0 -s 10.10.0.0/24 -j ACCEPT
    • Son komut yerine, yetkilendirmede daha kesin olabilirsiniz: iptables -A INPUT -i eth0 -s 10.10.0.0/24 --dport ssh -j ACCEPT ancak VM'lere daha fazla hizmet eklerseniz iptables'ları bazen yeniden yapılandırmanız gerekebilir.

Bu durumda, tüm dahili ağınızın 10.0.0.0/8 olduğu varsayılarak, VM'leriniz internetten ve dahili ağın geri kalanından erişilemez. Not Hakkında daha fazla ayrıntı olacak köprülü / NAT ve liman yönlendirme İşte

DÜZENLE

İsteğin altındaki anlaşmalar dikkate alındığında, yerel ağınızın 'sadece' 10.10.0.0/24 (10.0.0.0/8 değil) olduğunu fark etmedim. Buna ek olarak, 10.10.0.0/24 daha geniş bir alana aittir. özel ağ 10.0.0.0/8 ( https://en.wikipedia.org/wiki/Private_network ) İnternette yönlendirilemez (VPN'siz demek istiyorum ama teknik yönlendirme değil). Bu nedenle internetten gelen müşteri dahili sanal makinelere erişemez.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.