AstLinux

目次

AstLinux について

これは何? =>> Asterisk の機能を非常にコンパクトにまとめたLinuxディストリビューション

AstLinux は Asterisk と Linux カーネルをセットにした非常にコンパクトな Linuxディストリビューションです。
システムのサイズが非常に小さく、USBメモリーから起動することもできます。
ハードディスクでも動作しますがCFなどのデバイスにインストールをしても動作します。

本家サイト

https://github.com/astlinux-project/astlinux

設計方針

可能な限りシステムの設定ファイルを高度に集約しました。
そのほとんどは rc.conf という1つのファイルにまとめられています。
Asterisk の他に様々なアプリケーションが組み込まれていますがその設定をするために
いろいろなところに散在するファイルを編集する必要はありません。1つで可能です。

インストール方法

  • ダウンロードはこちらから

https://github.com/astlinux-project/astlinux

CFへのインストールを参照

Microclient Jr などの i586マシンでは AstLinux CF-i586 を参照

PBX のみのモードがデフォルトになっておりインストール直後の "root"パスワードは "astlinux"になっています。

Asterisk の設定

動作モード

初期状態では router モードとして動作します。その中身は以下のとおりです。

2つのイーサネット(DHCPクライアントと固定アドレス。)で動作
QoSによる帯域制御
NAT (アドレス変換)
Stateful Packet Inspection(ファイヤーウォール)
DHCP/DNSプロキシサーバ
inetd (設定ファイルを /tftpboot に転送します。)
Webインターフェース(HTTPS)
OpenSSH

外側のインターフェースでは iptable が設定されており IAX2, SSH, ICMP のトラフィックのみを通過させます。


  • PBXのみのモード

設定は rc.conf ファイル内の (INITIF=)行をコメントアウトして再起動するだけです。

Asterisk	OpenSSH	Webインターフェース	inetd

このモードでは NAT や SPI QoS は動作しません。

起動するシステムはCFカードに読み込みのみの状態(read-only)にてマウントされます。
どのようにして動作をしているかというと設定ファイルやボイスメールなどを
USBメモリーなどの別領域を利用して動作をするように設計をしています。
それはUSBメモリーの他に 2つめのCFでもIDEハードディスクでもNFS領域でも可能です。
このようにすることによってCFが決して使えなくなってしまうことはありません。
この設計は少し窮屈かもしれません。しかし、このようになるまで時間がかかりました。
passwdコマンドなどは自動的にファイルシステムを読み込み直して変更します。
そのためにこの仕組みを知らなくても構いません。
※df コマンドを実行した場合 hda3が keydisk に相当します。
このことを自動的に行うために genkd コマンドが含まれています。
このコマンドはパーティションの作成とフォーマットと設定ファイルの作成を行います。
そのために genkd コマンドを実行して reboot とさえすればよいのです。
システムは自動的に起動し、ドライブを認識し設定ファイルを読み込みます。
USBメモリーなどのストレージデバイスを個人的な情報保存場所として利用できます。
もしもあなたが USBメモリーを10個お持ちであるならば1つのサーバーに対して
10個の設定ファイルをそれぞれに保存して切り替えて利用することが可能です。
つまりサーバ上の設定ファイルは起動時に接続されているUSBメモリーの内容によって
切り替えることができるわけです。その可能性を想像してみてください!!


色々な設定

AstLinux 0.4.5 での Asterisk 以外の設定を紹介します。

OpenVPN を利用するには

OpenVPN 2.0.9 が含まれています。

# openvpn --version
OpenVPN 2.0.9 i586-linux [SSL] [LZO] [EPOLL] built on Apr 22 2007
Developed by James Yonan
Copyright (C) 2002-2005 OpenVPN Solutions LLC <info@openvpn.net>

利用をするには rc.conf ファイルの中の設定を書き換えます。

###VPN Support
##AstLinux currently supports two types of VPN - racoon/KAME and
#openvpn.  Set your type here, more to come...
VPN=openvpn

VPN=openvpn ← ここをコメントアウトして必要な設定を書き込みます。  

#OpenVPN specific options
#All certs must be created manually.
#Suggest using the "easy-rsa" scripts that come with OpenVPN
#Perhaps on different machine, then copy the appropriate files
#Hopefully these can be created with a web interface in the future.
# NOTE:  if you are using astlinux in pbx only mode, you must enable ip_forwarding
# Both astfw and arno's firewall do this for you.
#VPN above must be openvpn
OVPN_DEV="tun"
OVPN_PORT="1194"
OVPN_PROTOCOL="udp"
OVPN_CA="/etc/openvpn/easy-rsa/keys/ca.crt"
OVPN_CERT="/etc/openvpn/easy-rsa/keys/server.crt"
OVPN_KEY="/etc/openvpn/easy-rsa/keys/server.key"
OVPN_DH="/etc/openvpn/easy-rsa/keys/dh1024.pem"
OVPN_SERVER="192.168.15.0 255.255.255.0"
OVPN_VERBOSITY="1"
OVPN_PUSH1="route 192.168.0.0 255.255.255.0"
OVPN_PUSH2=""
OVPN_PUSH3=""
OVPN_PUSH4=""
OVPN_OTHER1=""
OVPN_OTHER2=""
# Enable LZO compression on thevpn yes|no
# Requires additional cpu resources
OVPN_LZO="yes"

それ以外の設定をするには keydisk /mnt/kd/openvpn/ 以下に openvpn.conf というファイルを作成すると起動時に読み込まれます。

また、公開認証鍵などについては AstLinux 自身で作成することはできませんので別のPCで作成する必要があります。

SNMP を利用するには

snmpd 5.3.1 が含まれています。

# snmpd -version
NET-SNMP version:  5.3.1
Web:               http://www.net-snmp.org/
Email:             net-snmp-coders@lists.sourceforge.net

/etc/rc.conf には snmpd に関係する設定項目がありません。 keydisk の /mnt/kd/snmp/ 以下に snmpd.conf ファイルを作成すると起動時に読み込まれます。

質問やコメントについて

新設された掲示板をご利用下さい。

http://bbs.voip-info.jp/forum/index.php