SQL ServerのISNULL関数、OracleのNVL関数、MySqlのIFNULL関数。
そして、PostgreSQLのCOALESCE関数。
どれも同じ機能ですが、COALESCEの綴りがすっごく覚えづらいですよね。
なので、私はこう覚えました。
「コーアル・イー・ソニー・コンピュータエンタテインメント *1」
*1 ソニー・インタラクティブエンタテインメントの前の名前。略称が「SCE」。
SQL ServerのISNULL関数、OracleのNVL関数、MySqlのIFNULL関数。
そして、PostgreSQLのCOALESCE関数。
どれも同じ機能ですが、COALESCEの綴りがすっごく覚えづらいですよね。
なので、私はこう覚えました。
「コーアル・イー・ソニー・コンピュータエンタテインメント *1」
*1 ソニー・インタラクティブエンタテインメントの前の名前。略称が「SCE」。
なにこれ、ただの Piskesoft のサイトじゃん?
!!
Chromeの強制的な警告表示が2018年7月から開始
さくらインターネット より
Piskesoft は Google Chrome の警告表示に備え、常時 SSL 化対応をしました。
完全に趣味のサイトで、証明書の費用もかかってしまうので別に対応しなくてもいいのでは……と思ったのですが、知的好奇心をくすぐられてやってしまいましたw
過去に Apple が嫌いだと言った私でしたが、最近 Mac を買いました。
機種は MacBook Air Late 2010 です。
車やバイクと同じ感覚で、まずは中古を使い倒して慣れてしまおうと言う考えです。
お金がなかったからとかいう理由じゃないよ。 ←半分はそれ
使い出した理由は今後言いますが、まずは 2 か月ほど開発機として使ってみての感想を書き留めたいと思います。
結論として、Windows vs Mac の決着は付かないものだと思いました。
特別な事情がない限り、また、趣味として Web ブラウジングをするとかメールをするとかだと、どちらでもいいような気がします。
私は一応特別な事情があるので、MacBook Pro が欲しいなぁ、と Apple のサイトを眺めていますw
メールチェックをしていたら、いつもよりメールが少ないことに気づきました。
ていうか、一昨日からメールが来てませんでしたw
自分のメールアドレスに携帯から送ってもエラーで返され、
更には www.piskesoft.com にも接続できず、な状況でした。
ping も nslookup も「そんなホスト名知らねーよバーカ」状態で、
どうしようもなくお名前.com に問い合わせてみました。
すると、「レジストリがドメインを凍結している」とのこと。
なんでも、登録者情報が間違っているとのことですが、おかしな所が見つから……
『都道府県: 北海道』
あったーーー!!www
北海道桶川市ってなんじゃそらw
即刻修正しましたw
担当者の方が、最近、登録者情報のチェックが厳しくなった、とおっしゃっていました。
ドメインをお持ちの皆様、お気をつけ下さい。
ちなみに、復旧までには少し時間がかかるかもしれません、
と言われましたが 1〜2分で繋がるようになりました。
しかし、何というかまぁ、よりにもよって登録が北海道だったとは。 北海道に帰れってことですかね?w
会社のゲートウェイサーバー&DNS サーバーの HDD が飛びました。
ゾーンファイルのバックアップぐらい取っとけよ、俺……orz
いま私が自宅で使用しているプロバイダーは、マンションタイプです。
んで、グローバル IP アドレスをくれないというクソ仕様です。
実は半年くらい前に引っ越したのですが、引っ越す前は普通にグローバル IP アドレスをもらえるプロバイダだったので、FTP やら VPN やらを外に出してたんですね。
それができなくなったことで、もう不便で不便で……w
そこで、ファイル転送だけは何とかしようと、ファイル転送ゲートウェイ的なプログラムを組んでみようかな、なんて思いました。
無理。 プロジェクトの規模が大きすぎて諦めましたw
んじゃー、一体どんな方法があるのか……と考え抜いたところ、VPN があるじゃない、と思い付きました。
VPN サーバーを外の VPS かなんかに立てて、ウチ側ゲートウェイをそこに繋ぎっぱなしにすればいい、と。
VPS は、さくらにしました。
石狩にデータセンターがあることが決め手となりました。 ←北海道出身
CentOSで自宅サーバー構築 – VPNサーバー構築(OpenVPN)を参考にしました。
ので、上記のページを参考にダウンロード、およびコピーします。
これに従ってできるネットワークは、以下のようになると思います。
図中にも記載していますが、各マシンは以下のように呼ぶこととします。
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
このネットワークでのパケットの往復のイメージを示します。
まずは往路です。 青い線と番号で記された経路です。
① 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 とするよう静的ルーティングを設定してあげます。
なお、静的ルーティングを設定できないルーターを使用している方は、以下の方法もあります。
この、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 は証明書なしでの接続ができないため、利便性を考慮し、全スルーとします。
不安な方は、絞ってもよいかと。
最近のコメント