» 2013 » 12月のブログ記事

北!
新千歳空港駅

海!
雪景色

道!
飲み会

北海道!!!

今年も帰ってまいりました。
初日は、札幌駅に着くなり飲み会に突入してしまいましたw

濃ゆ~い9日間にしたいです。

唇がなまら乾燥するなぁ、と思って、湿度を確認してみましたところ……。

湿度

測定下限値以下てwww

研磨

| 日常 | | コメントはまだありません

ディスプレイに傷をつけてしまった先人が必ずいると思い、検索してみました。
すると、やっぱり数件出てきましたw

そのなかの、屋根裏部屋SE – 液晶ディスプレイ(LCD)の傷・汚れを修復してみるを参考にして、買ってみました。

ピカール グラスター ポリッシュ

しかし、裏を見ると不穏な注意書きが書いてあります……。

ピカール グラスター ポリッシュの注意書き

Σ(゚Д゚;,,)

が、ここでやらねば女が男が廃る! いざ!

いざ!

ごしごし……。

ごしごし…………。

意外と手ぇ疲れる……。

ごしごし………………。

磨き続けて、およそ 10 分後。

惨敗

はい、惨敗。 なんも変わっておりません。
部屋にピカール臭が漂うだけという結果になってしまいましたw
やっぱり深すぎたようです……。

傷?
ああぁぁぁぁぁあああ……

傷!
あああぁぁぁああぁぁああああ!!!!!11!!!!!!!

棚の上のものを移動させたら、硬くて角張っているモノを落っことしてしまい、ディスプレイにヒット。
コンパウンドとかで消せるのかなぁ。 けっこー深そうなんですが……。

オナ禁タイマーのソリューション エクスプローラ

うーん、古い!

オナ禁タイマーのソースを見直してみた感想です。

文字列関係だけで言っても
 ・TEXT() マクロで切られてたり、そうでなかったり。
 ・lstr~系の関数が _s じゃなかったり。
 ・保存されている文字列が UNICODE じゃなかったり。

こりゃー、時間かかりそうだな……w

いま私が自宅で使用しているプロバイダーは、マンションタイプです。
んで、グローバル IP アドレスをくれないというクソ仕様です。

実は半年くらい前に引っ越したのですが、引っ越す前は普通にグローバル IP アドレスをもらえるプロバイダだったので、FTP やら VPN やらを外に出してたんですね。
それができなくなったことで、もう不便で不便で……w

そこで、ファイル転送だけは何とかしようと、ファイル転送ゲートウェイ的なプログラムを組んでみようかな、なんて思いました。

ゲートウェイ ソフトウェア開発計画

無理。 プロジェクトの規模が大きすぎて諦めましたw

んじゃー、一体どんな方法があるのか……と考え抜いたところ、VPN があるじゃない、と思い付きました。
VPN サーバーを外の VPS かなんかに立てて、ウチ側ゲートウェイをそこに繋ぎっぱなしにすればいい、と。

VPS の選定

VPS は、さくらにしました。
石狩にデータセンターがあることが決め手となりました。 ←北海道出身

インストールと設定

CentOSで自宅サーバー構築 – VPNサーバー構築(OpenVPN)を参考にしました。

(4)証明書廃止リスト作成 までの間で、記載の内容と違う部分

・easy-rsa がいない
Blog on fuketch.net – OpenVPNの設定(その1:認証用ファイルの生成)
>OpenVPN 2.3からeasy-rsaが同梱されていないので別途ダウンロード。

ので、上記のページを参考にダウンロード、およびコピーします。

・whichopensslcnf の修正
バージョン更新に伴い、既に修正されているのでいらないみたいです。

これに従ってできるネットワークは、以下のようになると思います。

VPN ネットワーク図

各マシンの呼称

図中にも記載していますが、各マシンは以下のように呼ぶこととします。

・VPS に構築した VPN サーバー
ext-gateway
・自宅側の VPN クライアント
int-gateway
・外出先ネットワークの VPN クライアント
mobile
・自宅ネットワーク内のファイル サーバー
file-server

