Proxy arkasında Supermicro IPMI mı kullanıyorsunuz?


12

Bu, yerleşik IPMI BMC içeren X8DT3 anakartlı bir SuperMicro sunucusudur. Bu durumda, BMC bir Winbond WPCM450'dir ). Birçok Dell sunucusunun buna benzer bir BMC modeli kullandığına inanıyorum.

IPMI ile ortak bir uygulama, onu özel, yönlendirilemeyen bir ağda izole etmektir. Bizim durumumuzda tüm IPMI kartları, dış dünyaya yolu olmayan 192.168.1.0/24 numaralı özel bir yönetim LAN'ına takılır. Dizüstü bilgisayarımı 192.168.1.0/24 ağına bağlarsam, uzak konsol da dahil olmak üzere tüm IPMI özelliklerinin beklendiği gibi çalıştığını doğrulayabilirim.

Tüm IPMI özelliklerine farklı bir ağdan, bir tür şifreli bağlantı üzerinden erişmem gerekiyor.

SSH bağlantı noktası yönlendirmeyi denedim. Bu, birkaç sunucu için iyi çalışır, ancak bu sunucuların 100'e yakınına sahibiz ve 100 sunucudaki 6 bağlantı noktasını iletmek için bir SSH istemci yapılandırmasını sürdürmek pratik değildir.

Bu yüzden bir SOCKS proxy'sini deneyeceğim diye düşündüm . Bu çalışıyor, ancak Görünüşe göre Uzak Konsol uygulaması sistem çapında proxy ayarlarıma uymuyor.

  1. Bir SOCKS yetkili sunucusu ayarladım. Ayrıntılı günlük kaydı ağ etkinliğini ve bağlantı noktalarının yönlendirilip yönlendirilmediğini görmemi sağlar.

    ssh -v -D 3333 stefanl@gateway.example.org
    
  2. Sistemimi SOCKS proxy'sini kullanacak şekilde yapılandırıyorum. Java'nın SOCKS proxy ayarlarını kullandığını onaylıyorum.

  3. SOCKS yetkili sunucusu çalışıyor. BMC'ye web tarayıcımı kullanarak http://192.168.1.100/ adresinden bağlanıyorum . Oturum açabilir, Sunucu Sağlığını görüntüleyebilir, makineyi açıp kapatabilirim, vb. SSH ayrıntılı günlüğü etkinleştirildiğinden ilerlemeyi görebiliyorum.

İşte burada zor:

  1. Adlı dosyayı indiren "Konsolu Başlat" düğmesine tıklıyorum jviewer.jnlp. JNLP dosyaları Java Web Start ile açılır.

  2. Bir Java penceresi açılır. Başlık çubuğunda başlık çubuğunda "Yönlendirme Görüntüleyicisi" yazıyor. "Video" "Klavye" "Fare" vb. İçin menüler vardır. Bu, Java'nın uygulamayı proxy üzerinden indirebildiğini ve uygulamayı başlatabildiğini doğrular.

  3. 60 saniye sonra uygulama zaman aşımına uğrar ve "Video soket açılırken hata oluşuyor" der. İşte bir ekran görüntüsü . Bu işe yararsa, VNC tarzı bir pencere görürdüm. SSH günlüklerim 5900/5901 numaralı bağlantı noktalarına bağlantı denemesi göstermiyor. Bu, Java uygulamasının VNC uygulamasını başlattığını, ancak VNC uygulamasının sistem genelinde proxy ayarlarını yoksayar ve böylece uzak ana bilgisayara bağlanamadığını gösterir.

Java, sistem çapında proxy ayarlarıma uyuyor gibi görünüyor, ancak bu VNC uygulaması bunu yok sayıyor gibi görünüyor.

Bu VNC uygulamasını sistem genelinde proxy ayarlarımı kullanmaya zorlamamın bir yolu var mı?

Yanıtlar:


4

Bir VPN aslında en iyi bahis olabilir gibi görünüyor. Yönlendiricinizde bir ACL'ye sahip olun, böylece yalnızca yerel olmayan trafik VPN'den geçmelidir ve işiniz bitti. Çok basit ve güvenli olduğu kadar yönetmesi de kolaydır.


