コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2006年2月8日 >>> 2006年2月8日
link もっと後

2006年2月8日

たまには情報らしい話でも。Debian/GNU Linux(Sarge) を前提としています。他は知らん。

Samba over SSHの実現方法の紹介〜
OpenSSHを用いたポートフォワーディングをご存知でしょうか。動作の仕組みなどの解説は他のサイトに譲るとして、ローカルの100番ポートへの接続をサーバ(server_machine)の200番ポートにフォワーディングしてくれよ、とログインできるマシン(forward_machine)にお願いするには、以下のように指定します。

$ ssh -L 100:server_machine:200 user@forward_machine

この指定だとローカルのマシンが複数のインタフェースを持っていても全てのアドレスのポートがフォワーディングされてしまい少々不便でした。そこでclient1が指すアドレスの100番ポートへの接続のみをフォワーディングするように指定します。

$ ssh -L client1:100:server_machine:200 user@forward_machine

この機能とIPエイリアスを併用し、既存のSambaサーバにはある一つのアドレスへの要求のみを担当させ、もう一つのアドレス(IPエイリアスで割り当て)への接続はフォワーディングしてしまう、という芸当ができます。マシン1台で、既存のSambaサーバと別のマシンで稼動しているSambaサービスを同時に利用できるわけです。

ただしSargeではOpenSSHが古い(3.8.1p1)のでローカル側のアドレス指定ができません。今回この機能は必須なのでまずはOpenSSHのコンパイルを行います。使用するバージョンは4.1p1です。ディレクトリの名前などは環境に合わせて適宜読み替えてください。

# aptitude install libcrypto++5.2
$ wget ftp://ftp.iij.ad.jp/pub/OpenBSD/OpenSSH/portable/openssh-4.1p1.tar.gz
$ tar -xzvf openssh-4.1p1.tar.gz
$ mv openssh-4.1p1 ~/usr/src
$ cd ~/usr/src/openssh-4.1p1
$ ./configure --prefix=/home/username/usr
$ make install

さらっと書きましたが実はこうなりません。私の場合はconfigureで libcryptoがないと言われます。探してみると /usr/lib/libcrypto.so.0.9.7が居ますので

# cd /lib
# ln -s /usr/lib/libcrypto.0.9.7 libcrypto.so

と、シンボリックリンクを張ると通ります。本来はconfigureを実行するときに /usr/libをライブラリのパスに指定すべきですかね。またmake installが途中で止まりますが、生成されたsshのバイナリだけを ~/usr/binなどにコピーして、パスを通せば使えます。かなり適当ですみません…。
(2006年2月22日加筆)
make installが途中で止まってしまう問題は、sshdのPrivilege Separetionという機能を無効にすれば解決するようです。一般ユーザはsshd使わないので問題ありませんね。無効にしてもインストールスクリプトが /var/emptyを作りに行って失敗してしまうので、Makefileの該当する行を削るか、あらかじめディレクトリを作ると良いでしょう。

# mkdir /var/empty
$ ./configure --prefix=/home/username/usr  --without-privsep-user

次に Samba側の設定を変更します。/etc/samba/smb.confに以下のように書いて、一部のインタフェース(この場合はeth0)のみlistenしてもらいます。


bind interfaces only = yes
interfaces = eth0

続けてIPエイリアスの設定です。とりあえず一つ割り当てます。
eth0や別のマシンとかぶらないアドレスならなんでもOKです。

# ifconfig eth0:1 192.168.1.2 up

最後にフォワーディングを行います。どこかにSMBサービスを提供しているマシン(samba_serverとする)があるとします。

# ssh -g -L 192.168.1.2:139:localhost:139 user@samba_server

エクスプローラなどで \192.168.1.2と打てば、相手側(samba_server)の共有ディレクトリなどが見えるはずです。見えない場合は相手側(samba_server)のSambaサーバがlocalhostへの接続を処理するようになっていない可能性があります。Sambaの設定を確認して適宜、localhostの部分を書き換えてください。

以上です。ご意見、ご指摘があればお願いします。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2006年2月8日 >>> 2006年2月8日
link もっと後

管理用メニュー

link 記事を新規作成

<2006>
<<<02>>>
---1234
567891011
12131415161718
19202122232425
262728----

最近のコメント5件

  • link 21年3月13日
    すずきさん (03/05 15:13)
    「あー、このプログラムがまずいんですね。ご...」
  • link 21年3月13日
    emkさん (03/05 12:44)
    「キャストでvolatileを外してアクセ...」
  • link 24年1月24日
    すずきさん (02/19 18:37)
    「簡単にできる方法はPowerShellの...」
  • link 24年1月24日
    KKKさん (02/19 02:30)
    「追伸です。\nネットで調べたらマイクロソ...」
  • link 24年1月24日
    KKKさん (02/19 02:25)
    「私もエラーで困ってます\n手動での回復パ...」

最近の記事3件

  • link 24年3月25日
    すずき (03/26 03:20)
    「[Might and Magic Book One TASのその後] 目次: Might and Magicファミコン版以前(...」
  • link 21年10月4日
    すずき (03/26 03:14)
    「[Might and Magicファミコン版 - まとめリンク] 目次: Might and Magicファミコン版TASに挑...」
  • link 24年3月19日
    すずき (03/20 02:52)
    「[モジュラージャックの規格] 古くは電話線で、今だとEthernetで良く見かけるモジュラージャックというコネクタとレセプタク...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 03/26 03:20