ssh port ev makineme her yerden erişmek için ileri


24

Bu sorudan geliyorum: /superuser/359799/how-to-make-freebsd-box-accessible-from-internet

Bütün bu süreci anlamak istiyorum port forwarding.

Pek çok şey okudum, ancak liman taşımacılığının temel kavramını anlayamıyorum.

Neyim var:

evimde oturan bir freebsd sunucusu.
ağ yönlendirici

Bu başarmaya çalıştığım şey:

Bir webbrowser açıp internete erişebilmek için freebsd sunucusuna internet üzerinden bir pencere makinesinden erişebilme.

Ayrıca bu freebsd kutusuna sahip olduğum bir ubuntu makinesinden erişmek istiyorum.

Biri bana yardım edebilirse çok iyi olacak.

Port yönlendirme için yaptığım netgear router kurulumu.

ağ bağlantı noktası iletme


Bu bir superusersoru ise lütfen göç .
hari

Biraz daha açıklamaya ihtiyacım var. Windows makinesi İnternet'te bir yerde ise ve zaten İnternet erişimine sahipse, neden İnternet'e erişmek için evdeki FreeBSD kutusuna bağlanmak istiyorsunuz?
OldTimer

@OldTimer: Sorunuzun / endişenizin ne kadar alakalı olduğundan emin değilim.
hari

İpv6 adreslerini kullanın, artık NAT yok, artık sorun yok ;-)
Stéphane Gimenez

1
Bekleyin! Dedim ki o / -:
Stéphane Gimenez

Yanıtlar:


47

Ham gerçeklerle başlayacağım:

  1. Sizde: A- FreeBSD kutunuz, B- yönlendiriciniz ve C- İnternet erişimi olan bazı makineler. Bu nasıl görünüyor:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
    \_________ ________/
              v
               `- this is your LAN
    

    Nasıl yönlendirici Bildirimi normalde çalışır: bu bağlantılara izin dan LAN üzerindeki makinelere için Internet (sadece konuşma). Böylece A(veya LAN üzerindeki herhangi bir başka makine) İnternete erişmek isterse, buna izin verilecektir (yine, sadece temel anlayış ve yapılandırma hakkında konuşmak):

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `-->----'  `--->--->---^  
    

    Ve şu edilir değil varsayılan olarak izin:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `--<----'  `---<--- - - - - --<---<-----'
    

    (Kendisine, yönlendirici korur internetten erişilen adresinin LAN üzerindeki makineleri.) Yönlendirici görülür LAN sadece bir parçası Bildirimi olduğu gelen internet 1) .

  2. Port yönlendirme, üçüncü şemanın gerçekleşmesini sağlayan şeydir. Bu, yönlendiriciye , LAN'daki hangi makineye 2) hangi bağlantının gitmesi gerektiğini söylemekten oluşur . Bu, bağlantı noktası numaralarına göre yapılır - bu nedenle bağlantı noktası iletme olarak adlandırılır . Yönlendiriciye, Internet'ten belirli bir bağlantı noktasına gelen tüm bağlantıların LAN üzerindeki belirli bir makineye gitmesi gerektiğini söyleyerek yapılandırabilirsiniz. Makineye iletilen 22 numaralı bağlantı noktası için bir örnek :CA

    .------.     .-------.                        .-----.
    |  A   | ==  |   B   |  - - ( Internet ) - -  |  C  |
    |      |     |       |                        '-----'
    '-|22|-'     ',--|22|'                          |
        `--<-22---'    `---<---- - - - - - --<-22---'
    
  3. İnternet üzerinden bu tür bağlantılar IP adreslerine göre gerçekleşir. Dolayısıyla, yukarıdaki örneğin biraz daha kesin gösterimi şöyle olacaktır:

    .------.      .-------.                                .-----.
    |  A   |  ==  |   B   | - - - - - ( Internet ) - - - - |  C  |
    |      |      |       |                                '-----'
    '-|22|-'      ',--|22|'                                   |
        `--<-A:22--'    `--<-YourIP:22 - - - - --<-YourIP:22--'
    

    Statik IP ile bir İnternet bağlantınız yoksa, ISS tarafından yönlendiricinize o anda hangi IP'nin atandığını öğrenmeniz gerekir. Aksi takdirde, Cyönlendiricinize (ve dahası A) ulaşmak için hangi IP'ye bağlanmanız gerektiğini bilemez . Bunu kolay bir şekilde çözmek için, dinamik DNS denilen bir servisi kullanabilirsiniz . Bu, yönlendiricinizin periyodik olarak IPnizi takip edecek ve size bir etki alanı adı sağlayacak özel bir DNS sunucusuna bilgi göndermesini sağlar . Oldukça az sayıda ücretsiz dinamik DNS sağlayıcısı var. Birçok yönlendirici, bunlarla kolayca iletişim kurmak için yapılandırma seçenekleriyle birlikte gelir.

