» ネットワークのブログ記事
なにこれ、ただの Piskesoft のサイトじゃん?
!!
Chromeの強制的な警告表示が2018年7月から開始
さくらインターネット より
Piskesoft は Google Chrome の警告表示に備え、常時 SSL 化対応をしました。
完全に趣味のサイトで、証明書の費用もかかってしまうので別に対応しなくてもいいのでは……と思ったのですが、知的好奇心をくすぐられてやってしまいました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 の選定
VPS は、さくらにしました。
石狩にデータセンターがあることが決め手となりました。 ←北海道出身
インストールと設定
CentOSで自宅サーバー構築 – VPNサーバー構築(OpenVPN)を参考にしました。
(4)証明書廃止リスト作成 までの間で、記載の内容と違う部分
- ・easy-rsa がいない
-
Blog on fuketch.net – OpenVPNの設定(その1:認証用ファイルの生成)
>OpenVPN 2.3からeasy-rsaが同梱されていないので別途ダウンロード。ので、上記のページを参考にダウンロード、およびコピーします。
- ・whichopensslcnf の修正
- バージョン更新に伴い、既に修正されているのでいらないみたいです。
これに従ってできるネットワークは、以下のようになると思います。
各マシンの呼称
図中にも記載していますが、各マシンは以下のように呼ぶこととします。
- ・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
ルーティング等の設定
このネットワークでのパケットの往復のイメージを示します。
まずは往路です。 青い線と番号で記された経路です。
① 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 は証明書なしでの接続ができないため、利便性を考慮し、全スルーとします。
不安な方は、絞ってもよいかと。
最近のコメント