IP アドレスの固定

int-gateway の IP アドレスは、固定にしたいです。
というのも、ほかのクライアントが向く先になるからです。
そのためには、以下の設定をします。
なお、証明書は int-gateway という名前で作成したものとします。

[ext-gateway] /etc/openvpn/server.conf


client-config-dir ccd

コメントアウトを解除します。

[ext-gateway] ccd ディレクトリの作成


# mkdir /etc/openvpn/ccd

[ext-gateway] /etc/openvpn/ccd/int-gateway (新規)


ifconfig-push 10.8.0.5 10.8.0.6

ルーティング等の設定

このネットワークでのパケットの往復のイメージを示します。

VPN ルーティング図

まずは往路です。 青い線と番号で記された経路です。
① 192.168.0.0/24 宛のパケットは、10.8.0.5 に送る
② クライアント間の通信を許可する
③ 10.8.0.5 と 192.168.0.50 の間は、パケットを転送する
④ 192.168.0.5 にパケットが到着する

次に復路です。 赤い線と番号で記された経路です。
これに大ハマりしました。
⑤ 10.8.0.zzz は、192.168.0.0/24 外であるので、デフォルト ゲートウェイに送る
⑥ デフォルト ゲートウェイは、10.8.0.0/24 のパケットを 192.168.0.50 に転送する
⑦ 10.8.0.5 と 192.168.0.50 の間は、パケットを転送する (③ と同じ)
⑧ クライアント間の通信を許可してあるので、10.8.0.zzz にパケットが到着する

それでは、設定方法です。

① 経路情報を追加する
VPN クライアントに対して、経路情報を追加するよう設定します。

[ext-gateway] /etc/openvpn/ccd/int-gateway


iroute 192.168.0.0 255.255.255.0

[ext-gateway] /etc/openvpn/server.conf


route 192.168.0.0 255.255.255.0

②、⑧ クライアント間通信を許可する

[ext-gateway] /etc/openvpn/server.conf


client-to-client

コメントアウトを解除します。

③、⑦ ルーティングする

参考にしたサイトでは、VPN サーバーがルーティングを担っていますが、今回の環境では、int-gateway がルーティングすることになります。
int-gateway のルーティングの設定は以下のようになります。

[int-gateway] /etc/rc.d/rc.local に以下を追記 (どこでもよい)


echo 1 >/proc/sys/net/ipv4/ip_forward

[int-gateway] /etc/sysconfig/network


NETWORKING=yes
HOSTNAME=int-gateway
FORWARD_IPV4=yes
GATEWAY=
GATEWAYDEV=

[int-gateway] /etc/sysctl.conf


net.ipv4.ip_forward = 0

ここまで設定したら、一度再起動します。

⑥ 静的ルーティング

192.168.0.0/24 のネットワークに属する file-server は、10.8.0.zzz から受け取ったパケットをデフォルト ゲートウェイに返します。
なので、デフォルト ゲートウェイが 10.8.0.0/24 を返す先として、192.168.0.50 とするよう静的ルーティングを設定してあげます。

静的ルーティング

なお、静的ルーティングを設定できないルーターを使用している方は、以下の方法もあります。

IP マスカレード

この、masquerade と書かれている部分でポート番号と IP アドレスを変換しています。
うまいこと変換してもらえたので、file-server は 192.168.0.50 にパケットを返せばいいことになります。
その設定は以下の通りに int-gateway で設定します。


# iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE

ファイアウォールについて

ext-gateway の iptables は


# iptables -A INPUT -p udp -m state --state NEW -m udp --dport 1194 -j ACCEP

だけでおk

int-gateway の iptables は、全解除。


# iptables -A INPUT -P ACCEPT
# iptables -A FORWARD -P ACCEPT
# iptables -A OUTPUT -P ACCEPT
# iptables -F

内側のサーバーの eth0 はインターネットからアクセスできず、また、都合上外側に向いている tun0 は証明書なしでの接続ができないため、利便性を考慮し、全スルーとします。
不安な方は、絞ってもよいかと。