1) Bu yine bir sadeleştirmedir - Internet'te görülen asıl cihaz modemdir - genellikle yönlendiriciyle entegre edilebilir, ancak ayrı bir kutu da olabilir.
2) veya İnternet bağlantısı olan herhangi bir diğer makine.


Şimdi ne istediğinizi için:

  1. Makinenize Internet'ten ssh erişimine izin vermek sadece kötü bir fikirdir. Açık SSH portlu makinelerde interneti arayan krakerler tarafından kurulan binlerce robot var . Genelde varsayılan SSH portunda yapabildikleri kadar IP'leri "vururlar" ve bir yerde çalışan bir SSH arka plan programı bulduklarında , makineye kaba erişim kazanmaya çalışırlar . Bu, yalnızca olası bir arıza riski değil, aynı zamanda makine kaba kullanılırken ağın yavaşlaması riskidir.

  2. Gerçekten böyle bir erişime ihtiyacınız varsa, en azından

    • tüm kullanıcı hesapları için güçlü şifrelerinizin bulunduğundan emin olun ,

    • SSH üzerinden disallow kök erişimi (her zaman normal kullanıcı ve olarak giriş yapabilen suveya sudosonra),

    • SSH sunucunuzun çalışacağı varsayılan bağlantı noktasını değiştirin,

    • sayısız SSH oturum açma denemesine izin vermeyen bir mekanizma tanıtmak (sonraki denemeler için beklemek için zamanın artmasıyla birlikte - bunun tam olarak nasıl çağrıldığını hatırlamıyorum - bir süre önce FreeBSD'de etkin hale getirmiştim ve hatırladım oldukça kolaydı. FreeBSD forumlarında aranırken vb. SSH’yi güvenceye almak hakkında bir şeyler bulacaksınız.)

    • Mümkünse, ssh arka planını yalnızca yakın bir zamanda makineye erişeceğinizi bildiğiniz zaman çalıştırmaya çalışın, sonradan kapatın.

  3. Sistem günlüklerini geçmeye alışın. Şüpheli bir şey fark etmeye başlarsanız, IP tabloları veya bağlantı noktası çalma gibi ek güvenlik mekanizmaları kullanın .


10
Ascii iyilik için Upvoted ...
jasonwryan

Detaylı açıklama için teşekkürler. Bunu biraz sindirip geri yorumlayacağım.
hari

Amacını tamamen anladım. Sorum şu ki, netgear router'ımı yapılandırdım (doğru ya da yanlış - emin değilim). Bundan sonra ne yapmam gerekiyor?
hari

2
Harici SSH erişimi hakkındaki düzenlememe (altta) bir bakın.
rozcietrzewiacz

Bilgi için teşekkürler. Aktarmaya çalıştığın şeyi aldım. Sorum şu ki, internet erişimi olan herkesin örneğin freebsd kutusunda tarayıcı çalıştırabilmesi için ne yapmam gerekiyor? Bunu nasıl ayarlarım?
hari

3

Bunu başarmanın birkaç yolu var. En kolay olanı muhtemelen DMZ olarak bilinen şeyi kurmak. Bununla birlikte, daha güvenli yol, 22 numaralı bağlantı noktasında sunucunuzun IP'sine statik bir rota ayarlamak için yönlendiricinizdedir.

Kaynaklar:


Teşekkürler. Netgear router'da bu bölümü yaptım: Bu şekilde portforwarding yaptım: service: HTTP port: 80 server ip: 192.168.1.16 - işte bu ip, freebsd kutumun ipi. Sonra ne yapmalıyım?
hari

Bulunduğunuz yerin dışından bir test yapın, şahsen telefonumu dizüstü bilgisayarıma bağladım ve ip adresime girmeyi deneyin. Dış IP adresinizi bildiğinizi varsayıyorum. Ya da alternatif olarak web sunucunuzu ziyaret etmeyi deneyebilirsiniz.
Mark D

SSH harici IP adresime çalışmıyor. Freebsd sunucumda herhangi bir şey yapmam gerekir mi?
hari

Dahili ağınızdan SSH alabilir misiniz?
Mark D

Evet. Yapabilirim
hari

1

Bu yönlendirici tarafından yapılabilir. Bazı yönlendiricilerde bu özelliğin adıVirtual Server

Görüntünün alt kısmına bakın, iki bağlantı noktası iletme örneği var. Biri Web'den, diğeri SSH'den. İlk olarak, WAN IP'nizden herhangi bir talep, yani portlu yönlendiricinizin 80IP'si bir LAN IP'sine iletilecektir ( 192.168.2.4bu durumda)
Bu özellik ile, LAN / LAN'da çalışan PC'nizde dünyanın her yerinden çalışan servisler alabilirsiniz. yani bu servisler LAN ile sınırlı değildir
Yönlendiricideki bağlantı noktası iletme veya Sanal sunucu

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.