WM3800Rをアクセスポイント化

さて、LIVAをルータ化しましたが、LIVAに入れたUbuntu Serverでは自力で無線ルータとして動作させることができないため、シェアリーWiMAXの契約が今月で切れて余るWM3800Rをアクセスポインタ化にすることで、タブレット等を無線接続させます。

 

1.WM3800Rのアクセスポイント化

まず、グレードルが必要です。これはシェアリーWiMAX契約時についてこないものなので、別途購入します。  

日本電気 AtermWM3800R用クレードル PA-WM08C

日本電気 AtermWM3800R用クレードル PA-WM08C

 

グレードルにWM3800Rを指し、グレードルの裏にあるスイッチを「RT」から「AP」に変更します。WM3800Rが勝手に再起動を始め、液晶画面が変われば完了です。

以上。

 

2.注意点

少しハマったのでメモ書き。

・APモードにするとブラウザからWM3800Rの管理画面に接続できなくなる。

→RTモードの時に予めMACアドレスフィルタリング等、セキュリティの設定をしておきましょう。誰でも使えるようになってしまいます。

 

タブレット等の設定で静的IPアドレス等を設定しておく。

→これはルータ化したLIVA(Ubuntu Server)でDHCPサーバアプリを入れてないからかもしれませんが、IPアドレスが無線端末に正常に割り振られないため、端末側で設定することで、

タブレット~(無線)~WM3800R→(有線)→LIVA(ルータ)→インターネットが実現できます。

【LIVA】【Ubuntu server14.04】iptablesのログを個別ファイルに出力

iptablesの設定でログを出力できますが、これらは「/var/log/kern.log」に出力されるので、必要なログだけを抜粋できるようにします。

 

1.出力設定ファイルを作る

$sudo vi /etc/rsyslog.d/iptables.conf
:msg,contains,"DROP" /var/log/iptables/DROP.log

 :msg~から続く記載をします。""で括った文字列がkern.logにあれば、それを/var/log/iptables/DROP.logに抽出します。

 

"DROP"という文字列は普通はkern.logされませんが、iptablesの設定で

/sbin/iptables -A xxx -j LOG --log-prefix "DROP: "
/sbin/iptables -A xxx -j DROP

というようにしておけば、DROPする前に「DROP:」という単語を先頭に含んでkern.logに情報を吐き出します。

 

ちなみに

