LoginSignup
8
6

More than 5 years have passed since last update.

余っているPCにLubuntuを入れて、VPNサーバーを作ってみた(構築編)

Last updated at Posted at 2018-01-14

前回
余っているPCにLubuntuを入れて、VPNサーバーを作ってみた(準備編) - Qiita
の続きです。

ネットワーク構成図

1515913301885.png
FIreタブレットで書いたから、超適当w
わかればいいかな?

とりあえず、新しいHUBを作成

管理マネージャで「仮想HUBの作成」をクリックして、仮想HUBを作る
se01.png

仮想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をクリックします。
完了すると、下のように表に表示されます。
se02.png

DDNSのホスト名を変更

vpnxxxxxxxxxxxxxxx(適当に数値が入る).softether.netもよかったんだけど、適当に、入力されて、侵入される恐れがあるので、変更しておく。
se03.png

変更するとダイアログが出るので、「はい」をクリックして、もう一度「はい」をクリックして、一応、保存しておく。

仮想HUBの設定

se05-01.png

グループの設定

最初にグループの設定をしておくと、ポリシーの設定をユーザーごとに変更しなくてもよくなります。
se07.png
適当なグループ名(今回はdef)にして、セキュリティポリシーにチェック。
セキュリティポリシーをクリックして、「多重ログイン制限数」を選び、「このポリシー」の値を定義する」にチェックして、「1」にしましょう。
まぁ~一つIDをたらい回す運用であれば、そういうことしなくてもいいのですが、接続制限数はかけたほうがいいでしょう。

ユーザー作成

実際ログインするユーザーを作成します。
se08.png
「新規作成」を選んで、「ユーザー名」を書いて、グループ名を「def(グループ参照をクリックすると出てくる)」にして「パスワード認証」にして、「パスワード」を設定して、「OK」をクリックすれば、完了です。

閉じて仮想HUBの設定は完了です。

IPsec/L2TPの設定

スマホからもつなげられるように、IPsec/L2TPの設定しておきましょう。
管理マネージャの「IPsec/L2TP設定」をクリックする。
se11.png
「L2TP サーバー機能を有効にする(L2TP over IPsec)」にチェックを入れる。
IPsec 事前共有キーに9文字くらい入れる。
これも、接続に必要なので、メモしておきましょう。

ちなみに10文字以上入れると、以下のような警告が出る。
se12.png
一部というのは、どのくらいなのかわからないので、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の画面から。

Screenshot_20180114-183556.png
接続し真下になり、上に鍵マークがついた。

管理マネージャ側から確認

仮想HUBの設定にある、セッション管理に、つながっていることを確認する。
se013.png

そこにある、IPアドレステーブルをクリックすると、IPアドレスが振られていることがわかる。
se14.png
MACアドレスは、調べられなかったので、Windowsからpingして、arp -aして、確認しました。

あとは、Android側から、いろいろ接続しても、大丈夫なことを確認しました。

懸念事項

  1. 自宅の無線LANに接続すると、VPNに接続できない
  2. dellの再起動ができない

「1」ですが、自宅の無線LANに接続しているときは、接続できない。
一応、TCPはちゃんと動くみたいだけど、L2TPだとダメみたい…
VPNAzureを使えば、一発で解決なんだけど…

「2」ですが、カバーを閉じているときに、リモートからの再起動をしたら、こけましたorz
ロック画面では、サスペンド無効の設定が反映されていないのが原因っぽいです。
…と探してみたら、設定方法がありました。
モニターを閉じるとサスペンドされるのを防止 - Qiita
これです。
探していたの。

というわけで

構築編を終了たいと思います。
L2TPの件は、自宅にいるときは、VPNをOFFにします。
#ちょっと、めんどくさい

8
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6