1
VPN, birden fazla IPMI makinesine kanal olarak bizim için harika çalışıyor. Sadece Tomato ve OpenVPN ile modern (128mb, Asus RT-N16 gibi hızlı bir CPU) yönlendirici kurun ve bir tedavi yapıyor. OpenVPN'in kurulumu daha kolay olabilir , evet, ancak bir kez kurulduğunda işe yarıyor!
Jeff Atwood

Sonunda, SOCKS'ten vazgeçiyorum ve bir VPN kullanıyorum. Muhtemelen OpenVPN ile gideceğim.
Stefan Lasiewski

21

Bunun için bir çorap proxy'si kullanmanın değil, bunun yerine bir yerel ana bilgisayar IP'sinde gerekli olan tüm bağlantı noktalarını iletmenin en iyisi olduğunu anladım. Mevcut hizmetlerden kaçınmak için 127.0.0.1'den farklı bir IP kullanıyorum. 127.0.0.2'yi seçtiğinizi ve proxy'nin arkasındaki sunucunuzun 192.168.1.1 olduğunu varsayarsak, bu kullanılacak ssh komutudur:

ssh user @ proxy-server -L127.0.0.2: 443: 192.168.1.1: 443 -L127.0.0.2: 5900: 192.168.1.1: 5900 -L127.0.0.2: 5901: 192.168.1.1: 5901 -L127 .0.0.2: 5120: 192.168.1.1: 5120 -L127.0.0.2: 5123: 192.168.1.1: 5123 -C

Ardından https: //127.0.0.2'ye göz atabilir ve KVM'yi her zamanki gibi kullanabilirsiniz.

İletilen TCP bağlantı noktaları kontrol ve video için 5900 ve 5901, sanal CD için 5120 ve sanal disket için 5123'tür (son ikisini test etmedim). Sıkıştırma için -C eklendi, ancak gönderilen bir şeyin sıkıştırma için uygun olup olmadığını bilmiyorum.

Bir diğeri, biraz daha rahat linux üzerinde yöntemi (teoride, daha iyi performans ve) kullanmaktır sshuttle , hangi iptables ve vekil-sunucu üzerinde bir piton tercüman kullanarak ssh ile şeffaf ileri bütün TCP bağlantıları.

sshuttle -r kullanıcı @ proxy-server 192.168.1.1

İpucu: sshuttle Debian'da paketleniyor.

Henüz iletemediğim, IPMI için bir CLI bağlantısı olan ipmitool için kullanılabilen UDP bağlantı noktası 623. Orada olan birçok bu konuda öğreticiler, ama hiçbiri benim için çalıştı. Her neyse, Java KVM yeterince iyi.


SSH'nin UDP trafiğini değil, yalnızca TCP trafiğini ilettiğini görüyorum. IPMI (bağlantı noktası 623 / UDP) ve LAN Üzerinden Seri (Bağlantı Noktası 6666 / UDP) yalnızca UDP'dir ve bu nedenle bir tür korkak UDP-TCP dönüşümü gerektirir netcat. Ne kadar sinir bozucu.
Stefan Lasiewski

1
İlk ssh komutu (web arayüzü ve java uzak konsolu) çalışır, ancak 623 ( -L127.0.0.2:623:192.168.1.1:623) iletmedikçe sanal cd montajı çalışmaz . Gerekli bağlantı noktalarını listelediğiniz için teşekkür ederiz. Bu bir VPN kurmaktan çok daha kolaydır.
basic6

2

Deneyin tsocks , bu da tüm alt süreçteki çalışmalıdır LD_PRELOAD ayarlayarak SOCKS proxy üzerinden herhangi bir işlem çalışmasına izin gerektiğini, bkz bu örnek kullanım için. Tabii ki, bir SOCKS proxy'si oluşturmak için ssh kullanıyorsanız, yine de UDP sorunu yaşarsınız, ancak bu alt işlem sorununun üstesinden gelmelidir.

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.