ServersMan @ VPSとのOpenVPN接続
Published by M-naka on 2011/7/17 (3565 reads)
ServersMan@VPSでtunデバイスが使えなかったのが、暫く前の機能強化で解消、OpenVPNが使えるようになった。これでServersMan@VPSの仮想サーバと常時VPNで繋げられることになる。
ServersMan@VPSで稼動中の仮想サーバ「Gramr.mythril.jp」側を192.168.2.0/24のセグメントとし、自宅側の192.168.1.0/24との間をOpenVPNルーティングモードでLAN間接続VPNを構築した。自宅側のVPNゲートウェイは実家とのLAN間接続VPNに使っているMjolnir.mythril.ne.jpを使う。
やったことは以下。
1.ServersMan@VPS側で仮想NICを追加する
/etc/sysconfig/network-scripts/にあるifcfg-venet0:0でグローバルIPアドレスが設定されている。これをコピーして仮想NICであるifcfg-venet0:1を作り、それを書き換えてvenet0:1に192.168.2.0/24のIPアドレスを割り付ける。今回は192.168.2.1とした。その後/etc/init.d/networkを再起動すれば、仮想NICが192.168.2.1/24で起動する。
2.Mjolnir.mythril.ne.jpでOpenVPN設定とiptables設定を追加する
もともとMjolnir.mythril.ne.jp(192.168.1.165/24)では自宅−実家間のLAN間接続VPNが起動している。今回はこれを拡張する形でコンフィグを追加した。具体的には
◆OpenVPN
コンフィグファイルは自宅−実家間用をopenvpn00.conf、自宅−Gramr用をopenvpn01.confと2つに、また事前共有鍵ファイルも〜00.keyと〜01.keyと別々にした。openvpn00.confとopenvpn01.confは接続先、UDPポート、route設定が異なるくらいで基本設定は同一である。OpenVPNはコンフィグファイルの格納ディレクトリにある*.confの数だけサービス起動するので、これで自宅−実家間用と自宅−Gramr用が両方起動するようになる。
◆iptables
既存設定の拡張。IPmasquerade設定と自宅−Gramr用VPNで使うUDPポートのINPUTチェインを増やしただけ。
これでMjolnir.mythril.ne.jpは3つのLAN(自宅LAN、実家LAN、ServersMan@VPS)束ねるVPNを受け持つVPN-Hubの役割を負うことになる。
3.Gramr.mythril.jpでOpenVPN設定を行う
Mjolnir.mythril.ne.jpと対向になるOpenVPN設定をGramr.mythril.jpに行う。基本はMjolnir.mythril.ne.jpに仕込んだopenvpn01.confの対向版。今回、接続スキームはLAN間接続VPNだが、192.168.2.0/24、つまりServersMan@VPS側はGramr本体のみ繋がれば良いため、Gramr側でのiptables設定(IPmasqueradeとINPUTチェインの追加)は不要でも構わない。
4.自宅LANルータの設定追加
使用するudpポートをオープンし、Mjolnir.mythril.ne.jpにポートフォワードする設定と、192.168.2.0/24宛パケットをMjolnir.mythril.ne.jpに向ける静的ルーティング設定を仕込む。これも既存設定の拡張。
5.DNS登録
192.168.2.1をGramr.mythril.ne.jpで正引きできるようにDNS登録を行った。これでLANからはGramr.mythril.ne.jpへのアクセスがVPN経由で行われるようになる。
これで終了。自宅LAN側からはインターネット上のサーバであるGramr.mythril.jpが、「隣のLANセグメントにあるサーバ」であるGramr.mythril.ne.jpとして見える。192.168.2.0/24で稼動しているマシンはGramr.mythril.jp1台だけだが、要はゲートウェイマシンのみが繋がっている状態なので、LAN間接続VPNを使う上では何の問題もない。
あと、ServersMan@VPSでのSSHポートはデフォルトが3843/tcpになっているので、接続の都度ポートを入力しなければいけないのが面倒だった。VPN経由のときのみ、22/tcpでの接続ができるようにした。
■sshd_configに「Port 22」を追加。
■iptablesで22/tcpへの接続はVPN経由、つまりローカルアドレスからのみACCEPTするように
INPUTチェインを調整。
デフォルトの3843/tcpを22/tcpに変更しても良いのだが、基本的にローカルからtcp/22にSSH接続できれば良く、また3843/tcpになっているのは攻撃対策なので、外向きには3843/tcp、内向きには22/tcpということで行くことにした。
常時VPN接続ができている……となると、いろいろと用途が広がる。自動同期オンラインストレージ、オートオンラインバックアップ、Webサーバ/Mailサーバの冗長性対策……等々。夢が広がりんぐな感じ。
ServersMan@VPSで稼動中の仮想サーバ「Gramr.mythril.jp」側を192.168.2.0/24のセグメントとし、自宅側の192.168.1.0/24との間をOpenVPNルーティングモードでLAN間接続VPNを構築した。自宅側のVPNゲートウェイは実家とのLAN間接続VPNに使っているMjolnir.mythril.ne.jpを使う。
やったことは以下。
1.ServersMan@VPS側で仮想NICを追加する
/etc/sysconfig/network-scripts/にあるifcfg-venet0:0でグローバルIPアドレスが設定されている。これをコピーして仮想NICであるifcfg-venet0:1を作り、それを書き換えてvenet0:1に192.168.2.0/24のIPアドレスを割り付ける。今回は192.168.2.1とした。その後/etc/init.d/networkを再起動すれば、仮想NICが192.168.2.1/24で起動する。
2.Mjolnir.mythril.ne.jpでOpenVPN設定とiptables設定を追加する
もともとMjolnir.mythril.ne.jp(192.168.1.165/24)では自宅−実家間のLAN間接続VPNが起動している。今回はこれを拡張する形でコンフィグを追加した。具体的には
◆OpenVPN
コンフィグファイルは自宅−実家間用をopenvpn00.conf、自宅−Gramr用をopenvpn01.confと2つに、また事前共有鍵ファイルも〜00.keyと〜01.keyと別々にした。openvpn00.confとopenvpn01.confは接続先、UDPポート、route設定が異なるくらいで基本設定は同一である。OpenVPNはコンフィグファイルの格納ディレクトリにある*.confの数だけサービス起動するので、これで自宅−実家間用と自宅−Gramr用が両方起動するようになる。
◆iptables
既存設定の拡張。IPmasquerade設定と自宅−Gramr用VPNで使うUDPポートのINPUTチェインを増やしただけ。
これでMjolnir.mythril.ne.jpは3つのLAN(自宅LAN、実家LAN、ServersMan@VPS)束ねるVPNを受け持つVPN-Hubの役割を負うことになる。
3.Gramr.mythril.jpでOpenVPN設定を行う
Mjolnir.mythril.ne.jpと対向になるOpenVPN設定をGramr.mythril.jpに行う。基本はMjolnir.mythril.ne.jpに仕込んだopenvpn01.confの対向版。今回、接続スキームはLAN間接続VPNだが、192.168.2.0/24、つまりServersMan@VPS側はGramr本体のみ繋がれば良いため、Gramr側でのiptables設定(IPmasqueradeとINPUTチェインの追加)は不要でも構わない。
4.自宅LANルータの設定追加
使用するudpポートをオープンし、Mjolnir.mythril.ne.jpにポートフォワードする設定と、192.168.2.0/24宛パケットをMjolnir.mythril.ne.jpに向ける静的ルーティング設定を仕込む。これも既存設定の拡張。
5.DNS登録
192.168.2.1をGramr.mythril.ne.jpで正引きできるようにDNS登録を行った。これでLANからはGramr.mythril.ne.jpへのアクセスがVPN経由で行われるようになる。
これで終了。自宅LAN側からはインターネット上のサーバであるGramr.mythril.jpが、「隣のLANセグメントにあるサーバ」であるGramr.mythril.ne.jpとして見える。192.168.2.0/24で稼動しているマシンはGramr.mythril.jp1台だけだが、要はゲートウェイマシンのみが繋がっている状態なので、LAN間接続VPNを使う上では何の問題もない。
あと、ServersMan@VPSでのSSHポートはデフォルトが3843/tcpになっているので、接続の都度ポートを入力しなければいけないのが面倒だった。VPN経由のときのみ、22/tcpでの接続ができるようにした。
■sshd_configに「Port 22」を追加。
■iptablesで22/tcpへの接続はVPN経由、つまりローカルアドレスからのみACCEPTするように
INPUTチェインを調整。
デフォルトの3843/tcpを22/tcpに変更しても良いのだが、基本的にローカルからtcp/22にSSH接続できれば良く、また3843/tcpになっているのは攻撃対策なので、外向きには3843/tcp、内向きには22/tcpということで行くことにした。
常時VPN接続ができている……となると、いろいろと用途が広がる。自動同期オンラインストレージ、オートオンラインバックアップ、Webサーバ/Mailサーバの冗長性対策……等々。夢が広がりんぐな感じ。
Navigate through the articles | |
実家の無線LANアクセスポイント死亡 | Excalibur.mythril.ne.jp不調→新サーバ選定 |
The comments are owned by the poster. We aren't responsible for their content.
|