Engellenen bir sunucuya bağlanın


1

Bir URL’ye erişmeme izin vermeyen işe alınmış bir sunucum var. Ev bilgisayarımı SSH tüneli ile köprü olarak kullanarak sunucudan bu URL'ye erişebilir miyim? Sunucuda sadece komut satırı erişimi var.

Bazı URL’lere erişebilirim, ancak bu beyaz listede değil. Ben de öyle buluyorum.

wget https://jenkins-ci.org/debian/jenkins-ci.org.key
--2015-03-30 13:21:20--  https://jenkins-ci.org/debian/jenkins-ci.org.key
Resolving jenkins-ci.org... 199.193.196.24
Connecting to jenkins-ci.org|199.193.196.24|:443... failed: Connection timed out.
Retrying.

Bir SSH tüneli ya da anahtar dosyasını ve sunucudaki paketleri indirmek gibi bir şey kullanmak istiyorum.


2
"Bir URL'yi engelle" ile ne demek istiyorsunuz?
DavidPostill

@DavidPostill Bu bir kara listede.
Helio

@DavidPostill: Soruma kurallara uymaya çalışmak için sorumu yeniden yazdım ... Yanlış bir şey mi yaptım?
Helio

URL’niz engellenmemiş bazı ücretsiz VPN servislerini kullanarak sunucunuza bağlanmak için bloğu geçerek kullanabilirsiniz. Sadece "ücretsiz vpn" için google. O zaman evden PC'nize girmenize gerek kalmaz.
harrymc

@harrymc: Ve onu komut satırından nasıl yapılandırabilirim? Bunu size soruyorum çünkü siz önerdiniz, ancak cevap vermek zorunda değilsiniz.
Helio

Yanıtlar:


2

Sorunuzu, sonraki yorumlarınızdan birine dayanarak tekrarlamak için, istediğiniz

Tünel olarak açık bağlantı noktaları olmayan bir kişisel bilgisayar kullanarak bu URL’ye erişmeyen bir sunucudan [web sitesine] erişin - Helio

İlk bakışta, istediğin şey imkansız görünüyor. Yakından incelendikten sonra, ihtiyacınız olan son derece gelişmiş ağ oluşturma vudu. özellikle:

  • Kişisel bilgisayarınızda çalışan bir VPN sunucusu (haydi herpyderp diyelim)
  • Uzak sunucuda çalışan bir SSH sunucusu (onu arayın .... megatron. Neden olmasın?)
  • Megatronda bir VPN istemcisi.

VPN sunucusunu ayarlayın

Bir VPN sunucusu kurma süreci oldukça karmaşık ve bu cevabın kapsamı dışında. Sonunda sizin için bazı kaynak linkleri koyacağım.

