2008年9月20日土曜日

OpenVPN構築手順書1(ルーティングとNAT編)

以下のような構成で自宅と実家を繋ぐVPNを構築する。

以前は仮想NICと実NICをブリッジして、自宅と実家で同セグメントのVPNを組んでいたが、IPの管理が面倒になったため、今回はセグメントを分けてルーティングVPNを構築する。



   ┌──┐   ┌──┐
   │自宅├───┤実家│
   └──┘   └──┘
 192.168.1.0/24  192.168.2.0/24


■ NATの設定 実家サーバにて

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE


自宅サーバにて

# iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


■ ルーティング設定 実家サーバにて

# route add -net 192.168.1.0 gw 10.0.0.1 metric 1 netmask 255.255.255.0 tap0


自宅サーバにて

# route add -net 192.168.2.0 gw 10.0.0.2 metric 1 netmask 255.255.255.0 tap0
自宅のルータにはルーティング機能が付いていないので、192.168.2.0/24(実家)宛のパケットをサーバにルーティング出来ない。

実家のPCにアクセスする可能性のあるPCは限られているので、それぞれにルーティング設定を行うことにする。

# route add 192.168.2.0 mask 255.255.255.0 192.168.1.100 metric 1

2008年6月27日金曜日

MySQLの文字コード

■ デフォルトの文字コードの設定を変更する [mysqld] .. ..... ..... default-character-set=utf8 character-set-server=utf8 ■ 既存のデータベースの文字コードを変更する mysql> set names utf8; ■ 文字コードの確認 mysql> show variables like "char%"; +--------------------------+--------+ | Variable_name | Value | +--------------------------+--------+ | character_set_client | sjis | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\Prog| +--------------------------+--------+ ■ 各設定項目ごとに変更 mysql> set character_set_client = sjis;

2008年5月11日日曜日

NTFS領域をマウントする

Localesのインストール # apt-get install locales Localesの再設定 # dpkg-reconfigure -plow locales ロケールデータの設定 # localedef -i ja_JP -f UTF-8 ja_JP.UTF-8 NTFS領域をマウント # mount -t ntfs-3g /dev/sdb5 /mnt/usbhdd1 -o iocharset=UTF-8,locale=ja_JP.UTF-8

2008年3月28日金曜日

Virtual PCでマウスが効かない

起動時(boot:)に以下のオプションを入れることで回避できる。 linux vesa i8042.noloop psmouse.proto=imps clock=pit

2008年2月26日火曜日

VisualStudioでデバッグ出力

デバッグ出力のために OutputDebugString(LPCWSTR lpOutputString); という関数が用意されている。

VisualStudioの出力タブに引数で与えた文字列が表示される。

これは意外と便利。

2008年2月13日水曜日

VisualStudio2008をインストール

先日発売したVisualStudio2008を家のvistaマシンにインストールしました。
旧バージョンのVisualStudio2005が入ったままだとエラーが出てインストール出来なかったので、一度アンインストールしてからインストールしました。
vs2005で作成したいくつかのプロジェクトをコンパイルしてみたところ
cl : コマンド ライン
warning D9035 : オプション 'Wp64' の使用は現在推奨されていません。
今後のバージョンからは削除されます。 という警告が出ました。
どうもWp64のオプションは今後なくなるという警告らしいです。
とりあえずプロジェクトのプロパティからWp64のオプションを外しておきました。

2008年2月2日土曜日

MFCでのマルチスレッド処理

MFCではAfxBeginThread関数を使ってマルチスレッドを実装出来る。 AfxBeginThread( ::ThreadFunc, &m_stThreadInfo ); ::ThreadFuncは、新規スレッドで実行する関数。 &m_stThreadInfoは、ThreadFunc関数の第1引数。

2008年1月30日水曜日

VisualStudioでデバッグ出来ない

デバッグモードでコンパイルしてブレークポイントを設定しても止まってくれない。 ブレークポイントの印に?がついていて 「ブレークポイントは現在の設定ではヒットしません。このドキュメントのシンボルは読み込まれていません。」 というメッセージが出ます。 構成プロパティ -> C/C++ -> 全般 -> デバッグ情報の形式を「無効以外」に。 構成プロパティ -> リンカ -> デバッグ -> デバッグ情報の生成を「はい」に。 これで直りました。 いつもは最初からデバッグの設定されてるから気付かなかった。 なんで無効になってたんやろ。

GLUTでexitの再定義エラー

久しぶりにVisualStudioでOpenGL使ってたら、exitの再定義エラーが出ました。 エラーの箇所見たら #if defined(_WIN32) # ifndef GLUT_BUILDING_LIB extern _CRTIMP void __cdecl exit(int); # endif #else こう書かれていたのでGLUT_BUILDING_LIBを定義すりゃいいかなと思ってたら、それは間違った対処法で、ウィンドウを閉じてもプロセスが終了しなくなるらしい。 結局どうすればいいかというと glut.hをincludeする前にstdlib.h(or cstdlib)をincludeすればいい。

2008年1月24日木曜日

ANN MATLAB Wrapper 1.2

ANN MATLAB Wrapper 1.2 近似最近傍点探索ライブラリ ANNのMatlab Wrapperです。 元々がオープンソースのC++ライブラリなんで、Matlabから使えるようにMex化しようと思ってたら、すでにありました。

2008年1月23日水曜日

PowerPointにて

図の位置を調整しているときに、マウスでちょっと移動させたら図が5ピクセル分くらい移動してしまう。 ずっと微調整は出来ないものだと思ってたら、Alt押しながら図を動かしたら微調整出来ることに気がついた。 こんな初歩的な操作だけど初めて知りました。

2008年1月18日金曜日

CUPSが勝手に停止状態になる

実家のPCでEPSONプリンタをつないであるのだが、知らない間に勝手に停止状態になっていることがある。 毎回http://192.168.11.10:631/printersからプリンタを開始させるのは面倒。 よく分からないが、使用しているプリンタの"*.ppd"ファイルを開いて *cupsFilter: "application/vnd.cups-raster 0 rastertopips" 上の行を *cupsFilter: "application/vnd.cups-raster 0 rastertoepson" としてフィルタを変えるとうまく動いた。

2008年1月17日木曜日

図の位置を固定する

まずパッケージを読み込む。 \usepackage{float} \usepackage{graphicx,here} さらに {htbp}を{H}にする。

2008年1月15日火曜日

GSViewで日本語フォントの表示

GSViewで日本語フォントが表示されないときは、cidfmapファイルを編集すればいい。 C:\gs\gs8.60\lib にあるcidfmapを編集。 --- %% %% MS TrueType %% /Ryumin-Light << /FileType /TrueType /Path (c:/windows/fonts/msmincho.ttc) /SubfontID 0 /CSI [(Japan1) 3] >> ; /GothicBBB-Medium << /FileType /TrueType /Path (c:/windows/fonts/msgothic.ttc) /SubfontID 0 /CSI [(Japan1) 3] >> ; --- のコメントを外せば良いらしいが、うちにはなかったので追記。 インストール時に自動的にやってくれるオプションもあるらしい。