IPSEC_SETUPの不具合対処


Androidから自宅サーバー(ubuntu12.04)にアクセスする で、Android端末で

繋がるようになったのだが、再起動をかけると、IPSEC_SETUP が失敗している件について

とりあえず対処してみた。

ログを読むと、起動に失敗している件は分かるけれど、根本的な対処要領は分からない。

とりあえず、 sudo service ipsec restart を端末で打ち込めば大丈夫だが、再起動のたびに

打ち込まないと駄目だと言うことで、何とか自動で出来ないかしたことの顛末

自動起動しようにも、rootコマンドなので、起動しようとするとパスを入力しないと駄目だとか

いろいろ制約がある。

結局 Ubuntu日本語フォーラム を参考にさせてもらった。

$ sudo touch /usr/local/sbin/ipsecrestart   #ipsecrestartというシェルを作る

$ sudo chmod +x /usr/local/sbin/ipsecrestart

$ sudo gedit /usr/local/sbin/ipsecrestart

#!/bin/sh
service ipsec restart

 起動スクリプトのスケルトン
/etc/init.d/skeleton  をコピーして実行属性をつける

$ sudo cp /etc/init.d/skeleton /etc/init.d/ipsecrestart

$ sudo chmod +x /etc/init.d/ipsecrestart

 中の編集

$ sudo gedit /etc/init.d/ipsecrestart

# Provides: ipsecrestart       #3行目 skeletonから変更する

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin  #21行目 :/usr/local/sbinを追加
DESC=”IPSEC restart”                                                              #DESCに説明
NAME=ipsecrestasrt                       #実際のシェルスクリプトの名前
DAEMON=/usr/local/sbin/$NAME             #シェルスクリプトを置いた場所に変更
DAEMON_ARGS=””         #引数を使わないのでDAEMON_ARGSはクォートの中を削除
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

start-stop-daemon –start –quiet –background –make-pidfile –pidfile $PIDFILE –exec $DAEMON –test > /dev/null \
|| return 1
start-stop-daemon –start –quiet –background –make-pidfile –pidfile $PIDFILE –exec $DAEMON — \
52行目と54行目に–background –make-pidfileを追加

ipsecrestart という作成したコマンドが動くことを確認する

$ sudo service ipsecrestart start
$ sudo service ipsecrestart stop
$ sudo service ipsecrestart restart

$ sudo update-rc.d Wifi defaults

で/etc/rcN.d/ 以下に登録でき、再起動後自動的にipsecのrestartが動いて、接続できることを確認した

登録を削除したい場合は

$sudo update-rc.d -f ipsecrestart remove

Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


 

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)