前回
余っているPCにLubuntuを入れて、VPNサーバーを作ってみた(準備編) - Qiita
の続きです。
ネットワーク構成図
FIreタブレットで書いたから、超適当w
わかればいいかな?
とりあえず、新しいHUBを作成
管理マネージャで「仮想HUBの作成」をクリックして、仮想HUBを作る
仮想HUB名は、後々使用するので、忘れないようにメモしておく。
仮想HUBの管理パスワードなので、とりあえず、忘れないようにする。
「匿名ユーザーに対してこの仮想HUBを列挙しない」というのに、チェックを入れる。
チェックを入れないと、サーバー接続するだけで、仮想HUB名が出てしまうという失態をしてしまう。
とりあえず、OKをクリックして、仮想HUB作成完了。
ローカルブリッジ設定をする
ローカルブリッジの設定をすると、VPN接続されている端末も、家のネットワークと同じセグメントになります。
仮想HUB名に先ほど追加したHUB名を入れて(選択して)、ブリッジ先のEthernetデバイスを選択する。
2つ以上ある場合(うちの場合は、LANと無線LAN)は、つながっているインターフェースを選びます。
デバイス名がわからない場合は、Linux上でifconfig
と打って、自分が設定したデバイスを確認する。
$ ifconfig
enxxxx Link encap:イーサネット ハードウェアアドレス xx:xx:xx:xx:xx:xx
inetアドレス:192.168.x.xxx ブロードキャスト:192.168.x.255 マスク:255.255.255.0
inet6アドレス: xxxx::xxxx:xxxx:xxxx:xxxx/64 範囲:リンク
inet6アドレス: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xx 範囲:グローバル
UP BROADCAST RUNNING PROMISC MULTICAST MTU:xxxx メトリック:x
RXパケット:xxxxx エラー:x 損失:x オーバラン:x フレーム:x
TXパケット:xxxxx エラー:x 損失:x オーバラン:x キャリア:x
衝突(Collisions):x TXキュー長:xxxx
RXバイト:xxxxxx (x.x MB) TXバイト:xxxxxx (x.x MB)
lo Link encap:ローカルループバック
inetアドレス:127.0.0.1 マスク:255.0.0.0
inet6アドレス: ::1/128 範囲:ホスト
UP LOOPBACK RUNNING MTU:65536 メトリック:1
RXパケット:2902 エラー:0 損失:0 オーバラン:0 フレーム:0
TXパケット:2902 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:1000
RXバイト:xxxxx (xxx.x KB) TXバイト:xxxxxx (xxx.x KB)
$
#一部、消しています。
ローカルブリッジの追加をクリックすると、いろいろな警告が出ますが、自宅サーバーなので、全部OKをクリックします。
完了すると、下のように表に表示されます。
DDNSのホスト名を変更
vpnxxxxxxxxxxxxxxx(適当に数値が入る).softether.netもよかったんだけど、適当に、入力されて、侵入される恐れがあるので、変更しておく。
変更するとダイアログが出るので、「はい」をクリックして、もう一度「はい」をクリックして、一応、保存しておく。
仮想HUBの設定
グループの設定
最初にグループの設定をしておくと、ポリシーの設定をユーザーごとに変更しなくてもよくなります。
適当なグループ名(今回はdef
)にして、セキュリティポリシーにチェック。
セキュリティポリシーをクリックして、「多重ログイン制限数」を選び、「このポリシー」の値を定義する」にチェックして、「1」にしましょう。
まぁ~一つIDをたらい回す運用であれば、そういうことしなくてもいいのですが、接続制限数はかけたほうがいいでしょう。
ユーザー作成
実際ログインするユーザーを作成します。
「新規作成」を選んで、「ユーザー名」を書いて、グループ名を「def(グループ参照をクリックすると出てくる)」にして「パスワード認証」にして、「パスワード」を設定して、「OK」をクリックすれば、完了です。
閉じて仮想HUBの設定は完了です。
IPsec/L2TPの設定
スマホからもつなげられるように、IPsec/L2TPの設定しておきましょう。
管理マネージャの「IPsec/L2TP設定」をクリックする。
「L2TP サーバー機能を有効にする(L2TP over IPsec)」にチェックを入れる。
IPsec 事前共有キーに9文字くらい入れる。
これも、接続に必要なので、メモしておきましょう。
ちなみに10文字以上入れると、以下のような警告が出る。
一部というのは、どのくらいなのかわからないので、Androidユーザーの人は9文字くらいにしておきましょう。
ルーターのNAT(NAPT)の設定をする
静的IPマスカレードともいう(うちのルーターの場合)。
ここからは、ルーターの個別設定になってしまいますが、開けたポートは、
TCP:443
UDP:500
UDP:4500
の3つです。
TCP:443は、SSL-VPNに必要なので、あとのUDPは、スマホからの接続に必要なため。
ほかのポート(TCP:992 1194 5555)も開けてもいいけど、不用意にあけてて、それがセキュリティホールになるのが嫌なので、最低限にしておきました。
とりあえず、接続テスト…あれ?
さっそく、Androidスマホから、接続を試みる。
Androidのバージョンによるけど、設定→もっと見る→VPN→「+」をタップすると、設定画面が出るので、設定する。
名前: (任意)
タイプ: L2TP/IPsec PSK
サーバーアドレス: (DDNS設定したアドレス).softether.net
L2TPセキュリティ保護: (未使用)
IPsecID: (未使用)
IPsec事前共有キー: (9文字くらいといっていた文字列)
ユーザー名:(作成したユーザー名)@(仮想HUB名)
パスワード:(ユーザー名のパスワード)
保存して、表示したものをタップし、接続をタップする。
…つながらない…orz
つながらない原因は、自宅の無線LAN接続だった
それもそのはず、自宅の無線LANに接続しているからである。
Wi-Fiを切って、再度接続。
接続成功しました。
接続されているのかを確認する
まず、Androidの画面から。
管理マネージャ側から確認
仮想HUBの設定にある、セッション管理に、つながっていることを確認する。
そこにある、IPアドレステーブルをクリックすると、IPアドレスが振られていることがわかる。
MACアドレスは、調べられなかったので、Windowsからping
して、arp -a
して、確認しました。
あとは、Android側から、いろいろ接続しても、大丈夫なことを確認しました。
懸念事項
- 自宅の無線LANに接続すると、VPNに接続できない
- dellの再起動ができない
「1」ですが、自宅の無線LANに接続しているときは、接続できない。
一応、TCPはちゃんと動くみたいだけど、L2TPだとダメみたい…
VPNAzureを使えば、一発で解決なんだけど…
「2」ですが、カバーを閉じているときに、リモートからの再起動をしたら、こけましたorz
ロック画面では、サスペンド無効の設定が反映されていないのが原因っぽいです。
…と探してみたら、設定方法がありました。
モニターを閉じるとサスペンドされるのを防止 - Qiita
これです。
探していたの。
というわけで
構築編を終了たいと思います。
L2TPの件は、自宅にいるときは、VPNをOFFにします。
#ちょっと、めんどくさい