FreescoをSAMBAサーバにする。


目次

  1. はじめに
  2. SAMBAのインストール
  3. inetdのインストール
  4. SAMBASWATのインストール
  5. おまけ
  6. 最後に

  1. はじめに
  2. 本来はルータ用途のFreescoですが、サードパーティからはサーバ以外の色々なソフトウェアが沢山リリースされています。
    今回はFreescoをFirewallとしてではなく、ファイルサーバとして使うことにします。

  3. SAMBAのインストール
  4. まずはsambaのインストールです。
    パッケージ化されているsambaは、http://www.freescosoft.com/home/0.2.7/tiger/samba.shにありますので、installpkgコマンドにてインストールします。

    [Linux] installpkg http://www.freescosoft.com/home/0.2.7/tiger/samba
    Now downloading the install script for samba...
    Warning: installing software from a 3rd party package could damage your
    router's configuration or make it insecure. You should only install a
    package from an author/site you trust.
    http://www.freescosoft.com/home/0.2.7/tiger/samba.sh (1K)
    samba.sh                 [                        ]       0K
    1727 bytes transferred in 0.00 sec (3294.04k/sec)
    Do you want to view the install script before executing it [y/n]? n
    Continue installing [y/n]? y
    http://www.freescosoft.com/home/0.2.7/tiger/samba.tgz (4651K)
    samba.tgz                [                        ]       0K
    4763027 bytes transferred in 165.41 sec (28.12k/sec)
    Want to edit smb.conf [y/n] ? n
    Want to start samba (rc_masq will restart also ) [y/n] ? y
    Enabling NAT and firewalling...		
    	Block Samba connection from inet...	Done
    Done
    Starting Samba Daemon...		Done
    Keep a copy of samba.sh and samba.tgz in the /www directory [y/n] ? y
    
    Installation is complete.
    You can start/stop samba daemon's simply typing rc_samba (start|stop) 
    Warning! This package welcome with unsecure settings!
    But its default blocked from internet
    Please, edit /mnt/router/packages/samba/lib/smb.conf for your needs
    Don't forget about security
    	

    後は上記のインストールメッセージにも書かれていますが、/mnt/routuer/packages/samba/lib/smb.conf を編集します。
    Freescoをルータとsambaサーバの両機能を持たせる場合は以上で終了です。

    ただし今回は、Freescoをsambaサーバとしてだけ使うのが目的ですので、NICは1枚しか刺していないため、このままではサーバへのアクセスが拒否されてしまいます。
    (外から(WAN側)からのアクセスと見なされてrejectされてしまいます)
    そこで、/rc/rcuser/rc_samba のFirewallの設定部分をコメントアウトします。

    /rc/rcuser/rc_samba
    #!/bin/sh
    #
    # Samba Daemon startup/shutdown and firewall script.
    
    . /etc/system.cfg
    . /etc/live.cfg
    . /etc/chat.pwd
    if [ "$1" = firewall ]; then
    # Now, we block connect to Samba from inet. Example:
    # reject incomming tcp connections to ports 137-139 from the internet and log
    echo -n "
    	Block Samba connection from inet...	"
    # ipfwadm -I -a reject -P tcp -W $INET -D 0.0.0.0/0 137:139 -y -o ← この行をコメントアウトする
    # ipfwadm -I -a reject -P udp -W $INET -D 0.0.0.0/0 137:139 -y -o ← この行をコメントアウトする
    
    # Now add symlinks samba executables into /bin and /usr/local/samba
    
    ln -sf /mnt/router/packages/samba/lib/libc.so.5 /lib/libc.so.5
    ln -sf /mnt/router/packages/samba/lib/libdl.so.1 /lib/libdl.so.1
    
    B=`ls /mnt/router/packages/samba/bin`
    for i in $B; do
        ln -sf /mnt/router/packages/samba/bin/$i /bin/$i
    done
    mkdir /usr/local >/dev/null 2>/dev/null
    ln -sf /mnt/router/packages/samba /usr/local/samba
    
    #----------------------------------------------------------------------
    $DONE; exit; fi
    	


    注:この書き換えは、Freescoをルータとsambaサーバの両機能を持たせる場合は絶対にしないでください。WAN側から丸見えになってしまいます。

  5. inetdのインストール
  6. sambaをインストールしたら、あとはエディタで smb.conf を書き換えれば良いのですが、軟弱者な私は sambaswat の助けを借りてブラウザで設定することにします。
    しかし、sambaswat のインストールに先立って inetd をインストールしておかなければなりません。

    [Linux] installpkg http://www.freescosoft.com/home/0.2.7/tiger/inetd
    Now downloading the install script for inetd...
    Warning: installing software from a 3rd party package could damage your
    router's configuration or make it insecure. You should only install a
    package from an author/site you trust.
    http://www.freescosoft.com/home/0.2.7/tiger/inetd.sh (1K)
    inetd.sh                 [                        ]       0K
    1442 bytes transferred in 0.00 sec (2897.79k/sec)
    Do you want to view the install script before executing it [y/n]? n
    Continue installing [y/n]? y
    http://www.freescosoft.com/home/0.2.7/tiger/inetd.tgz (11K)
    inetd.tgz                [                        ]       0K
    11670 bytes transferred in 0.45 sec (25.13k/sec)
    Keep a copy of inetd.sh and inetd.tgz in the /www directory [y/n] ? y
    Want to edit the inetd.conf [y/n] ? n
    Want to start inetd [y/n] ? y
    Starting inetd Daemon...		Done
    
    There is no entries in inetd.conf by default.
    Installation is complete.
    	

    以上で、inetd のインストールは終了です。
    これで sambaswat が入れられます。

  7. SAMBASWATのインストール
  8. samba の設定をブラウザ上で行える sambaswat をインストールします。

    [Linux] installpkg http://www.freescosoft.com/home/0.2.7/tiger/sambaswat
    Now downloading the install script for sambaswat...
    Warning: installing software from a 3rd party package could damage your
    router's configuration or make it insecure. You should only install a
    package from an author/site you trust.
    http://www.freescosoft.com/home/0.2.7/tiger/sambaswat.sh (2K)
    sambaswat.sh             [                        ]       0K
    2259 bytes transferred in 3.58 sec (0.62k/sec)
    Do you want to view the install script before executing it [y/n]? n
    Continue installing [y/n]? y
    http://www.freescosoft.com/home/0.2.7/tiger/sambaswat.tgz (1872K)
    sambaswat.tgz            [                        ]       0K
    1917659 bytes transferred in 79.95 sec (23.42k/sec)
    Keep a copy of sambaswat.sh and sambaswat.tgz in the /www directory [y/n] ? y
    Want to run rc_masq to make sure that samba swat is blocked from internet [y/n] 
    ? y
    Enabling NAT and firewalling...		Done
    
    	Block Samba connection from inet...	Done
    
    	Block Samba Swat connection from inet...	Done
    Done
    Want to run rc_inetd restart to make samba swat accessable [y/n] ? y
    Stopping inetd...			Done
    Starting inetd Daemon...		Done
    
    Samba swat is default blocked from internet
    access samba swat http://yourfreesco-ip:901
    Installation is complete.
    	

    以上で、sambaswat がインストールできましたが、samba と同様にインストールしたままだとアクセス拒否されてしまうので、Firewall部分をコメントアウトします。

    /rc/rcuser/rc_sambaswat
    #!/bin/sh
    #
    # Samba Daemon startup/shutdown and firewall script.
    
    . /etc/system.cfg
    . /etc/live.cfg
    . /etc/chat.pwd
    if [ "$1" = firewall ]; then
    # Now, we block connect to Samba from inet. Example:
    # reject incomming tcp connections to ports 137-139 from the internet and log
    echo -n "
    	Block Samba Swat connection from inet...	"
    # ipfwadm -I -a reject -P tcp -W $INET -D 0.0.0.0/0 901 -y -o ← この行をコメントアウトする
    #----------------------------------------------------------------------
    $DONE; exit; fi
    	

    こちらについても、Freescoをルータとsambaサーバの両機能を持たせる場合は絶対にコメントアウトしないでください。

  9. コマンド
  10. smbclient -Lコマンドを使うと、現在公開されているサーバ名がリストアップされます。

    smbclinent -L サーバ名
    	

  11. 最後に
  12. ここでは samba のインストールのみの説明とし、samba や sambaswat については他の詳しいページに譲ります。
    日本sambaユーザ会

御意見御感想等ありましたらtoshi's BBSまたは、toshiまでどうぞ。

TOP


最終更新日: Apr 15 08:26