$sudo view /etc/rsyslog.conf

 $IncludeConfig /etc/rsyslog.d/*.conf というのが、ファイルの最後に記載されているかと思います。

この記載があることで、rsyslog実行時に/etc/rsyslog.d/配下のconfファイルを自動で読み込んでくれます。

 

2.出力先ログファイルの作成

ubuntuを使用している場合、出力先のログファイル(今回はDROP.log)を先に作っておきます。自動では作られないため注意。

$sudo mkdir /var/log/iptables

$sudo touch /var/log/iptables/DROP.log

$sudo chown syslog /var/log/iptables/DROP.log

$sudo chgrp adm /var/log/iptables/DROP.log

作成と同時にkern.logと同じユーザ、グループに変更します。

 

3.rsyslogの再起動

$ sudo service rsyslog restart 

rsyslog stop/waiting
rsyslog start/running, process xxxxx

 

rsyslog後から自動で"DROP"を含むログ情報がDROP.logに出力されます。

 

【LIVA】【Ubuntu server14.04】Asteriskサーバで050plus収容(セキュリティ強化)

技術メモだからね。一応書かないとってことで。

 

乗っ取りなどで勝手に外線された場合を想定して最低限のことをしておきます。

$sudo vi /etc/asterisk/extensions.conf

[globals]

MYNUMBER=050xxxxxxxx

 

[default]

;050plus
;---注意点
;先頭のダミー番号について、先頭3を付与すると
;Auto fallthrough, channel 'SIP/XXXXX' status is 'UNKNOWN'
;とasterisk -vvvvcrを実行した時に表示され、外線発信できない。

;理由は不明。また、先頭5以外で許容される番号は不明(調べる気はあまりない)

 

exten => _567.,1,Set(CALLERID(num)=${MYNUMBER})
exten => _567.,2,Set(CALLERID(name)=${MYNUMBER})
exten => _567.,3,Dial(SIP/${EXTEN:3}@050plus,120,T)

; 00 を禁止
exten => _56700., 1, Answer()
exten => _56700., 2, Wait(1)
exten => _56700., 3, Hanup
exten => _56718[46]00., 1, Answer()
exten => _56718[46]00., 2, Wait(1)
exten => _56718[46]00., 3, Hanup
; 010 を禁止
exten => _567010., 1, Answer()
exten => _567010., 2, Wait(1)
exten => _567010., 3, Hanup
exten => _56718[46]010., 1, Answer()
exten => _56718[46]010., 2, Wait(1)
exten => _56718[46]010., 3, Hanup

今回の設定に関連するものだけ抜粋してます。

まず、

exten => _567.,3,Dial(SIP/${EXTEN:3}@050plus,120,T)

ですが、「_567.」でダイヤル番号の先頭を偽装します。

普通は「_0.」と設定することで発信先番号(090xxxxxxxx)とSIPフォンソフトで発信することができますが、「_567.」と設定することで、567090xxxxxxxxとダイヤルした時のみ外線発信できるようになります。

ポイントは「SIP/${EXTEN:3}です。EXTEN:3を設定することで先頭の3桁を除いてAsteriskでダイヤル処理をします。つまり、567090xxxxxxxxでSIPフォンソフトで発信したら、Asteriskで567を除外した上で090xxxxxxxxで発信してくれます。

 

次に

exten => _56700., 1, Answer()
exten => _56700., 2, Wait(1)
exten => _56700., 3, Hanup 

ですが、56700が先頭に入っていたら外線発信させずに切断します。

先頭567をつければ外線発信出来てしまうことがバレてしまった場合の国際発信のガード処理と言えます。

 

exten => _56718[46]00., 1, Answer()
exten => _56718[46]00., 2, Wait(1)
exten => _56718[46]00., 3, Hanup

 は、184,186が設定された場合。

010の記載も理屈は同じです。

 

ただ、上記は国際発信をガード出来るだけなので、国内発信は該当しません。

そもそもAsteriskにアクセスさせない等のガード処理をいろいろ設定する必要があります。

 

【LIVA】【Ubuntu server14.04】シェルスクリプト自動実行登録

現在iptablesを構築中なわけですが、とりあえず作ったシェルをサーバ再起動時に自動実行できるように登録します。

$sudo chmod 755 iptables.sh

$sudo chown root iptables.sh

$sudo chgrp root iptables.sh

$sudo mv iptables.sh /etc/init.d

$cd /etc/init.d/

$sudo update-rc.d  iptables.sh defaults

update-rc.d: warning: /etc/init.d/iptables.sh missing LSB information
update-rc.d: see http://wiki.debian.org/LSBInitScripts
Adding system startup for /etc/init.d/iptables.sh ...
/etc/rc0.d/K20iptables.sh -> ../init.d/iptables.sh
/etc/rc1.d/K20iptables.sh -> ../init.d/iptables.sh
/etc/rc6.d/K20iptables.sh -> ../init.d/iptables.sh
/etc/rc2.d/S20iptables.sh -> ../init.d/iptables.sh
/etc/rc3.d/S20iptables.sh -> ../init.d/iptables.sh
/etc/rc4.d/S20iptables.sh -> ../init.d/iptables.sh
/etc/rc5.d/S20iptables.sh -> ../init.d/iptables.sh

前半から中盤のコマンドは実行権限をつけたり、ファイルユーザをrootにしたり。

update-rc.dを実行するとwarningが出たけど、とりあえず気にしない・・・

これでリブートすればiptabelsが自動で設定される。

 

【2014/10/31 追記】

自動実行の削除は以下のとおり。

$sudo update-rc.d -f  iptables.sh remove
 Removing any system startup links for /etc/init.d/iptables.sh ...
   /etc/rc0.d/K20iptables.sh
   /etc/rc1.d/K20iptables.sh
   /etc/rc2.d/S20iptables.sh
   /etc/rc3.d/S20iptables.sh
   /etc/rc4.d/S20iptables.sh
   /etc/rc5.d/S20iptables.sh
   /etc/rc6.d/K20iptables.sh

 

自動実行登録の確認は以下のとおり

$ ls /etc/rc2.d 

 ここで出力されていれば自動実行になる。出力されていなければ自動実行しない。

また、頭文字がKであれば停止用、Sであれば起動用になってる。

【LIVA】【Ubuntu server14.04】1つのNICに複数IPアドレス

1つのNICに対して、複数IPアドレスを設ける場合の設定。

 

1.設定変更

IPアドレスの設定は以下のファイルを弄る。

複数IPアドレスを設けるとは、すなわち1NICに仮想インタフェースを追加することになるため、例えば、NICに「eth0」という名前が割り振られていたら、「eth0:0」なり「eth0:1」と「:x」という形で設定してあげればいい。

$sudo vi /etc/network/interfaces 

 

auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.11.138
netmask 255.255.255.0
network 192.168.11.0
gateway 192.168.11.1
broadcast 192.168.11.255
dns-nameservers 192.168.11.1

 

auto eth0:1
iface eth0:1 inet static
address 192.168.11.254
netmask 255.255.255.0
network 192.168.11.0
gateway 192.168.11.1
broadcast 192.168.11.255
dns-nameservers 192.168.11.1

2.リブート実施

$sudo shutdown -r now

リブートして起動が遅くなったと思ったら3へ。

 

3.サーバの起動が遅くなった場合の対処

上記の設定変更をすると、サーバ起動時の処理が遅くなる。

ので、以下のファイルを設定変更する。

$sudo vi /etc/init/failsafe.conf

  • sleep 20

→ sleep 5に変更

  • $PLYMOUTH message --text="Waiting for network configuration..." || :
  • sleep 40
  • $PLYMOUTH message --text="Waiting up to 60 more seconds for network configuration..." || :
  •  sleep 59
  •  $PLYMOUTH message --text="Booting system without full network configuration..." || :
  • sleep 1

→すべてコメントアウト

 

【LIVA】【Ubuntu server14.04】VPNをやりたい(SoftEtherインストール編)

こちらがとても参考になってので載せておきます。

某模型メーカー中の人のサーバ管理帳: Ubuntu ServerにSoftEther VPN Serverを入れてみる

 

1.SoftEtherの取得とmake

wgetコマンドで取得します。

取得するファイルは各環境に合わせる必要があります。

http://jp.softether-download.com/files/softether/

 

$wget http://jp.softether-download.com/files/softether/v4.10-9473-beta-2014.07.12-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.10-9473-beta-2014.07.12-linux-x64-64bit.tar.gz 

 

jp.softether-download.com (jp.softether-download.com) をDNSに問いあわせています... 130.158.75.49
jp.softether-download.com (jp.softether-download.com)|130.158.75.49|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 5638726 (5.4M) [application/x-gzip]
`softether-vpnserver-v4.10-9473-beta-2014.07.12-linux-x64-64bit.tar.gz' に保存中

100%[======================================>] 5,638,726   2.14MB/s   時間 2.5s

2014-09-28 14:34:59 (2.14 MB/s) - `softether-vpnserver-v4.10-9473-beta-2014.07.12-linux-x64-64bit.tar.gz' へ保存完了 [5638726/5638726]

 

取得したファイルを解凍します。

$sudo tar zxvf ./softether-vpnserver-v4.10-9473-beta-2014.07.12-linux-x64-64bit.tar.gz

 

vpnserver/
vpnserver/Makefile
vpnserver/.install.sh
vpnserver/ReadMeFirst_License.txt
vpnserver/Authors.txt
vpnserver/ReadMeFirst_Important_Notices_ja.txt
vpnserver/ReadMeFirst_Important_Notices_en.txt
vpnserver/ReadMeFirst_Important_Notices_cn.txt
vpnserver/code/
vpnserver/code/vpnserver.a
vpnserver/code/vpncmd.a
vpnserver/lib/
vpnserver/lib/libcharset.a
vpnserver/lib/libcrypto.a
vpnserver/lib/libedit.a
vpnserver/lib/libiconv.a
vpnserver/lib/libintelaes.a
vpnserver/lib/libncurses.a
vpnserver/lib/libssl.a
vpnserver/lib/libz.a
vpnserver/lib/License.txt
vpnserver/hamcore.se2

makeコマンドを実行します。

$ cd vpnserver/
$ ls
Authors.txt                           ReadMeFirst_License.txt
Makefile                              code
ReadMeFirst_Important_Notices_cn.txt  hamcore.se2
ReadMeFirst_Important_Notices_en.txt  lib
ReadMeFirst_Important_Notices_ja.txt
$ sudo make

 

--------------------------------------------------------------------

SoftEther VPN Server (Ver 4.10, Build 9473, Intel x64 / AMD64) for Linux Install Utility
Copyright (c) SoftEther Project at University of Tsukuba, Japan. All Rights Reserved.

--------------------------------------------------------------------


Do you want to read the License Agreement for this software ?

 1. Yes
 2. No

Please choose one of above number:
1

 

(略)

 

--------------------------------------------------------------------
The preparation of SoftEther VPN Server is completed !


*** How to switch the display language of the SoftEther VPN Server Service ***
SoftEther VPN Server supports the following languages:
  - Japanese
  - English
  - Simplified Chinese

You can choose your prefered language of SoftEther VPN Server at any time.
To switch the current language, open and edit the 'lang.config' file.


*** How to start the SoftEther VPN Server Service ***

Please execute './vpnserver start' to run the SoftEther VPN Server Background Service.
And please execute './vpncmd' to run the SoftEther VPN Command-Line Utility to configure SoftEther VPN Server.
Of course, you can use the VPN Server Manager GUI Application for Windows on the other Windows PC in order to configure the SoftEther VPN Server remotely.
--------------------------------------------------------------------

make[1]: ディレクトリ `/tmp/vpnserver' から出ます

ライセンスとか使用条件とかいろいろ聞かれますが、基本的に1を選択。

※makeがエラーになる場合は、以下で必要なものを取得

sudo apt-get install gcc make binutils chkconfig libc-dev zlib1g-dev openssl libreadline-dev libncurses-dev

2.デーモン動作設定

とりあえずフォルダを移動します。

$sudo mv vpnserver /usr/local

 

デーモン起動させるため、以下のファイル作成します。※参考サイトより

$sudo vi /etc/init.d/vpnserver

#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
;;
stop)
$DAEMON stop
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

 

そのままだと実行権限もないため、権限変更を行います。

$sudo chmod 755 /etc/init.d/vpnserver 

 

3.実行

$ sudo  service vpnserver start
The SoftEther VPN Server service has been started. 

 停止、再開は以下になります。

$ sudo  service vpnserver stop
$ sudo  service vpnserver restart