「利用者:MR G」の版間の差分
細 (→OCN(調査中)) |
(→ITSPとパケットフィルタリング) |
||
29行目: | 29行目: | ||
whoisからIPアドレス範囲調べて、ポートを開けても良さそうな気もするが、クライアント向けIPアドレスを含めてしまうのは宜しくない。<BR> | whoisからIPアドレス範囲調べて、ポートを開けても良さそうな気もするが、クライアント向けIPアドレスを含めてしまうのは宜しくない。<BR> | ||
かと言ってIPアドレス一個だけ決め打ちしていると、サーバー側IPが変わったときに痛い目に遭う。<BR> | かと言ってIPアドレス一個だけ決め打ちしていると、サーバー側IPが変わったときに痛い目に遭う。<BR> | ||
− | === | + | |
+ | ==パケットフィルタリングに対する4つの方針== | ||
+ | |||
+ | ===閉鎖的 ~UDP/5060開放先IPを決め打ち~=== | ||
+ | 特定のIPに限ってUDP/5060を開放する。 | ||
+ | ;利点:基本的にはITSP経由での通信となるので、セキュリティホールを突付かれ難くなる。 | ||
+ | ;弱点:ITSPのIPが変わった場合、通信できなくなるのでトラブルに見舞われやすい。(と思う) | ||
+ | |||
+ | ===開放 ~UDP/5060はサブネットで区切る~=== | ||
+ | WhoisゲートウェイからITSPが使用しているIPアドレスの範囲を調査し、その範囲内に限ってUDP/5060での通信を許可する。 | ||
+ | ;利点:基本的にはITSP経由での通信となるので、セキュリティホールを突付かれ難くなる。 | ||
+ | ;弱点:ITSPのIPが変わった場合、通信できなくなる可能性が高い<BR>IPを一個だけ開けるよりかはトラブルになり難い。 | ||
+ | ===けっこう開放 ~UDP/5060ばっちこい~=== | ||
+ | ;利点:ITSP側でIPアドレス変えても問題なくSIPでの通信が可能 | ||
+ | ;弱点:某国からUDP5060宛の攻撃がやって来るかもしれない。SIP周りのセキュリティホールに注意すること | ||
+ | ===走召開放 ~パケットなんでもばっちこい~=== | ||
+ | インターネットからのパケットは全てサーバーに流すようにする。パケットフィルタリングを行わない。 | ||
+ | ;利点:パケットフィルタリングに悩まないで済む。 | ||
+ | ;弱点:サイバーノーガード戦法を取らざるを得ない。 | ||
+ | ===OCN=== | ||
210.227.109.0/24っぽいが、voip11.ocn.ne.jp以降の振られ方が謎。<BR> | 210.227.109.0/24っぽいが、voip11.ocn.ne.jp以降の振られ方が謎。<BR> | ||
voip-ca3400まで調べたところで挫折。 | voip-ca3400まで調べたところで挫折。 | ||
51行目: | 70行目: | ||
nslookupに引っかからない<BR> | nslookupに引っかからない<BR> | ||
− | ===G-LEX | + | ===G-LEX=== |
202.210.173.128/25で括られている模様(ソースはwhois)<BR> | 202.210.173.128/25で括られている模様(ソースはwhois)<BR> | ||
;iax002.g-lex.net:202.210.173.169 | ;iax002.g-lex.net:202.210.173.169 |
2008年5月10日 (土) 15:25時点における版
Astlinuxネタが増えすぎたんで、しかるべき場所に移動するYO!!
目次
ミスプリ用紙の裏
chan_sccp
- NAT越えの発着信が可能。(PBX→グローバルIP 電話機→ローカルIPの組み合わせで運用chu!)
- chan_sccpにUAの機能はついてない。従ってCallManagerにはぶら下がらない。
- 本家(?)のML宛に、Line button patchが投稿されることがある。
- 使ってる人が少ない。
- sccp.confの記述方法が変(コンテキスト毎に分けられていない)
chan_sccpは、個人的見解としては「あまりいけてない」
とはいえ、chan_skinnyよりはマシな気が。
SCCP(Skinny)を使うなら、CP-7911のようなラインキー無しの電話機を使ったほうが楽で宜しい。
(但し利用者の環境に依存する)
Skinnyファームウェアを使うよりも、ノウハウの豊富なSIPファームウェアのほうがオススメ。
でも日本語ドキュメントは、ほぼ皆無
SIPに対応していない電話機(CP-7931とかWiFiなCisco電話機とか)を動かすなら、chan_sccp必須ですヨ!奥さん!
Cisco CallManager Express
Quintumと同様、Regist無しでAsteriskにぶら下がるやりかたと、
Regist有りでAsteriskにぶら下がるやりかたの二種類が確認されている。
このあたりはキッチリ打ち合わせしないと痛い目見る可能性極めて大なり。(ダイヤルプラン的な意味で)
ITSPとパケットフィルタリング
ぼちぼちSPIT(Spam over internet telephony)対策も練らんとね。と思いつつ、
まずはSIPポートを開く対象をホワイトリスト化しておこう。
G-LEXおよびOCNと繋ぐためのパケットフィルタリングルールでも創っておこう。
まずレジスト先ホストをリスト化しておく。
whoisからIPアドレス範囲調べて、ポートを開けても良さそうな気もするが、クライアント向けIPアドレスを含めてしまうのは宜しくない。
かと言ってIPアドレス一個だけ決め打ちしていると、サーバー側IPが変わったときに痛い目に遭う。
パケットフィルタリングに対する4つの方針
閉鎖的 ~UDP/5060開放先IPを決め打ち~
特定のIPに限ってUDP/5060を開放する。
- 利点
- 基本的にはITSP経由での通信となるので、セキュリティホールを突付かれ難くなる。
- 弱点
- ITSPのIPが変わった場合、通信できなくなるのでトラブルに見舞われやすい。(と思う)
開放 ~UDP/5060はサブネットで区切る~
WhoisゲートウェイからITSPが使用しているIPアドレスの範囲を調査し、その範囲内に限ってUDP/5060での通信を許可する。
- 利点
- 基本的にはITSP経由での通信となるので、セキュリティホールを突付かれ難くなる。
- 弱点
- ITSPのIPが変わった場合、通信できなくなる可能性が高い
IPを一個だけ開けるよりかはトラブルになり難い。
けっこう開放 ~UDP/5060ばっちこい~
- 利点
- ITSP側でIPアドレス変えても問題なくSIPでの通信が可能
- 弱点
- 某国からUDP5060宛の攻撃がやって来るかもしれない。SIP周りのセキュリティホールに注意すること
走召開放 ~パケットなんでもばっちこい~
インターネットからのパケットは全てサーバーに流すようにする。パケットフィルタリングを行わない。
- 利点
- パケットフィルタリングに悩まないで済む。
- 弱点
- サイバーノーガード戦法を取らざるを得ない。
OCN
210.227.109.0/24っぽいが、voip11.ocn.ne.jp以降の振られ方が謎。
voip-ca3400まで調べたところで挫折。
- voip1.ocn.ne.jp(3350~3359,3385)
- 210.227.109.197
- voip2.ocn.ne.jp
- 210.227.109.203
- voip3.ocn.ne.jp(3340~3349,3386,3680)
- 210.227.109.206
- voip4.ocn.ne.jp(3320~3329,3387,3670~3679)
- 210.227.109.232
- voip5.ocn.ne.jp(3310~3319,3395,3396)
- 210.227.109.215
- voip6.ocn.ne.jp(3300~3309,3388,3389,3390,3391)
- 210.227.109.217
- voip7.ocn.ne.jp(3330~3339,3392)
- 210.227.109.219
- voip8.ocn.ne.jp(3397,3398,3399)
- 210.227.109.245
- voip9.ocn.ne.jp(3363,3364,3371~3376,3378,3379)
- 210.227.109.247
- voip10.ocn.ne.jp
- 210.227.109.249
- voip11.ocn.ne.jp
- 210.227.109.119
- voip12.ocn.ne.jp
- 210.164.27.197
- voip13.ocn.ne.jp(3660~3669,3690~3699)
- 211.123.198.180
- voip14.ocn.ne.jp(3640~3649,3650~3659)
- 211.123.198.181
OCNの例外
3360~3362,3365~3370,3377,3380,3393,3394,3400は
voip-caXXXX.ocn.ne.jpというホスト名では無い模様
nslookupに引っかからない
G-LEX
202.210.173.128/25で括られている模様(ソースはwhois)
- iax002.g-lex.net
- 202.210.173.169
- sip002.g-lex.net(sip001.g-lex.net)
- 202.210.173.154
しかし、以前は222.で始まるIPアドレスだったよーな気がした。
Cisco ACLで書いてみたら、こんな按配。
remark SIP(Invite to G-LEX) permit udp host 192.168.0.1 gt 1023 202.210.173.128 0.0.0.127 eq 5060
注目しているURL
Standalone Cisco 7941/7961 without a local PBX
79XX系電話機とAsterisk
ファームウェア
http://www.xs4all.nl/~graver1/cisco/7905/ 7905のファームウェア
ftp://ftp.cisco.com/pub/voice/ip-phone/sip-7960/ 7961のSIPファームウェア
Cisco 7905/7912
chan sccp
Cisco 79XX カスタマイズ
短縮ダイヤル
Configuring Speed Dial
ラインキー用、ディレクトリボタン用(電話機単体用、企業共有用)短縮ダイヤル設定解説書。
SIPファームとSCCPファームで機能が別れている(らしい)
いぢくり中
Cisco IP Phone
CiscoIP Phone7900シリーズ
マルチライン動かないぞガッデム
SIPファームウェア入れたら、壁紙サイズとか日本語表示用ファイルが変わってた。
とか散々な目に遭ってしまった。
着信音ネタ(音源ファイルのつくりかた)
sox使え。とあるけど、windowsで作れるかやってみたいところ。
そもそもsoxって何。
astlinuxでの保留音作成と同じ流れでなら作れるかな?
それにしても上限が2秒というのは厳しいなぁ。以下、着信音の仕様
8000 Hz サンプリングレート 8 bits per sample ulaw compression 240 - 16080 samples long (0.03 秒~2.01 秒)
着信音ネタ(鳴り分け)
Asterisk側で着信音を鳴り分けできるらしい。
Asterisk側にて、ダイヤルする前に"ALERT_INFO"をSIP inviteに引っ付けて電話機に送り込むと、指定した着信音が鳴るらしい
ただし、
Note that this only seems to work for the internal ringtones and not for any custom ringtones.
↑このように内線着信で、なおかつカスタマイズした着信音だと使えない(らしい)
本当に動くんだろうかと。(例によって未検証)
Asterisk version <1 exten => 3010,1,SetVar(__ALERT_INFO=<Bellcore-dr1>) Assterisk 1.0 and 1.2 exten => 3010,1,SetVar(_ALERT_INFO=<Bellcore-dr1>) Asterisk 1.4 exten => 3010,1,SIPAddHeader(Alert-Info: <Bellcore-dr1>)
Cisco 7970G(SIPファームウェア)
LOGげっちゅ
最近の、CiscoのIP電話はHTTPを喋るので、http://192.168.0.66 (←電話機のIPアドレス)
とやると、設定内容やらDEBUG logやらが表示されるので便利
LOGから「Unknown」とか「Error」あたりで調べると、コンフィグの書き間違いを探すことができる。
XML Parser Warning: Unknown element 'uid' in element '/device/networkLocaleInfo' (line=67)
この時ばかりは「とりあえず、テキストファイルで出力してしまえ」というInternet Explorerを使ったほうが良い
標準設定なFirefoxの場合「得体の知れないファイルだけど、どうよ?」と 聞いてくるのでチョット面倒
パワーセーブ
Cisco IP Phone7970は液晶ディスプレイなので、夜は消灯しておいたほうが地球に優しい。
地球に優しい設定は、例によってSEP<MACアドレス>中に記述する必要がある。
http://www.redwatervoip.com/cisco/7970pso.txt とか
http://www.trixbox.org/forums/vendor-specific-unmoderated/linksys-cisco/7970g-power-save-configuration
が参考になるかもしれない。
ちなみに、CallManager Expressで(地球に優しい機能を)設定する場合は、
Router> enable Router# telephony-service Router# configure terminal Router(config)# telephony-service Router(config)# service phone displayOnTime 09:00 ←AM 9:00点灯 Router(config)# service phone displayOnDuration 12:00 ←12時間経ったら(PM 9:00になったら)消灯
結局のところ、SEP<MACアドレス>.cnf.xmlファイルに上記設定が書き込まれる訳ですな。
Cisco 7961G(SIPファームウェア)
ぶち込みかた
- 7960/7940のファームウェア(SIP用)を解凍し、TFTPサーバーに置いておく。
- (DHCP Optionが指定可能な)DHCPサーバーを立てておく。
- DHCPサーバーの設定で、TFTPサーバーのIPを指定しておく。
- #キーを押しながら電源(PoEならUTPケーブル)を挿す。(着信ランプが点滅するまで#を押し続けること)
- 着信ランプが点滅しはじめたら、123456789*0#の順に押す。(取り消しは、他のキー二度押し)
- ファームウェアが真っ白になり、電話機再起動
- 電話機再起動後、ファームウェアをTFTPサーバーから引っ張ってくる。
設定ファイル(SIP用)
Asterisk phone cisco 79x1 xml configuration files for SIP
SIP用cnfファイルジェネレータ←動作未検証
ソフトキー設定
SEP<MAC Address>.cnf.xml中の
<softKeyFile>SK50719900-3bee-4594-bc3f-6400e1a33bf0.xml</softKeyFile>
という箇所が、ソフトキーのテンプレファイル読み込み設定らしく、
電話機が起動したら、当該ファイルをTFTPサーバーから読み込みに行く。
しかし中身はどうなっているんだろうか?(↑のxmlファイル名でぐぐると大量に出てくる)
ソフトキー設定の書式が間違っていると、Unprovisionedと表示され、
延々と設定ファイルを読み込むようになる(restartコマンドを繰り返す)
[元ネタ]
と言うかですな。SK50719900-3bee-4594-bc3f-6400e1a33bf0.xmlでぐぐると大量に出てくるあたり、
元ネタが一つしか無いんじゃないかと思ったりする訳で。
ファームウェアバージョン指定
SEP<MAC Address>.cnf.xml中の
<loadInformation>SIP70.8-0-0SR1S</loadInformation>
という箇所がファームウェアに関する設定となり、上記バージョンのファームウェアを
TFTPサーバーから引っ張ってくる
(上記の記述内容では)SIP70.8-0-0SR1S.loadsというファイルをTFTPサーバーから引っ張ってくる
AutoAnswer
AutoAnswer機能を利用したスクリプト作成中
プログラム力の無さに絶望した。
AstLinux
Microclient JRにAstLinux入れてみた。
NTPサーバー
AstLinuxもNTPサーバーになれるので、設定してみる。
設定変更
NTPサーバーの設定を変更するため、rc.confを変更する。
vi /stat/rc.conf ←標準でインストールした場合 vi /mnt/kd/rc.conf ←/mnt/kd/以下にファイルを置いている場合
/etc/ntp.confを変更しても、再起動したら中身が消えてしまうので注意。
下記のように設定を変更する。(before)
##Master NTP server. This is the NTP server that AstLinux will sync against ##upon bootup. It is also the server that the running ntpd process will use ##to maintain that time sync. NTPSERV="us.pool.ntp.org" #NTPSERV="europe.pool.ntp.org" #NTPSERV="north-america.pool.ntp.org" #NTPSERV="south-america.pool.ntp.org" #NTPSERV="asia.pool.ntp.org" #NTPSERV="oceania.pool.ntp.org" #NTPSERV="africa.pool.ntp.org" ##If you would like to specify several servers to be used at the same time, ##you can specify them in NTPSERVS seperated by spaces. #NTPSERVS="ntp1.cs.wisc.edu us.pool.ntp.org"
NTPサーバーのIPアドレスを追加する。(After)
(ちゃんと調べてないだけではあるけども)DNSが引けてない事があったので、
NTPサーバーのIPを入力してみた。
##Master NTP server. This is the NTP server that AstLinux will sync against ##upon bootup. It is also the server that the running ntpd process will use ##to maintain that time sync. #NTPSERV="us.pool.ntp.org" ←NTPSERV=の箇所は全部コメント扱いにする #NTPSERV="europe.pool.ntp.org" #NTPSERV="north-america.pool.ntp.org" #NTPSERV="south-america.pool.ntp.org" #NTPSERV="asia.pool.ntp.org" #NTPSERV="oceania.pool.ntp.org" #NTPSERV="africa.pool.ntp.org" ##If you would like to specify several servers to be used at the same time, ##you can specify them in NTPSERVS seperated by spaces. #NTPSERVS="ntp1.cs.wisc.edu us.pool.ntp.org" NTPSERVS="133.243.238.243 133.243.238.244" ←ここの行を追加
NICTが提供しているNTPサーバーのIPを入力したが、自宅内に既存NTPサーバーがあれば、そこを指定したほうがよろしい。
設定したら、再起動。
動作確認
再起動後、さきほど変更したrc.confの中身が、
/etc/ntp.confに反映されている事を確認する。
pbx ~ # cat /etc/ntpd.conf listen on 0.0.0.0 server 133.243.238.243 server 133.243.238.244
ntpdが動いていたら、動作確認のために一旦止めてしまう
pbx ~ # ps ax |grep ntp 1135 ? S 0:00 /usr/sbin/mDNSProxyResponderPosix 192.168.0.6 pbx AstLinux PBX _ntp._udp 123 1167 ? S 0:00 ntpd 1168 ? S 0:00 ntpd 1170 pts/0 S+ 0:00 grep ntp pbx ~ # kill 1167
ntpdをデバッグモードで動かしてみる。
pbx ~ # ntpd -d listening on 0.0.0.0 ntp engine ready reply from 133.243.238.244: offset 15.018296 delay 1.014712, next query 5s reply from 133.243.238.243: offset 15.009712 delay 1.038980, next query 8s reply from 133.243.238.244: offset 15.018296 delay 1.014712, next query 5s reply from 133.243.238.243: offset 15.009712 delay 1.038980, next query 8s reply from 133.243.238.244: offset 15.018296 delay 1.014712, next query 5s reply from 133.243.238.243: offset 15.008712 delay 1.038980, next query 8s (略) peer 133.243.238.244 now valid peer 133.243.238.244 now valid (略) adjusting local clock by 14.498614s
それっぽく動作していたらOK牧場。
ちなみにntpdを止め忘れていると、文句言われるので注意。
pbx ~ # ntpd -d listening on 0.0.0.0 fatal: bind: Address already in use dispatch_imsg in main: pipe closed Terminating pbx ~ # ps ax
時間のずれが大きすぎると修正できないので、予めPCの時間を合わせておくと良いだろう。
なお、NTPサーバーとして動くようになるまでに1時間近くかかる事があるので、
電話機(他のNTPクライアント)が時間あわせに失敗しても焦ってはいけない。
AstLinuxとchan_sccp
AstLinuxには、あらかじめchan_sccpが入っているので、ファイルを追加する必要がない。
Forneus ~ # mount -o rw,remount / Forneus ~ # vi /stat/etc/asterisk/sccp.conf
という具合に/stat/etc/asterisk/以下にsccp.confを新規作成。
sccp.confを作成したら、再起動かけるか、
下記の手順でファイルを読みこむようにする。
Forneus # cp /stat/etc/asterisk/sccp.conf /etc/asterisk/sccp.conf Forneus # asterisk -vvvvvvvvvvvvvvvvvvvvr (vを16連打) Forneus*CLI> unload chan_sccp.so Forneus*CLI> load chan_sccp.so
SEP<MACアドレス>.cnf.xmlの編集も忘れてはいけない
設定が正しければ、Cisco電話機がRegistする。
EXTIF
#EXTIF=eth0
/stat/etc/rc.conf内の、EXTIFをコメントアウト解除すると、PBXオンリーモードになり、
HTTPの設定とかTFTPサーバーの設定が効かなくなる。
INTIF
#INTIF=eth0
/stat/etc/rc.conf内の、INTIFをコメントアウト解除すると、ゲートウェイとして使えるモードになるが、
EXTGW="10.0.0.1" DNS="192.168.0.1"
デフォルトゲートウェイやDNSの設定が効かなくなる。(rc.confの設定が無視される)
rc.confの設定を見直すのが正攻法ではあるものの、小細工も結構効いたりする。
DNS
INTIF=eth0を有効にしていると、/etc/resolv.conf
Forneus init.d # cat /etc/resolv.conf search hoge. nameserver 127.0.0.1
という具合に、外部DNSを参照してくれない。
rc.conf内のDNSの項目が無視される。
/etc/init.d/dnsmasqを開くと
if [ "$LOCALDNS" ] then RCONF="/tmp/etc/resolv-up.conf" echo "search $DOMAIN nameserver 127.0.0.1" > /tmp/etc/resolv.conf else RCONF="/tmp/etc/resolv.conf" fi
とあるので、
nameserver 192.168.0.1" > /tmp/etc/resolv.conf
と小細工することで任意のDNSサーバーを参照することが出来る。
デフォルトゲートウェイ
vi /etc/init.d/network
とやると、/stat/etc/rc.conf内のネットワークの挙動が(ちょっと)わかる
デフォルトルートは
route add -net default gw "$EXTGW" dev "$EXTIF"
と設定されているようだ。
余りスペースを活用する
英語版astlinuxが使用する(CFカードの)ディスクスペースは64MB。
1GBのカード使ったとしたら残り900MBは無駄。こいつはMOTTAINAI
TFTPサーバーとして使うため、ディスクスペースを有効活用する事にした。
とりあえずメモ
スライス
fdisk /dev/hda と入力。
fdisk /dev/hda The number of cylinders for this disk is set to 3957. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK)
コマンド?と聞かれたら"n"(Newの略らしい)を押す。
command actionと聞かれたらpを押す。
Command (m for help): n command action e extended p primary partition(1-4)
次に2を押す。パーティション番号らしい
Partition number (1-4):
次はそのままデフォルト値でいいかな。そのままエンターキー
First cylinder (521-3957, default 521):
次はサイズを聞かれる。デフォルト値(全部使う)でいいかな。そのままエンターキー
Last cylinder or +size or +sizeM or +sizeK (521-3957, default 3957):
何も無かったように、最初に戻った。
Using default value 3957 Command (m for help):
pを押したら、スライス切れた気がする。
Command (m for help): p Disk /dev/hda: 2042 MB, 2042191872 bytes 16 heads, 63 sectors/track, 3957 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot Start End Blocks Id System /dev/hda1 1 520 262048+ 83 Linux /dev/hda2 521 3957 1732248 83 Linux
wを押すと、実際に書き込む。 そして再起動だ。
文句言われることもある。
使用中ですかそうですか。
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table fdisk: WARNING: rereading partition table failed, kernel still uses old table: Device or resource busy
何か忘れてると思ったら初期化を忘れていた。(だから文句言われる)
この前はどうやって使えてたんだろうか(記憶にございません)
mke2fs -c /dev/hda2 と入力してみる。
# mke2fs -c /dev/hda2 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 216832 inodes, 433062 blocks 21653 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=444596224 14 block groups 32768 blocks per group, 32768 fragments per group 15488 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Checking for bad blocks (read-only test): done Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 20 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
テストとして、/mnt/kbあたりにマウントさせてみた。
# mount /dev/hda2 /mnt/kd # mount rootfs on / type rootfs (rw) /dev/root on / type ext2 (ro) none on /proc type proc (rw) none on /dev type tmpfs (rw) none on /var type tmpfs (rw) none on /tmp type tmpfs (rw) none on /dev/pts type devpts (rw) none on /sys type sysfs (rw) usbfs on /proc/bus/usb type usbfs (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/hda2 on /mnt/kd type ext2 (rw)
dfでもちゃんと空き表示される。
ちなみに、2GBのフラッシュメモリを使っている。
# df -m Filesystem 1M-blocks Used Available Use% Mounted on rootfs 248 69 179 28% / /dev/root 248 69 179 28% / none 1 0 1 0% /dev none 5 1 5 3% /var none 10 3 8 25% /tmp /dev/hda2 1666 3 1578 1% /mnt/kd
自動でmountさせる
mkdir /mnt/hda2 mount /dev/hda2 /mnt/hda2
とやると、とりあえず/mntにマウントされる。 が、さすがに毎回手動マウントする訳には行かない。
mount -o rw,remount / vi /etc/rc
と入力し、起動スクリプトを直接編集することにした。
ここで注意すべきは"/etc/fstab"を直接編集しても意味が無いということだ。
自動マウントさせたいなら、"/etc/rc"を直接編集すべしである。
mount -t ほげ
という分を探すと111行目あたり(Astlinux日本語版なら121行目あたり)に、それっぽい設定が見つかるので、
mount /stat/dev/hda2 /mnt/hda2
という行をテキトーに追加。上書き保存して再起動
これでAstlinuxが使ってない領域を自由に使えるようになった。
# df -m Filesystem 1M-blocks Used Available Use% Mounted on rootfs 248 69 179 28% / /dev/root 248 69 179 28% / none 1 0 1 0% /dev none 5 1 5 3% /var none 10 3 8 25% /tmp /dev/hda2 1666 3 1578 1% /mnt/hda2
/etc/fstabの中身は、/etc/rcが自動作成した「ただのテキストファイル」なので、
変更しても意味が無いっぽい。(再起動の度に新規作成される)
以上、/etc/rcの一部を引用
echo "$ROOTDEV / ext2 ro 0 0 proc /proc proc defaults 0 0 none /dev tmpfs size=200k 0 0 none /tmp tmpfs size=10000k 0 0 none /var tmpfs size=5000k 0 0 " > /tmp/etc/fstab
資源(あいたスペース)の有効活用
標準の保留音では「Asteriskでござる」と言わんばかりであり、ちょっち個性に欠けるので、
/mnt/hda2/に保留音をぶちこむ。みっくみくにしてやんYO!!
Astlinuxで使える保留音のファイルフォーマットはMP3ではなく、ulawファイルなので注意が必要である。
/var/lib/asterisk/moh/default以下には収まりきれないので、下記の方法で解決する
リンク張る
設定要らずで済ますなら、lnコマンドを使う。ファイルが少ないなら問題ないだろう。
Forneus # ln -s /mnt/hda2/MoH/clouds.ulaw /var/lib/asterisk/moh/default/
設定変更
/stat/etc/asterisk/musiconhold.confを直接編集しても良い。
Forneus asterisk # vi /stat/etc/asterisk/musiconhold.conf [default] mode=files ;directory=/var/lib/asterisk/moh/default directory=/mnt/hda2/MoH random=yes ; Play the files in a random order
tftpd
Cisco電話機を動かす前にtftpサーバーを動かす必要がある。
Cisco電話機は、tftpサーバーから設定ファイル、壁紙、着信音などを引っ張ってくるからである。
Forneus # vi /stat/etc/rc.conf (略) ##Configure TFTPD support ##Works the same as FTPD above. TFTPD=inetd ←コメントはずした ##TFTP Server options (flags to pass to TFTP) ##This only works in standalone TFTP server mode #TFTPDOPTIONS="-l -s /tftpboot" TFTPDOPTIONS="-l -s /mnt/tftp" ←付け足しても無視される模様
TFTPD=inetdにすると、TFTPDOPTIONSが無視されてしまうようだ。
TFTPD=tftpdにすると、tftpd自体が動かない模様。
tftpの設定も小細工が可能である。
/vi/etc/init.d/inet if [ "$TFTPD" -a "$TFTPD" = "inetd" ] then if [ -d /mnt/kd/tftpboot ] then ln -s /mnt/kd/tftpboot /tmp/tftpboot else mkdir /tmp/tftpboot fi echo "tftp dgram udp wait root /usr/sbin/tftpd tftpd -s /tmp/tftpboot" >> /tmp/etc/inetd.conf ←ここの行を小細工(Before) fi }
fi echo "tftp dgram udp wait root /usr/sbin/tftpd tftpd -s /mnt/hda2/tftp/" >> /tmp/etc/inetd.conf ←ここの行を小細工(After) fi }
ファイルを変更したら、再起動をかける。
とりあえず動いたらしい
Forneus log # ps |grep tftp 1226 root 272 S tftpd -s /mnt/hda2/tftp/ 1364 root 296 S
Astlinuxの小ネタ
起動が超遅い
DNSの正引き逆引きが出来てない可能性大。
謎のポートの2000番
chan_sccpが2000番を絶賛使用中
2GB以上のCFに入らない
DDforWindowsでダメならphysdiskwrite使ってみる。
BOOTしない
CFカードに孔明の罠が仕込まれていることがあり、ファイルの一部が破損していることがある。
configもろもろのバックアップ(CF丸ごとでも良い)を取っておくこと。
ファイルの一部が破損することがあるので、
md5sumにてファイルの同一性を確認すべし。(ファイルの一部が壊れることもある)
特にTranscend製のカード使ったら頻発した。(4枚中3枚で上記障害が発生)