カラカニのメモ帳
<p>エンジニア。社会に放流されてもう4年がたつ。</p>
http://previous.mindia.jp/book/karakani
2024-03-19T14:31:17+09:00
-
text/html
2022-07-20T02:05:23+09:00
kani
蝉が泣き始めた日の一覧
http://previous.mindia.jp/book/karakani/keyword/%E8%9D%89%E3%81%8C%E6%B3%A3%E3%81%8D%E5%A7%8B%E3%82%81%E3%81%9F%E6%97%A5%E3%81%AE%E4%B8%80%E8%A6%A7
<h2 id="wiki_html_heading_1" name="wiki_html_heading_1">2012年</h2><p><br />2012年7月16日 - 杉並区。<br /></p><h2 id="wiki_html_heading_2" name="wiki_html_heading_2">2014年</h2><p><br />2014年7月18日 - 新宿区 - 新宿御苑。<br /></p><h2 id="wiki_html_heading_3" name="wiki_html_heading_3">2016年</h2><p><br />2014年7月16日 - <a href="/book/karakani/keyword/%E6%B8%8B%E8%B0%B7%E5%8C%BA" class="auto_link">渋谷区</a> - 代々木公園。<br /></p><h2 id="wiki_html_heading_4" name="wiki_html_heading_4">2018年</h2><p><br />2018年8月1日 - 杉並区。蝉の声に気づくのが遅すぎた。<br /></p><h2 id="wiki_html_heading_5" name="wiki_html_heading_5">2022年</h2><p><br />2022年7月19日 - 杉並区。まだ1匹しか鳴いてない模様。</p>
-
text/html
2012-07-13T13:58:26+09:00
kani
Zend Guard
http://previous.mindia.jp/book/karakani/keyword/Zend+Guard
<p>難読化<a href="/book/karakani/keyword/%E3%83%84%E3%83%BC%E3%83%AB" class="auto_link">ツール</a>。PHPを<a href="/book/karakani/keyword/%E6%9C%80%E9%81%A9%E5%8C%96" class="auto_link">最適化</a>してバイナリ形式に変換し、難読化してくれる。<br /><br /><a href="/book/karakani/keyword/Zend+Guard" class="auto_link">Zend Guard</a>を利用したPHP<a href="/book/karakani/keyword/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3" class="auto_link">アプリケーション</a>は<a href="/book/karakani/keyword/Zend+Guard" class="auto_link">Zend Guard</a>か<a href="/book/karakani/keyword/Zend+Guard" class="auto_link">Zend Guard</a> Loaderモジュールを搭載した<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>で実行することができる。<br /><br /><a href="/book/karakani/keyword/Zend+Guard" class="auto_link">Zend Guard</a>は有償なのに対して、<a href="/book/karakani/keyword/Zend+Guard" class="auto_link">Zend Guard</a> Loaderは無償で利用できる。</p>
-
text/html
2011-11-21T18:29:42+09:00
kani
vsftpd
http://previous.mindia.jp/book/karakani/keyword/vsftpd
<p>FTP<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>。めったに使わないけどたまに使う。SMTP<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>同様、セットアップは大抵<a href="/book/karakani/keyword/1%E5%B9%B4" class="auto_link">1年</a>に数回しかしないからどの<a href="/book/karakani/keyword/%E8%A3%BD%E5%93%81" class="auto_link">製品</a>を使ってるのかよく忘れる。<br /></p><h2 id="wiki_html_heading_6" name="wiki_html_heading_6"><a href="/book/karakani/keyword/CentOS" class="auto_link">CentOS</a>にVs<a href="/book/karakani/keyword/ftp" class="auto_link">ftp</a>dを<a href="/book/karakani/keyword/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB" class="auto_link">インストール</a>する</h2><p></p><h3 id="wiki_html_heading_6-1" name="wiki_html_heading_6-1">1. yumで<a href="/book/karakani/keyword/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB" class="auto_link">インストール</a>します。</h3><pre class="prettyprint">#yum install vsftpd</pre><p><br /></p><h3 id="wiki_html_heading_6-2" name="wiki_html_heading_6-2">2. 設定ファイルを変更します。</h3><pre class="prettyprint">#vi /etc/vsftpd/vsftpd.conf</pre><p></p><pre class="prettyprint">anonymous_enable=NO # 匿名ログインを禁止します
listen=NO # xinetdで起動する場合には"NO"に変更します。スタンドアロンで動作させる場合にはYESのままにします。</pre><p></p><h3 id="wiki_html_heading_6-3" name="wiki_html_heading_6-3">3. ファイヤーウォール(iptables)を設定します。</h3><pre class="prettyprint">#vi /etc/sysconfig/iptables</pre><p><br />パッシブモード用の設定です。RELATEDというのが重要です。<br />設定されていない場合には設定してください。</p><pre class="prettyprint">-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</pre><p><br />こういった形のエントリが1行増えます。もちろん21というのは<br />アクセスに必要なポート番号です。ルール名は必要に応じて変更してください。</p><pre class="prettyprint">-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT</pre><p><br />編集が終わったらiptablesを再起動して設定を反映してあげます。</p><pre class="prettyprint">#service iptables restart</pre><p><br />OSにip_conntrack_<a href="/book/karakani/keyword/ftp" class="auto_link">ftp</a>モジュールを組み込みます。このモジュールでOSが接続を追跡できるようになり、パッシブモードで動作するよう動的にポートを開いてくれます。<br />先ほどのiptablesに設定したRELATEDという設定と関連しています。<br /></p><pre class="prettyprint">#vi /etc/sysconfig/iptables-config</pre><p><br />IPT<a href="/book/karakani/keyword/ABLE" class="auto_link">ABLE</a>S_MODULESというエントリに "ip_conntrack_<a href="/book/karakani/keyword/ftp" class="auto_link">ftp</a>" を設定します。<br />NATの背後にある場合には、"ip_nat_<a href="/book/karakani/keyword/ftp" class="auto_link">ftp</a>"も設定します。<br />複数設定する場合にはスペースで区切ります。<br /></p><pre class="prettyprint">IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp"</pre><p><br />iptables-config ファイルで設定しても現在動作中のOSには反映されないため、<br />動的にモジュールを読み込んであげるようにします。<br /></p><pre class="prettyprint">#modprobe ip_conntrack_ftp</pre><p><br />※この<a href="/book/karakani/keyword/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89" class="auto_link">コマンド</a>は何も出力しません。もしエラーが発生した場合にはメッセージが表示されます。<br /></p><h3 id="wiki_html_heading_6-4" name="wiki_html_heading_6-4">4. xinetdで起動するよう、設定ファイルを配置します。</h3><p>(この項目はxinetdで<a href="/book/karakani/keyword/vsftpd" class="auto_link">vsftpd</a>を起動する場合にのみ行います。)<br /></p><pre class="prettyprint">#cp -p /usr/share/doc/vsftpd-2.0.5/vsftpd.xinetd /etc/xinetd.d/vsftpd</pre><p><br />デフォルトで disable=yes となっており無効化されているので、 disable=noに変更して動作するようにしてあげます。<br /></p><pre class="prettyprint">#vim /etc/xinetd.d/vsftpd
disable = no</pre><p><br />設定ファイルを反映させるためにxinetdを再起動します。<br /></p><pre class="prettyprint">service xinetd restart</pre><p><br /></p><h2 id="wiki_html_heading_7" name="wiki_html_heading_7">終わり</h2><p>以上でした。社内LAN内でたまに動作させるだけの目的のため、特に設定変更せずデフォルトで使っています。<br /><br />匿名アクセス(anonymous)はたまにドツボにはまる以外に特に役にたった経験が無いため無効にしてあります。<br /><br />OSの操作に慣れていると何も見なくても上記の設定はできるようになります。が、デフォルトの設定で不都合がある場合が多いと思うのでマニュアルは読んでおいたほうが良いと思います。<br /><br />ところで最近の公開<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>では<a href="/book/karakani/keyword/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3" class="auto_link">セキュリティ</a>のためFTPではなく、FTPSがよく使われています。多くのFTP<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>はFTPSで動作させることができ、設定もそんなに難しくないので、FTPアクセスは無効にし、FTPSでのアクセスに制限しても良いと思います。</p>
-
text/html
2011-09-08T17:48:29+09:00
kani
phpMyAdmin
http://previous.mindia.jp/book/karakani/keyword/phpMyAdmin
<h2 id="wiki_html_heading_8" name="wiki_html_heading_8">テーマの変更</h2><p><br />複数の<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>を扱っていたり、本番<a href="/book/karakani/keyword/%E7%92%B0%E5%A2%83" class="auto_link">環境</a>と<a href="/book/karakani/keyword/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83" class="auto_link">開発環境</a>で扱っている場合によく誤操作とかしそうなので、それぞれの<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>ごとにテーマは変更しておいたほうが<a href="/book/karakani/keyword/%E4%BE%BF%E5%88%A9" class="auto_link">便利</a>で安全です。<br /><br />テーマは<a href="/book/karakani/keyword/phpMyAdmin" class="auto_link">phpMyAdmin</a>の<a href="/book/karakani/keyword/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB" class="auto_link">インストール</a>ディレクトリの配下の themes ディレクトリに配置されています。<br /></p><pre><install_directory>/themes/<each_themes></pre><p><br />デフォルトテーマは config.inc.<a href="/book/karakani/keyword/php" class="auto_link">php</a> に次の様な行を追加します。<br /></p><pre class="prettyprint">$cfg['ThemeDefault'] = 'xp_dirty';</pre><p></p><h2 id="wiki_html_heading_9" name="wiki_html_heading_9">単一の<a href="/book/karakani/keyword/phpMyAdmin" class="auto_link">phpMyAdmin</a>で接続先の<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>毎にテーマを変更する</h2><p><br />単一の<a href="/book/karakani/keyword/phpMyAdmin" class="auto_link">phpMyAdmin</a>を使って複数の<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>にアクセスする、ということをやっている人もいるかと思います。<br />で、単一の<a href="/book/karakani/keyword/phpMyAdmin" class="auto_link">phpMyAdmin</a>を使っていながら、接続先の<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>毎にテーマを変更する方法が公式のドキュメントで扱われてなかったり、やいろんなブログで取り上げられてなかったのでここで取り上げます。<br /><br />ズバリこうやるそうです。<a href="http://wiki.phpmyadmin.net/pma/themes" class="external_link">公式サイトのwiki</a>に書いてありました。<br /></p><blockquote cite="http://wiki.phpmyadmin.net/pma/themes"><p>$i=0;<br />$i++;<br />$cfg['Servers'][$i]['auth_type'] = 'cookie';<br />$cfg['Servers'][$i]['host'] = '<a href="/book/karakani/keyword/127.0.0.1" class="auto_link">127.0.0.1</a>';<br />$_COOK<a href="/book/karakani/keyword/IE" class="auto_link">IE</a>['pma_theme-' . $i] = 'big_green';<br /><br />$i++;<br />$cfg['Servers'][$i]['auth_type'] = 'cookie';<br />$cfg['Servers'][$i]['host'] = '127.0.0.2';<br />$_COOK<a href="/book/karakani/keyword/IE" class="auto_link">IE</a>['pma_theme-' . $i] = 'big_blue';<br /><br />$i++;<br />$cfg['Servers'][$i]['auth_type'] = 'cookie';<br />$cfg['Servers'][$i]['host'] = '127.0.0.3';<br />$_COOK<a href="/book/karakani/keyword/IE" class="auto_link">IE</a>['pma_theme-' . $i] = 'big_red';<br /># Needed for server base theme<br />$cfg['ThemePerServer'] = true;</p><p class="wiki_blockquote_cite"><a href="http://wiki.phpmyadmin.net/pma/themes">http://wiki.phpmyadmin.net/pma/themes</a></p></blockquote><p><br />どうやらCookieを見て判断しているみたいですね。<br /><br />複数のVMで<a href="/book/karakani/keyword/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83" class="auto_link">開発環境</a>をセットアップしていたりする場合には<a href="/book/karakani/keyword/%E4%BE%BF%E5%88%A9" class="auto_link">便利</a>ですね!</p>
-
text/html
2011-09-06T15:01:13+09:00
kani
Plesk
http://previous.mindia.jp/book/karakani/keyword/Plesk
<h2 id="wiki_html_heading_10" name="wiki_html_heading_10">一部のレンタル<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>会社では無償で提供されています</h2><p><br />が、CPanelの様に「使わなかったらアン<a href="/book/karakani/keyword/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB" class="auto_link">インストール</a>したらいいや」という性質のものではなさそうです。<br />動的な<a href="/book/karakani/keyword/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3" class="auto_link">アプリケーション</a>を使いたい場合にはたとえ無料でも使わないほうが良いです。<br />GUIで管理したいのであれば<a href="/book/karakani/keyword/Web" class="auto_link">Web</a>minやCPanelを使って管理したほうが簡単だと思います。<br />自分はCUI派ですが。<br /><br />どんな問題があるかというと…<br /></p><ul><li>独自の<a href="/book/karakani/keyword/httpd" class="auto_link">httpd</a>パッケージが動いてておいそれとアップグレードできないっぽい</li><li>デフォルトでウェブサイトのルートディレクトリ直下にcgiを置けない</li><li>それ以外に思いがけないところで詰まる</li></ul><p><br /><a href="/book/karakani/keyword/Apache" class="auto_link">Apache</a>の設定ファイルを書き換えたいとかであれば、少なくともレンタル<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>会社のサポートは期待できないので自分で<a href="/book/karakani/keyword/Plesk" class="auto_link">Plesk</a>のサポートサイトで情報を検索するくらいのことはしたほうが良いと思います。<br /><br />あまりいい思い出がありません。<br /></p><h2 id="wiki_html_heading_11" name="wiki_html_heading_11"><a href="/book/karakani/keyword/%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97" class="auto_link">バックアップ</a>ファイルの場所と解凍方法</h2><p><br /><a href="/book/karakani/keyword/%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97" class="auto_link">バックアップ</a>ファイルは、<br /></p><pre>/var/lib/psa/dump</pre><p><br />に生成されます。そのファイルの解凍方法は若干特殊です(tarファイルではありません)。<br /><br /><a href="http://kb.parallels.com/1757" class="external_link">http://kb.parallels.com/1757</a></p>
-
text/html
2011-06-29T20:42:23+09:00
kani
OpenVPN
http://previous.mindia.jp/book/karakani/keyword/OpenVPN
<p>昔からよく使ってるVPNアプリが<a href="/book/karakani/keyword/OpenVPN" class="auto_link">OpenVPN</a>。最近は<a href="/book/karakani/keyword/L2TP+over+IPSec" class="auto_link">L2TP over IPSec</a>も使おうとしてるのですが、Mac OS/<a href="/book/karakani/keyword/iOS" class="auto_link">iOS</a>からの接続をうまく管理出来ていないっぽく、設定に四苦八苦してます。<br /><br /></p><h2 id="wiki_html_heading_12" name="wiki_html_heading_12">ルーティングの設定について</h2><p><br /><a href="/book/karakani/keyword/OpenVPN" class="auto_link">OpenVPN</a>はL2TP/<a href="/book/karakani/keyword/IPSec" class="auto_link">IPSec</a>よりもルーティングの設定が柔軟にできるような気がするのですが、設定ファイルの記述方法が分かりにくくて今まで引っかかってました。<br />ひょっとしたらL2TP/<a href="/book/karakani/keyword/IPSec" class="auto_link">IPSec</a>でも柔軟なルーティング設定ができるのかもしれないですが、よくわかってません。<br /><br />ルーティング関連の設定で、理解している部分だけメモしておきます。<br /><br />[記述は全て<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>側]</p><ul><li>route - <a href="/book/karakani/keyword/OpenVPN" class="auto_link">OpenVPN</a><a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>で、<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>自身のルーティングを設定します。</li><li>push "route x.x.x.x y.y.y.y" - <a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>が、<a href="/book/karakani/keyword/OpenVPN" class="auto_link">OpenVPN</a>クライアントに対してルーティングを設定するよう指示します。通常、クライアント先のネットワークが指定されます。</li><li>ccd/(COMMON_NAME)ファイル内の設定内容 - <a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>がどのネットワークがどのクライアントに対応付けられているのかを記述します。</li></ul><p><br /><br />例えば、次のような構成になっているとします。<br /></p><pre> +----------+
インターネッツ----| サーバー |
12.34.56.78 +----------+
| | 172.31.1.1
| |
| | OpenVPNのネットワーク(172.31.1.0/24)
| |
| 87.65.43.21 | +----------+
+-----------+ +-------------| クライアント A |
| 制限サーバー | | 172.31.1.4 +----------+
+-----------+ | +- - -
| +----------+ |
+-------------| クライアント B |-- - - - - - - -+- - -
| 172.31.1.6 +----------+ 192.168.1.0/24 |
| +- - -
| +----------+
+-------------| クライアント C |
172.31.1.8 +----------+</pre><p><br /><br />この時、<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>の設定はこんな感じになってるんじゃないかと思います。<br /></p><blockquote cite="server.conf"><p>push "route 192.168.1.0 255.255.255.0"<br />route 192.168.1.0 255.255.255.0<br /><br />client-config-dir ccd<br /><br />push "route 87.65.43.21 255.255.255.0"</p><p class="wiki_blockquote_cite"><a href="server.conf">server.conf</a></p></blockquote><p></p><blockquote cite="ccd/クライアント B"><p>iroute 192.168.1.0 255.255.255.0</p><p class="wiki_blockquote_cite"><a href="ccd/クライアント B">ccd/クライアント B</a></p></blockquote><p><br />多分、こう言うことになると思います。<br /><br />ところで、87.65.43.21の制限<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>とはなんぞやということなのですが、<br />これは<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>です。この<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>のアクセスを12.34.56.78からのみに制限し、<br /><a href="/book/karakani/keyword/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3" class="auto_link">セキュリティ</a>を確保したいという場合に、こうやって書くと良いよ、ということを<br />例示したものです。<br /><br />こうすることで、クライアントAやクライアントCは<a href="/book/karakani/keyword/OpenVPN" class="auto_link">OpenVPN</a>で<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>(12.34.56.78)に<br />接続するだけで、クライアントのルーティングを 12.34.56.78 経由で自動的にやってくれます。<br /><br />この設定をしないと、例えばSSHなんかだと、わざわざ一度 12.34.56.78 に接続して、<br />改めて、87.65.43.21 に接続しなおすということがなくなるのです!<br /><br />既出だったらごめんなさい。<br /></p><h2 id="wiki_html_heading_13" name="wiki_html_heading_13">例示したIPアドレスについて</h2><p><br />12.34.56.78 や、87.65.43.21 は実在しうるIPアドレスです。ひょっとしたら秘密の組織が管理しているものかもしれないので気をつけましょう。<br />自分は昔、03-1234-5678 に<a href="/book/karakani/keyword/%E3%83%86%E3%82%B9%E3%83%88" class="auto_link">テスト</a>データをFAX送信したことがあります。<span style="font-weight:bold">本当に気をつけましょう。</span></p>
-
text/html
2011-06-12T13:27:48+09:00
kani
L2TP over IPSec
http://previous.mindia.jp/book/karakani/keyword/L2TP+over+IPSec
<p>簡単に説明。<br /><br /><a href="/book/karakani/keyword/CentOS" class="auto_link">CentOS</a>のレポジトリにあるOpenSwanはNAT Traversal機能に<a href="/book/karakani/keyword/%E3%83%90%E3%82%B0" class="auto_link">バグ</a>があるらしいので、公式サイトにあるRPMをダンロードします。<br /><br /><a href="/book/karakani/keyword/CentOS" class="auto_link">CentOS</a>のレポジトリにあるxl2tpdは同様に<a href="/book/karakani/keyword/%E3%83%90%E3%82%B0" class="auto_link">バグ</a>っぽいらしいので、公式サイトからソースをダウンロードし、<a href="/book/karakani/keyword/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB" class="auto_link">コンパイル</a>、<a href="/book/karakani/keyword/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB" class="auto_link">インストール</a>します。<br /><br />※Mac/<a href="/book/karakani/keyword/iPad" class="auto_link">iPad</a>からの接続で問題が起きているようなのですが、xl2tpdかopenswanの<a href="/book/karakani/keyword/%E3%83%90%E3%82%B0" class="auto_link">バグ</a>か分かっていないのです。</p>
-
text/html
2011-06-11T07:32:08+09:00
kani
IPSec
http://previous.mindia.jp/book/karakani/keyword/IPSec
<p>Cent OS 5.5 の OpenSwan(<a href="/book/karakani/keyword/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9" class="auto_link">オープンソース</a>の実装) にはNAT Traversal機能に<a href="/book/karakani/keyword/%E3%83%90%E3%82%B0" class="auto_link">バグ</a>が有るらしいです。<br /></p><blockquote cite="http://lists.openswan.org/pipermail/users/2011-January/019926.html"><p>I'd upgrade, 2.6.21 is really old and buggy.</p><p class="wiki_blockquote_cite"><a href="http://lists.openswan.org/pipermail/users/2011-January/019926.html">http://lists.openswan.org/pipermail/users/2011-January/019926.html</a></p></blockquote><p></p><blockquote cite="http://www.limber.jp/?Internet%2FL2TP%20over%20IPsec%20on%20iOS%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A4%C8%C0%DF%C4%EA"><p>Openswan は Cent OS 5.5 の標準レポジトリにパッケージがありますが、Version 2.6.21 ベースです。<br /><br />ところが、このバージョンの Openswan の NAT-T(NATトラバーサル)には<a href="/book/karakani/keyword/%E3%83%90%E3%82%B0" class="auto_link">バグ</a>があるようで、NAT-T により IPsec の ESP プロトコルが over UDP でカプセリングされて IPsec が確立しても、その後の L2TP パケットは、そのまま 通そうとしてしまいます。 つまり、IPsec 接続しかできず、L2TP によるトンネリングが行えません。<br /><br />xl2tpd 側で回避できればいいのですが、回避策は無いようでした。<br /><br />Cent OS 6 がリリースされれば RHEL6 の Openswan は 2.6.24 ベースみたいなので<a href="/book/karakani/keyword/%E3%83%90%E3%82%B0" class="auto_link">バグ</a>が解消されてると思いますが、Cent OS 5.x 系ではソースから入れるのが無難なようです。</p><p class="wiki_blockquote_cite"><a href="http://www.limber.jp/?Internet%2FL2TP%20over%20IPsec%20on%20iOS%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A4%C8%C0%DF%C4%EA">http://www.limber.jp/?Internet%2FL2TP%20over%20IPsec%20on%20iOS%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A4%C8%C0%DF%C4%EA</a></p></blockquote><p></p>
-
text/html
2011-06-10T14:10:36+09:00
kani
firefoxアドオン
http://previous.mindia.jp/book/karakani/keyword/firefox%E3%82%A2%E3%83%89%E3%82%AA%E3%83%B3
<h2 id="wiki_html_heading_14" name="wiki_html_heading_14">ScreenGrab</h2><p><br />これ<a href="/book/karakani/keyword/%E4%BE%BF%E5%88%A9" class="auto_link">便利</a>。今までスクリーンをスクロールしてExcelに貼り付けるという無駄な<a href="/book/karakani/keyword/%E4%BD%9C%E6%A5%AD" class="auto_link">作業</a>しなくてよくなった。<br /><br /><a href="http://www.screengrab.org/" class="external_link">http://www.screengrab.org/</a><br /><a href="/book/karakani/keyword/%E4%BE%BF%E5%88%A9" class="auto_link">便利</a>。</p>
-
text/html
2011-05-17T01:30:17+09:00
kani
PCA-DAV2
http://previous.mindia.jp/book/karakani/keyword/PCA-DAV2
<p>Linuxと暗視カメラで監視<a href="/book/karakani/keyword/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0" class="auto_link">システム</a>を構築しようと思い、市販の赤外線カメラとキャプチャユニットを買ってきました。<br /></p><h2 id="wiki_html_heading_15" name="wiki_html_heading_15">暗視カメラ(赤外線カメラ)</h2><p><br /><a href="http://www.ykmusen.co.jp/cctv/okugaicamera/mtc-840cm.html" class="external_link">http://www.ykmusen.co.jp/cctv/okugaicamera/mtc-840cm.html</a><br />↑ここに書かれているカメラを購入しました。<br /><br />暗視カメラ動作中はたくさんのLEDが(弱く)赤く点灯し、王蟲みたいな感じに地味にひかります。<br /><br />秋葉原の電気屋のおじちゃんにいろいろ試してもらい、結局これに落ち着きました。<br />屋内で使ってみましたが、4-5mであれば結構余裕で状態が確認できます。<br /><br />ちなみに、アナログカメラなので解像度がさほど高くないと感じる人もいるかもしれないです。<br /></p><h2 id="wiki_html_heading_16" name="wiki_html_heading_16">キャプチャユニット(USB)</h2><p></p><div class="module_plugin_object_amazon"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000WOTYI8/mindia-22/ref=nosim/"><img src="http://images-jp.amazon.com/images/P/B000WOTYI8.09.1TRZZZZZ.jpg" /></a></div><div class="amazon_description"><p>Princeton USBビデオキャプチャーユニット デジ造 <a href="/book/karakani/keyword/Vista" class="auto_link">Vista</a>対応版</p></div><p>これです。<a href="http://d.hatena.ne.jp/w_dee/20110422/1303483194" class="external_link">このサイト</a>を見て<a href="/book/karakani/keyword/%E8%A3%BD%E5%93%81" class="auto_link">製品</a>を決めました。<br /><br />が、上記サイトの設定では動きませんでした。なんでだろう?チップセットが違うのかな…<br /><br />上記サイトに、/etc/modprobe.d/em28xx.confを作成して編集する行がありますが、自分の<a href="/book/karakani/keyword/%E7%92%B0%E5%A2%83" class="auto_link">環境</a>(Ubuntu 11.x)では次のようになりました。<br /></p><blockquote><p>options em28xx card=68</p></blockquote><p><br />めちゃくちゃ面倒くさかったのですが、1番から順番に試していきました。正常に動作すると、/var/log/messagesにこんな感じの出力が出てきます。<br /></p><blockquote><p>em28xx: New device USB 2861 Device @ 480 Mb<a href="/book/karakani/keyword/ps" class="auto_link">ps</a> (eb1a:2861, interface 0, class 0)<br />em28xx #0: chip ID is em2860<br />em28xx #0: i2c eeprom 00: 1a eb 67 95 1a eb 61 28 50 00 11 03 6a 22 00 00<br />em28xx #0: i2c eeprom 10: 00 00 04 57 06 02 00 00 00 00 00 00 00 00 00 00<br />em28xx #0: i2c eeprom 20: 02 00 01 00 f0 10 01 00 00 00 00 00 5b 00 00 00<br />em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 00 00 00 00 00 00<br />em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 22 03 55 00 53 00<br />em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 36 00 31 00 20 00 44 00<br />em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 00 00 00 00 00 00<br />em28xx #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br />em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0x1369388a<br />em28xx #0: EEPROM info:<br />em28xx #0: AC97 audio (5 sample rates)<br />em28xx #0: 500mA max power<br />em28xx #0: Table at 0x04, strings=0x226a, 0x0000, 0x0000<br />em28xx #0: Identified as Terratec AV350 (card=68)<br />VIA 82xx Audio 0000:00:11.5: PCI INT C -> Link[LNKC] -> GSI 10 (level, low) -> IRQ 10<br />tvp5150 1-005c: chip found @ 0xb8 (em28xx #0)<br />em28xx #0: Config register raw data: 0x50<br />em28xx #0: AC97 vendor ID = 0x83847650<br />em28xx #0: AC97 features = 0x6a90<br />em28xx #0: Sigmatel audio processor detected(stac 9750)<br />tvp5150 1-005c: tvp5150am1 detected.<br />type=1505 audit(1305472679.126:7): operation="profile_replace" pid=635 name=/sbin/dhclient3<br />type=1505 audit(1305472679.134:8): operation="profile_replace" pid=635 name=/usr/lib/NetworkManager/nm-dhcp-client.action<br />type=1505 audit(1305472679.134:9): operation="profile_replace" pid=635 name=/usr/lib/connman/scripts/dhclient-script<br />type=1505 audit(1305472679.142:10): operation="profile_replace" pid=636 name=/usr/sbin/mysqld<br />type=1505 audit(1305472679.150:11): operation="profile_replace" pid=637 name=/usr/sbin/tcpdump<br />type=1503 audit(1305472681.334:12): operation="open" pid=808 parent=807 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"<br />type=1503 audit(1305472681.470:13): operation="open" pid=828 parent=827 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"<br />em28xx #0: v4l2 driver version 0.1.2<br />type=1503 audit(1305472681.890:14): operation="open" pid=943 parent=835 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"<br />type=1503 audit(1305472686.140:15): operation="open" pid=960 parent=959 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"<br />type=1503 audit(1305472686.260:16): operation="open" pid=971 parent=970 profile="/usr/sbin/mysqld" requested_mask="r::" denied_mask="r::" fsuid=0 ouid=0 name="/sys/devices/system/cpu/"<br />em28xx #0: V4L2 device registered as /dev/video0 and /dev/vbi0<br />usbcore: registered new interface driver snd-usb-audio<br />usbcore: registered new interface driver em28xx<br />em28xx driver loaded</p></blockquote><p><br />本当は音声もキャプチャできるらしいのですが、自分の<a href="/book/karakani/keyword/%E7%92%B0%E5%A2%83" class="auto_link">環境</a>では必要なかったので音声のキャプチャは試していません。<br /><br />実際に、ffmpegでキャプチャする場合には、こんな感じの<a href="/book/karakani/keyword/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3" class="auto_link">コマンドライン</a>でキャプチャできます。<br /><br /></p><pre class="prettyprint">ffmpeg -y -f video4linux2 \
-s vga -r '29.95' -tvstd NTSC -i /dev/video0 \
-aspect '4:3' -r 出力フレームレート \
-vcodec libx264 output.mp4</pre><p><br />ここで重要なのは、 "-tvstd NTSC" の部分です。どうもデバイスの初期状態ではPALとして認識しているようなので明示的にNTSCと指定してあげる必要があります。そうしないと表示が乱れます。<br />よくわかっていないのですが、"-r 29.95"というのもあったほうがよいかもしれません。出力フレームレートは出力形式に合わせて設定してあげましょう。<br /></p><h2 id="wiki_html_heading_17" name="wiki_html_heading_17">motion (Linuxの監視カメラ用ソフトウェア)</h2><p><br />これはすごいです。Linuxでこんなフリーのソフトウェアがあるというのに驚きました。<br /><br />motionというのは監視カメラ用ソフトウェアで、</p><ul><li>動作を検知し、任意のスクリプトを起動する</li><li>動作を検知し、録画を開始する</li><li>出力した各フレームにキャプチャ時刻を記録する</li><li>簡易ストリーミング<a href="/book/karakani/keyword/%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC" class="auto_link">サーバー</a>機能を搭載している</li><li>複数のカメラに対応している</li></ul><p><br />という立派なソフトウェアです。カメラにアクチュエーターが付属している場合には(おそらくネットワークカメラの類)、カメラの角度も設定することができたりするようです。<br /><br />ストリーミング機能はmotion Jpegを利用しているようで、<a href="/book/karakani/keyword/iPhone" class="auto_link">iPhone</a>などで表示できます。Androidでは表示できませんでした。<br />PCではもちろん正常に表示できます。<br /></p><h3 id="wiki_html_heading_17-1" name="wiki_html_heading_17-1">motionの高度な設定</h3><p><br />これはおまけ話なのですが、通常は/dev/video0 のデバイスはどれか一つの<a href="/book/karakani/keyword/%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9" class="auto_link">プロセス</a>のみが利用できるため、motionが動作している場合にはほかの<a href="/book/karakani/keyword/%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9" class="auto_link">プロセス</a>が利用できません。<br /><br />が、ループバックデバイスというものを利用すると、motionでキャプチャしているものをループバックデバイスを利用して異なる<a href="/book/karakani/keyword/%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9" class="auto_link">プロセス</a>が利用できるようにしてくれるらしいです。<br /><br />マニュアルには「ここに説明書きが書いてるからそんなに難しくないよ」と書かれていますが、実際には何かを<a href="/book/karakani/keyword/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB" class="auto_link">コンパイル</a>したり小難しい設定をしていたので、<a href="/book/karakani/keyword/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB" class="auto_link">コンパイル</a>からの<a href="/book/karakani/keyword/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB" class="auto_link">インストール</a>に慣れていない人や、Linuxのデバイスがどのようなものか簡単な知識がない人にはちょっと難しいかもしれないです。<br /><br /></p><h2 id="wiki_html_heading_18" name="wiki_html_heading_18">PCのスペック</h2><p><br />画像を保存する際にCPUを消費するのですが、それ以外ではさほど高スペックのPCは必要ありません。<br /><br />今回、自分はVIAのEPIA-M10000を使いました。(Mini ITX. CPUはオンボード。動作周波数: 1MHz。シングルコア)。<a href="/book/karakani/keyword/%E3%83%A1%E3%83%A2%E3%83%AA" class="auto_link">メモリ</a>は256MBytesなので、いまどきの<a href="/book/karakani/keyword/%E7%92%B0%E5%A2%83" class="auto_link">環境</a>からするとかなり低スペックですが、監視目的(フレームレートは1~4f<a href="/book/karakani/keyword/ps" class="auto_link">ps</a>程度で構わない)にはさほど問題はありませんでした。<br /><br />もっとも、<a href="/book/karakani/keyword/Web" class="auto_link">Web</a>カメラで全世界にストリーミング、ということをしたい人はそれなりのスペックのPCを用意したほうがよいかもしれません。</p>