Neyse, dinlemeye başla 127.0.0.1ve varsayılan bir rotayı itmeyi devre dışı bırakın. (Tcp kullanmak için de ayarlamanız gerekebilir; udp'un bu tuhaf durumda nasıl tepki vereceğinden emin değilim.)

Bağlantı noktasını SSH üzerinden ilet

Sadelik uğruna, herpyderp'te bir OpenVPN sunucunuzun doğru şekilde kurulduğunu ve dinlendiğini varsayalım. 127.0.0.1:1194. Megatron'a bağlanın ve uygun bağlantı noktasını herpyderp'e geri gönderin (açık localhost ):

ssh -R 8088:localhost:1194 awesomeuser@megatron

VPN'i Bağla

Yine, basitlik için, OpenVPN istemcisi için bir yapılandırma dosyanız olduğunu varsayacağım. megatron. Yapılandırıldığından emin olun. değil varsayılan bir rota belirleyin ve adrese sunucuya bağlanmak için 127.0.0.1:8088.

Eğer not megatron 8088'de dinleyen bir şey varsa, farklı bir bağlantı noktası numarası kullanmanız gerekir.

Rota ekle

Son olarak, istekleri VPN yoluyla engellenen IP’ye yönlendirmeniz gerekir. ip route add Komut. kullanım ifconfig VPN adaptörünün ip adresini ve hedef adresini almak için. kullanım ping veya nslookup Söz konusu sitenin ip adresini almak için. Ardından, bu bilgiyle donanmış, rotayı ekleyin:

ip route add <SITE_IP_ADDR> via <VPN_DEST_ADDR> dev <VPN_ADAPTER>

Eğer her şey yolunda giderse tam kararında engellenen IP’ye erişebilmeniz gerekir. megatron üzerinden herpyderp internet bağlantısı.

Fakat...

Olduğu söyleniyor, ben bu kadar cevabı bu kadar yaptı herhangi bir ağ yöneticisi ya ağlayan ya da şu anda şok olduğunu oldukça eminim. Hiçbir şey yok ... doğru ... bu kurulumla. Bunu önermek için bile bir günah işledim gibi hissediyorum.

Ayrıca, önemli bir verim beklemem. Ve sadece ... astronomik gecikme.

Son sorumluluk reddi: Bunun olup olmayacağı hakkında hiçbir fikrim yok aslında iş. Olması gerekir, ancak bu kuruluma dahil olan çok fazla iş nedeniyle, aslında test etmedim. Yanlış gidebilecek yaklaşık bir milyon şey var. İyi şanslar ve iyi yolculuklar.

kaynaklar

EDIT: Dikkatli bir kelime

Bu kesinlikle sunucunuzu ağ üzerinden erişilemez duruma getirme potansiyeline sahiptir. ip özellikle komutlar; Yanlış yol tüm ağ etkinliğini engelleyebilir.


1

Ev makinenizden aşağıdakileri çalıştırın:

curl https://jenkins-ci.org/debian/jenkins-ci.org.key|ssh <username>@<ssh server> 'cat > jenkins-ci.org.key'

değiştirmek <username>@<ssh server> uygun ssh bilgisi ile.

Example: curl https://jenkins-ci.org/debian/jenkins-ci.org.key|ssh bob@myserver.com 'cat > jenkins-ci.org.key'

Bu dosyayı kullanıcıların giriş dizinine yerleştirir. Bunu değiştirebilir veya kopyaladıktan sonra kolayca taşıyabilirsiniz.

Bu, ev makinenizin linux kullandığını varsayar. Aksi takdirde, aynı işlemi yapmak için ucuz / ücretsiz bir bulut linux makinesi kullanabilirsiniz (örnek: c9.io).


1

Bir SSH tüneli kullanmayı deneyebilirsiniz:

ssh -f user@yourserver -L 2000:jenkins-ci.org:443 -N

O zaman sorgulayabilirsiniz localhost:2000 ne istediğin için:

wget https://localhost:2000/debian/jenkins-ci.org.key

Etki alanı sorunlarıyla karşılaşırsanız, sadece şunu ekleyin:

127.0.0.1 jenkins-ci.org

İçin /etc/hosts dosya ve çalıştır:

wget https://jenkins-ci.org:2000/debian/jenkins-ci.org.key

Bu biraz “hackish”, ama aradığın şeyin bu olduğunu düşünüyorum.


Komutları nerede çalıştırın? Sunucuda mı?
Helio

Tüm komutları yerel makinenizde çalıştırın. "Sunucunuz" ana bilgisayarı kara listeye alınmamış bir ana bilgisayardır.
gbuzogany

Tersine çevirebilir miyim? Karartmayan makinede komutu çalıştır?
Helio

Makine kara listeye alınmamışsa çalıştırabilirsiniz: wget jenkins-ci.org/debian/jenkins-ci.org.key doğru değil mi?
gbuzogany

1
@Helio "Açık port yok" diyorsunuz, bunun nedeni kimsenin bu porta bağlanmasını istemiyor olmanız mı? Bu güvenlik duvarını güvenlik altına almak mümkündür, böylece yalnızca localhost bağlantı noktasına erişebilir. Bunun dışında, VPN hemen hemen daha zor olan diğer seçeneğinizdir. IP trafiğini (SOCKS, HTTP Proxy, VPN vb.) Bir şekilde başka bir sunucuya aktarmanız gerekebilir, çünkü IP engellenmiştir. ÇORAP bugüne kadar en kolay seçenek. Alternatif olarak, yöneticiden sunucudan bu IP'ye trafiğe izin vermesini istemek daha kolay olabilir.
Goblinlord
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.