2013年7月31日水曜日

sshuttle最強すぎる

先日知った簡易vpn、sshuttleが強力過ぎる。

外出先から社内のWindowsサーバにリモートデスクトップ接続したいのだが、
# sshuttle  --dns -r ktaka@fumidai.clustcom.com:22 192.168.20.0/22
Connected.
ktaka@vaiox:~$ rdesktop -r sound:local -f winserver.intra.clustcom.com 
たったこれだけでOK。

2013年7月26日金曜日

ノートパソコン(Debian Linux)からdocomo wifiへの接続法(メモ)

パソコンからドコモwifiに繋ぐための設定。
vaiox:~# cat /etc/wpa_supplicant.conf_docomo_wifi
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="docomo"
scan_ssid=1
key_mgmt=IEEE8021X
eap=TTLS
identity="xxxxx-spmode@docomo"
password="xxxxxx"
ca_cert="/etc/PCA-3.pem"
phase2="auth=PAP"
}
無線LANチップのドライバーをロードし、wpa_supplicantをデーモンとして起動、dhcpでアドレスを取得すればOK。

modprobe ath9k
wpa_supplicant -Dwext -iwlan0 -c /etc/wpa_supplicant.conf_docomo_wifi -B
dhclient wlan0






sshuttle vpnでサーバのリモート管理を便利に

データセンタに置かれたサーバに外部からネットワーク経由でアクセスし、電源のON/OFFやBIOS設定、OSインストールなどを行うことができれば、非常に便利です。
最近のサーバには、ネットワーク経由で電源をON/OFFしたり、コーンソール画面を操作するための、IPMI準拠のリモートマネージメント機能が備わっていることが多いので、既に利用されている方も多いと思います。
通常、サーバは、ファイアウォールによりネットワーク的に守られた場所にあるので、踏み台サーバにsshログインして、そこからアクセスしている場合も多いでしょう。
このような場合、リモートマネージメント機能を使うには、オフィスからデータセンタにvpnを張れると便利なのですが、vpnを張るのもなかなか面倒です。

今回、sshuttle(https://github.com/apenwarr/sshuttle)という、sshポートのみの開放でOKな、簡易vpnツールを見つけたので紹介したいと思います。


sshuttleはLinuxとMacOSで利用可能な、簡易vpnです。踏み台サーバにはssh経由でアクセスするので、SSHのDynamic Port forwardingによるSOCKS proxyにプラスアルファしたような働きをします。
プラスアルファの部分は何かというと、あるIPアドレス、あるネットワークアドレスに対しては、クライアントプログラムでは何の設定も無しに透過的にproxyを使うことができるということです。


たとえば、以下のポンチ絵の様に、client、proxy、targetの3台のマシンがあったとします。
                       |
                       |   sshd:22
 client <-----------> proxy <------------------> target(192.168.20.153)
                       |
                       |
ここで、clientとproxyの間にはファイアウォールがあり、proxyへは22番ポートへのアクセスしか許可されていません。したがって、当然ながらclientからtargetへも直接アクセスできません。
踏み台サーバproxy:22へのsshコネクションを経由してtargetへアクセスできるようにするには次のコマンドのみでOKです。
vaiox:~# sshuttle  -r ktaka@proxy:22 192.168.20.153
Connected.
これだけで、以下のようにclientとporxy間にトンネルが張られます。
                       |
     sshuttle<---->sshd:22
 client <-----------> proxy <------------------> target(192.168.20.153)
                       |
                       |
トンネルを張った後に、clientからtargetに http, https, vncなどでアクセスしようとすると、
sshuttle<---->sshd:22のトンネルを通り、targetにアクセスできるようになります。
                       |                http, https
   sshuttle<--->sshd:22  ------------------->
 client <-----------> proxy <------------------> target(192.168.20.153)
                       |
                       |
クライアントマシンで、どうなっているかを見てみると。
  • 192.168.20.153宛のパケットはTTL=42以外であれば、全て12300番ポートにリダイレクトしています
vaiox:~# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination      
sshuttle-12300  all  --  0.0.0.0/0            0.0.0.0/0        
Chain INPUT (policy ACCEPT)
target     prot opt source               destination      
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination      
sshuttle-12300  all  --  0.0.0.0/0            0.0.0.0/0        
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination      
Chain sshuttle-12300 (2 references)
target     prot opt source               destination      
REDIRECT   tcp  --  0.0.0.0/0            192.168.20.153       TTL match TTL != 42 redir ports 12300
RETURN     tcp  --  0.0.0.0/0            127.0.0.0/8         
  • 12300番ポートでは、pyhtonプログラム(sshuttle)が待ち受けています。
vaiox:~# netstat -lnp|grep 12300
tcp        0      0 127.0.0.1:12300         0.0.0.0:*               LISTEN      5059/python    
これにより192.168.20.153宛のパケットは、ほぼ(TTL=42を除き) sshuttleが張ったコネクションを通るということになるのです。


2013年7月3日水曜日

出荷を待つファイルサーバー

某お客様向けのファイルサーバーです。フロントに2.5インチのホットスワップHDDベイを8個備えています。


今回はSeagateの1TByte SATAドライブを8本搭載します。合計8TByteの構成です。



HDDはバックプレーンからminiSASケーブルを介してLSIのRAIDカードMegaRAID SAS 9271-8iに接続されています。このカードにはキャッシュ保護のためにCacheVaultというモジュールが取り付けられています。


CPUはXeon E3-1270v2、メモリは8GByte x4 合計32GByteと、なかなかハイスペックな構成です。8本のHDDドライブをSSDに交換すれば、そこそこ高速なDBサーバとしても使えそうです。



12,000回転のカウンターローテイティングファンを5個でシステムを冷却。CPUもメモリもRAIDカードも十分に冷却できます。


電源は500Wの電源モジュール2個で冗長化されています。


IOインターフェースは、PS/2 マウス、キーボード、IPMI専用LANポート、USBx2、シリアルポート、VGAポート、GLANポートx2となっています。


筐体内部のほぼ全体写真です。配線もまあまあ、スッキリしています。



以上です。

こんなサーバが欲しいというご要望がありましたら、是非ともご相談ください。