#author("2018-08-21T16:47:45+09:00","","") #author("2018-08-21T16:51:01+09:00","","") [[CentOS7]] *VPNサーバー構築(SoftEther VPN Server) [#se21d9e3] ''SoftEther VPN Server''を使用して''VPN''サーバーを構築する。 ''SoftEther VPN Server''で構築した''VPN''サーバーへは、各''OS''(''Windows''、''iOS''、''Android''等)標準の''VPN''接続機能(''L2TP'')で''VPN''サーバーへ接続が可能なことから、''VPN''接続するクライアント側でソフトウェアをインストールする必要がない。このことから、ソフトウェアのインストールが制限されているような企業等でも容易に導入が可能。 &color(red){※''VPN''接続先ネットワーク(社内''LAN''等)で''DHCP''(''IP''アドレス自動割当て)が有効になっていること}; **仮想マシンにセットアップする場合 [#l219a438] 仮想マシンに''SoftEther VPN Server''をセットアップする場合、仮想''NIC''のプロミスキャスモードを有効にする必要がある。 &ref(SoftEther仮想マシンでの注意事項.jpg); ***プロミスキャスモードを有効にする [#y7b6dda4] ''Hyper-Vの場合'' +仮想化ゲストの設定を開く +プロミスキャスモードにしたいネットワークアダプターを開き、高度な機能を選択 +"MACアドレスのスプーフィングを有効にする"にチェックを入れる &br; &ref(02.png); **SoftEtherダウンロードセンターからSoftEther VPN ServerをダウンロードしてWinSCPでサーバーへアップロードする。 [#j2b9ad39] http://www.softether-download.com/ja.aspx?product=softether |BGCOLOR(black):COLOR(white):|c |[root@localhost ~]# tar zxvf softether-vpnserver-v4.27-9668-beta-2018.05.29-linux-x64-64bit.tar.gz &color(lime){← SoftEther VPN Server展開};| |[root@localhost ~]# cd vpnserver/ &color(lime){← SoftEther VPN Server展開先ディレクトリへ移動};| |[root@localhost vpnserver]# make &color(lime){← 実行可能ファイル生成};| |-------------------------------------------------------------------- &br; &br; SoftEther VPN Server (Ver 4.27, Build 9668, Intel x64 / AMD64) for Linux Install Utility &br; Copyright (c) SoftEther Project at University of Tsukuba, Japan. All Rights Reserved. &br; &br; -------------------------------------------------------------------- &br; &br; &br; Do you want to read the License Agreement for this software ? &br; &br; 1. Yes &br; 2. No &br; &br; Please choose one of above number: &br; 1 &color(lime){← 1(Yes)応答}; &br; ・ &br; ・ &br; ・ &br; &color(lime){ライセンス事項が表示される}; &br; ・ &br; ・ &br; ・ &br; Did you read and understand the License Agreement ? &br; (If you couldn't read above text, Please read 'ReadMeFirst_License.txt' &br; file with any text editor.) &br; &br; 1. Yes &br; 2. No &br; &br; Please choose one of above number: &br; 1 &color(lime){← 1(Yes)応答}; &br; &br; Did you agree the License Agreement ? &br; &br; 1. Agree &br; 2. Do Not Agree &br; &br; Please choose one of above number: &br; 1 &color(lime){← 1(Agree)応答}; &br; &br; ・ &br; ・ &br; ・ &br; すべてのチェックに合格しました。このシステム上で SoftEther VPN Server / Bridge が正しく動作する可能性が高いと思われます。| |[root@localhost vpnserver]# cd &color(lime){← ホームディレクトリへ戻る};| |[root@localhost ~]# mv vpnserver/ /usr/local/ &color(lime){← SoftEther VPN Server展開先ディレクトリを所定のディレクトリへ移動};| |[root@localhost ~]# cd /usr/local/vpnserver/ &color(lime){← SoftEther VPN Serverディレクトリへ移動};| |[root@localhost vpnserver]# chmod 600 * &color(lime){← root以外アクセスできないようにする};| |[root@localhost vpnserver]# chmod 700 vpncmd &color(lime){← vpncmdに実行権限付加};| |[root@localhost vpnserver]# chmod 700 vpnserver &color(lime){← vpnserverに実行権限付加};| |[root@localhost vpnserver]# ./vpncmd &color(lime){← vpncmd実行};| |vpncmd コマンド - SoftEther VPN コマンドライン管理ユーティリティ &br; SoftEther VPN コマンドライン管理ユーティリティ (vpncmd コマンド) &br; Version 4.22 Build 9634 (Japanese) &br; Compiled 2016/11/27 15:23:56 by yagi at pc30 &br; Copyright (c) SoftEther VPN Project. All Rights Reserved. &br; &br; vpncmd プログラムを使って以下のことができます。 &br; &br; 1. VPN Server または VPN Bridge の管理 &br; 2. VPN Client の管理 &br; 3. VPN Tools コマンドの使用 (証明書作成や通信速度測定) &br; &br; 1 - 3 を選択: 3 &color(lime){← 3(VPN Tools コマンドの使用)応答}; &br; &br; &br; VPN Tools を起動しました。HELP と入力すると、使用できるコマンド一覧が表示できます。 &br; &br; VPN Tools>check &color(lime){← check応答}; &br; &br; すべてのチェックに合格しました。このシステム上で SoftEther VPN Server / Bridge が正しく動作する可能性が高いと思われます。 &color(lime){ ← 確認}; &br; &br; VPN Tools>exit &color(lime){← exit応答};| |[root@localhost vpnserver]# cd &color(lime){← ホームディレクトリへ戻る};| |[root@localhost ~]# rm -f softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz &color(lime){← 削除};| **SoftEther VPN Server起動 [#b5a259dd] |BGCOLOR(black):COLOR(white):|c |[root@localhost ~]# vi /etc/systemd/system/vpnserver.service &color(lime){← SoftEther VPN Server起動スクリプト作成};| |[Unit] &br; Description=SoftEther VPN Server &br; After=network.target network-online.target &br; &br; [Service] &br; Type=forking &br; ExecStart=/usr/local/vpnserver/vpnserver start &br; ExecStop=/usr/local/vpnserver/vpnserver stop &br; &br; [Install] &br; WantedBy=multi-user.target| |[root@localhost ~]# systemctl start vpnserver &color(lime){← SoftEther VPN Server起動};| |[root@localhost ~]# systemctl enable vpnserver &color(lime){← SoftEther VPN Server自動起動設定};| ----- *ポート開放 [#pb9cd784] **UDP500番ポート、UDP4500番ポート開放 [#pb9cd784] ''【ルーター】'' ルーター側の設定で、''UDP500''番ポート、''UDP4500''番ポートへのアクセスをサーバーに転送するようにする。 ※ルーターの設定は各ルーターのマニュアルまたはメーカー別ルーターポート開放手順を参照 ''【ファイアウォール】'' サーバー側のファイアウォール設定で、''UDP500''番ポート、''UDP4500''番ポートへのアクセスを許可するようにする。 [[ポート開放確認ツール>http://tt0.link/tool/portcheck/]]で「IP」にサーバー名(例:hoge.com)、「ポート番号」に''500''または''4500''と入力、「''UDP''」を選択して「確認」ボタンを押下し、ポートは開放されていますと表示されることを確認。 **SoftEther VPN Server の待ち受けポートを変更している場合 [#x3303747] ''【ルーター】'' ルーターの設定で、待ち受けポートへのアクセスをサーバーに転送するようにする。 &color(red){※ルーターの設定方法は各ルーターのマニュアルまたはメーカー別ルーターポート開放手順を参照}; ''【ファイアウォール】'' サーバー側のファイアウォール設定で、待ち受けポートへのアクセスを許可するようにする。 [[ポート開放確認ツール>http://tt0.link/tool/portcheck/]]で「''IP''」にサーバー名(例:hoge.com)、「ポート番号」に待ち受けポート番号を入力、プロトコル(''TCP''もしくは''UDP'')を選択して「確認」ボタンを押下し、ポートは開放されていますと表示されることを確認。 ----- *SoftEther VPN Server設定 [#of522c3a] |BGCOLOR(black):COLOR(white):|c |[root@localhost ~]# systemctl stop vpnserver &color(lime){← SoftEther VPN Server停止};| |[root@localhost ~]# vi /usr/local/vpnserver/vpn_server.config &color(lime){← 設定ファイル編集};| |declare DDnsClient &br; { &br; bool Disabled &color(lime){true}; &color(lime){← ダイナミックDNS機能無効化(VPNサーバーへ独自ドメイン名(例:hoge.com)でアクセスする)}; &br; } &br; &br; declare ListenerList &br; { &br; declare Listener0 &br; { &br; bool DisableDos false &br; bool Enabled &color(lime){false}; &color(lime){← ポート443での待ち受けを無効化※Apacheと競合するため}; &br; uint Port 443 &br; } &br; declare Listener1 &br; { &br; bool DisableDos false &br; bool Enabled &color(lime){false}; &color(lime){← ポート992での待ち受けを無効化}; &br; uint Port 992 &br; } &br; declare Listener2 &br; { &br; bool DisableDos false &br; bool Enabled &color(lime){false}; &color(lime){← ポート1194での待ち受けを無効化}; &br; uint Port 1194 &br; } &br; declare Listener3 &br; { &br; bool DisableDos &color(lime){false}; &br; bool Enabled true &br; uint Port 5555 &br; } &br; } &br; declare ServerConfiguration &br; { &br; bool DisableIPv6Listener &color(lime){true}; &color(lime){←IPv6無効化}; &br; bool DisableNatTraversal &color(lime){true}; &color(lime){←NATトラバサール無効化}; &br; }| |declare DDnsClient &br; { &br; bool Disabled &color(lime){true}; &color(lime){← ダイナミックDNS機能無効化(VPNサーバーへ独自ドメイン名(例:hoge.com)でアクセスする)}; &br; } &br; &br; declare ListenerList &br; { &br; declare Listener0 &br; { &br; bool DisableDos false &br; bool Enabled &color(lime){false}; &color(lime){← ポート443での待ち受けを無効化※Apacheと競合するため}; &br; uint Port 443 &br; } &br; declare Listener1 &br; { &br; bool DisableDos false &br; bool Enabled &color(lime){false}; &color(lime){← ポート992での待ち受けを無効化}; &br; uint Port 992 &br; } &br; declare Listener2 &br; { &br; bool DisableDos false &br; bool Enabled &color(lime){false}; &color(lime){← ポート1194での待ち受けを無効化}; &br; uint Port 1194 &br; } &br; declare Listener3 &br; { &br; bool DisableDos &color(lime){false}; &br; bool Enabled true &br; uint Port 5555 &br; } &br; } &br; declare ServerConfiguration &br; { &br; bool DisableIPv6Listener &color(lime){true}; &color(lime){←IPv6無効化}; &br; bool DisableNatTraversal &color(lime){true}; &color(lime){←NATトラバーサル無効化}; &br; }| |[root@localhost ~]# systemctl start vpnserver &color(lime){← SoftEther VPN Server起動};| |[root@localhost ~]# vi /etc/cron.daily/vpnserver &color(lime){← SoftEther VPN Serverログローテーションスクリプト作成};| |#!/bin/sh &br; # 30日以前のログを削除 &br; find /usr/local/vpnserver/*_log -name '*.log' -mtime +30 -delete| |[root@localhost ~]# chmod +x /etc/cron.daily/vpnserver &color(lime){← SoftEther VPN Serverログローテーションスクリプトへ実行権限付加};| *SoftEther VPN Server初期設定 [#of4e8093] ''SoftEther VPN Server''の管理を行う''Windows''端末で初期設定を行う。 **(1)SoftEther VPN Server Managerインストール [#mdb044f3] [[SoftEtherダウンロードセンター>http://www.softether-download.com/ja.aspx?product=softether]]から''SoftEther VPN Server Manager for Windows''をダウンロードして''SoftEther VPN'' サーバー管理マネージャ(管理ツールのみ)をインストールする。 **(2)SoftEther VPN Server初期設定 [#l916c773] ''SoftEther VPN Server Manager''インストールにより作成されたデスクトップ上のショートカット(''SE-VPN'' サーバー管理 (ツール))で''SoftEther VPN'' サーバー管理マネージャを起動する。 +「新しい接続設定」ボタン押下 +「接続設定名」・・・任意の名前を入力 +「ホスト名」・・・サーバー名を入力 +「ポート番号」・・・''5555''(''SE-VPN''ポート)を選択 +「OK」ボタン押下 +作成した接続設定を選択して「接続」ボタン押下 +管理者パスワードを2回入力して「OK」ボタン押下 &br; &color(red){※簡易セットアップウインドウが表示されるので閉じる}; +「''IPsec/L2TP''設定」ボタン押下 +「''L2TP''サーバー機能を有効にする(''L2TP over IPsec'')」・・・チェック +「''L2TP''サーバー機能を有効にする(暗号化されていない''L2TP''」・・・チェックをはずす +「''IPsec''事前共有鍵」・・・任意の文字列を入力※''VPN''接続ユーザー全員に周知するキー +「OK」ボタン押下 +初期状態で作成されている''仮想HUB(DEFAULT)''を選択して「削除」ボタン押下 +「仮想HUBの作成」ボタン押下 +「仮想HUB名」・・・任意の名前を入力 +「OK」ボタン押下 +「ローカルブリッジ設定」ボタン押下 +「仮想HUB」・・・作成した仮想HUBを選択 +「作成する種類」・・・「物理的な既存のLANカードとのブリッジ接続」を選択 +「LANカード」・・・ネットワーク接続しているLANカードを選択 +「ローカルブリッジを追加」ボタン押下 +作成した仮想HUBを選択して「仮想HUBの管理」ボタン押下 +「ユーザーの管理」ボタン押下 +「新規作成」ボタン押下 +「ユーザー名」・・・任意のユーザー名を入力 +「パスワード」・・・任意のパスワードを入力 +「パスワードの確認入力」・・・上記と同じパスワードを入力 +「OK」ボタン押下 **ユーザー一括登録 [#e6a98add] 大量のユーザーをGUIで登録するのは煩雑なため、ユーザー名/パスワードを列挙したリストを用意してユーザーを一括登録する。 |BGCOLOR(black):COLOR(white):|c |[root@localhost ~]# vi UserPasswordSet.txt &color(lime){← ユーザー登録リスト作成};| |Hub VPN &color(lime){← 仮想HUB名を指定}; &br; UserCreate user2 /GROUP:none /REALNAME:none /NOTE:none &color(lime){← ユーザーuser2を登録}; &br; UserCreate user3 /GROUP:none /REALNAME:none /NOTE:none &color(lime){← ユーザーuser3を登録}; &br; UserPasswordSet user2 /PASSWORD:user2password &color(lime){← user2のパスワードをuser2passwordで登録}; &br; UserPasswordSet user3 /PASSWORD:user3password &color(lime){← user3のパスワードをuser3passwordで登録};| |[root@localhost ~]# /usr/local/vpnserver/vpncmd /server localhost:5555 /in:UserPasswordSet.txt &color(lime){← ユーザー登録リスト実行};| |ファイル "UserPasswordSet.txt" に記述されているコマンドを、キーボードからの入力の代わりに使用します。 &br; vpncmd コマンド - SoftEther VPN コマンドライン管理ユーティリティ &br; SoftEther VPN コマンドライン管理ユーティリティ (vpncmd コマンド) &br; Version 4.22 Build 9634 (Japanese) &br; Compiled 2016/11/27 15:23:56 by yagi at pc30 &br; Copyright (c) SoftEther VPN Project. All Rights Reserved. &br; &br; パスワード: ************* &color(lime){← 管理パスワード応答}; &br; &br; VPN Server "localhost" (ポート 5555) に接続しました。 &br; &br; VPN Server 全体の管理権限があります。 &br; &br; VPN Server>Hub VPN &br; Hub コマンド - 管理する仮想 HUB の選択 &br; 仮想 HUB "VPN" を選択しました。 &br; コマンドは正常に終了しました。 &br; &br; VPN Server/VPN>UserCreate user2 /GROUP:none /REALNAME:none /NOTE:none &br; UserCreate コマンド - ユーザーの作成 &br; コマンドは正常に終了しました。 &br; &br; VPN Server/VPN>UserCreate user3 /GROUP:none /REALNAME:none /NOTE:none &br; UserCreate コマンド - ユーザーの作成 &br; コマンドは正常に終了しました。 &br; &br; VPN Server/VPN>UserPasswordSet user2 /PASSWORD:user2password &br; UserPasswordSet コマンド - ユーザーの認証方法をパスワード認証に設定しパスワードを設定 &br; コマンドは正常に終了しました。 &br; &br; VPN Server/VPN>UserPasswordSet user3 /PASSWORD:user3password &br; UserPasswordSet コマンド - ユーザーの認証方法をパスワード認証に設定しパスワードを設定 &br; コマンドは正常に終了しました。| *SoftEther VPN Server確認 [#u1421f2b] **(1)Windowsからの接続(設定) [#zc2202b9] スタート⇒コントロールパネル⇒ネットワークと共有センター⇒新しい接続またはネットワークのセットアップ +「職場に接続します」を選択して「次へ」ボタン押下 +「インターネット接続(VPN)を使用します」を選択 +「インターネットアドレス」・・・サーバー名を入力 +「接続先の名前」・・・任意の名前を入力 +「今は接続しない。自分が後で接続できるようにセットアップのみを行う。」・・・チェック +「次へ」ボタン押下 +「ユーザー名」・・・「作成した仮想HUB名\作成したユーザー名」を入力 +「パスワード」・・・作成したユーザーのパスワードを入力 +「このパスワードを記憶する」・・・チェック※任意 +「作成」ボタン押下 +「閉じる」ボタン押下 &br; スタート⇒コントロールパネル⇒ネットワークと共有センター⇒アダプターの設定の変更 &br; 作成したVPN接続を右クリック⇒プロパティ⇒セキュリティタブ +「VPNの種類」・・・「''IPsec''を利用したレイヤー2トンネリングプロトコル(''L2TP/IPsec'')」を選択 +「暗号化されていないパスワード(''PAP'')」・・・チェック +「詳細設定」ボタン押下 +「認証に事前共有キーを使う」を選択して「キー」にIPsec事前共有鍵を入力して「OK」ボタン押下 +ネットワークタブで「インターネットプロトコルバージョン''4''(''TCP/IPv4'')」を選択して「プロパティ」ボタン押下 +「詳細設定」ボタン押下 +「リモートネットワークでデフォルトゲートウェイを使う」のチェックをはずして「OK」ボタン押下 &br; &color(red){※VPN接続先ネットワーク以外(通常のインターネット)へのアクセスは従来のルートでアクセスするようにする設定}; **(2)Windowsからの接続(確認) [#se71efbf] ''VPN''接続をダブルクリック 「接続」ボタン押下 -作成したVPN接続が白黒からカラーになること -''VPN''接続した''Windows''から''LAN''内の他端末へ''PING''が通ること※PINGが通らない場合はファイアウォールで''PING''をブロック(''ICMP''の受信を拒否)している可能性があるためファイアウォール設定を確認すること ----- *VPNクライアントからVPNサーバーへのアクセス設定 [#t71c7b19] ''VPN''クライアントから''VPN''サーバーへアクセスできるようにする。 &color(red){※本設定を行わないと''VPN''クライアントから''VPN''サーバーのサービス(Webサーバー、ファイルサーバー等)にアクセスできない。''VPN''サーバーは''VPN''接続サービスのみ提供するのであれば本設定は実施不要。}; **SoftEther VPN サーバー管理マネージャで仮想ネットワークインタフェース(tapデバイス)を作成して仮想HUBとブリッジ接続する。 [#k06abe42] +「ローカルブリッジ設定」ボタン押下 &br; &ref(06.jpg); +既存のローカルブリッジ設定を選択して「ローカルブリッジの削除」ボタン押下 &br; &ref(07.jpg); +「仮想HUB」・・・作成した仮想HUBを選択 &br; &ref(08.jpg); +「作成する種類」・・・「新しいtapデバイスとのブリッジ接続」を選択 +「新しい''tap''デバイス名」・・・任意の仮想ネットワークインタフェース名(例:eth00)を入力 +「ローカルブリッジを追加」ボタン押下 ----- **方法①:サーバーにグローバルIPアドレスしか設定されてない場合 [#da12c669] &color(red){''VPS等に利用できるかと思います''}; &ref(05.png); -サーバーのOSは''CentOS''です。 -''VPN Server''は既にサーバーへインストールされている事とします。 サーバー管理マネージャでローカルブリッジ設定を行う。 ''NIC''を仮想HUBとブリッジするのではなく &color(red){''tap''}; デバイスと接続します。 &ref(03.png); &ref(04.png); ***サーバでネットワークの確認をする。 [#k8c9970a] ''ifconfig''コマンドを実行すると、''tap''デバイスが作成されていることがわかります。 |BGCOLOR(black):COLOR(white):|c |[root@localhost ~]# ifconfig| |tap_eth00 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX &br; UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 &br; RX packets:2 errors:0 dropped:0 overruns:0 frame:0 &br; TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 &br; collisions:0 txqueuelen:500 &br; RX bytes:122 (122.0 b) TX bytes:0 (0.0 b)| ですが、これではIPアドレスが不明な為''VPN''からのアクセスはできません。&color(red){''tap''}; デバイス名(今回だとtap_eth00)を確認しておきます。 ***vpnserver起動スクリプトへのコマンド追加 [#t17583f9] ''VPN Server''が作成する&color(red){''tap''};デバイスは''VPN Server''起動時に作成されます。&color(red){''tap''};デバイスが存在しない場合、デバイス名にはアクセスできません。''VPN Server''起動後にIPアドレスを設定する必要があります。 Linux系OSに''vpnserver''をインストールする場合、起動スクリプトを作成するかと思います。そのスクリプトにコマンドを記述しましょう。''VPN Server''起動後にIPアドレス、サブネット、ブロードキャストを設定しネットワークを再起動するコマンドを記述します。 |BGCOLOR(black):COLOR(white):|c |[root@localhost ~]# nmcli device &color(lime){← 仮想ネットワークインタフェースtap_eth00作成確認};| |デバイス タイプ 状態 接続 &br; eth0 ethernet 接続済み eth0 &br; lo loopback 管理無し -- &br; tap_eth00 tun 管理無し -- &color(lime){← 仮想ネットワークインタフェースtap_eth00が作成されている};| |[root@localhost ~]# vi /etc/systemd/system/vpnserver.service &color(lime){← SoftEther VPN Server起動スクリプト修正};| |[Unit] &br; Description=SoftEther VPN Server &br; After=network.target &br; &br; [Service] &br; Type=forking &br; ExecStart=/usr/local/vpnserver/vpnserver start &br; ExecStartPost=/usr/local/vpnserver/add_eth00.sh &color(lime){← tapネットワークインタフェースにIPアドレスを設定するスクリプトを指定}; &br; ExecStop=/usr/local/vpnserver/vpnserver stop &br; &br; [Install] &br; WantedBy=multi-user.target| |[root@localhost ~]# systemctl daemon-reload &color(lime){← SoftEther VPN Server起動スクリプト修正反映};| |[root@localhost ~]# vi /usr/local/vpnserver/add_eth00.sh &color(lime){← 仮想ネットワークインタフェースIPアドレス設定スクリプト作成};| |#!/bin/sh &br; &br; sleep 3 &br; /sbin/ifconfig tap_eth00 xxx.xxx.xxx.xxx netmask 255.255.255.0 broadcast xxx.xxx.xxx.255 &br; /etc/init.d/network restart| |[root@localhost ~]# chmod +x /usr/local/vpnserver/add_eth00.sh &color(lime){← 仮想ネットワークインタフェースブリッジIPアドレス設定スクリプトに実行権限付加};| |[root@localhost ~]# systemctl restart vpnserver &color(lime){← SoftEther VPN Server再起動};| |[root@localhost ~]# ifconfig &color(lime){← IPアドレス設定状態確認};| ----- **方法②:サーバーがプライベートIPアドレスで、NATやIPマスカレードでインターネットと通信している場合 [#zbca7340] |BGCOLOR(black):COLOR(white):|c |[root@localhost ~]# nmcli device &color(lime){← 物理インタフェース名確認};| |デバイス タイプ 状態 接続 &br; eth0 ethernet 接続済み eth0 &color(lime){← 物理インタフェース名はeth0}; &br; lo loopback 管理無し --| |[root@localhost ~]# nmcli c add type bridge ifname br0 &color(lime){← ブリッジインタフェースbr0作成};| |接続 'bridge-br0' (f80224fe-72c3-437b-804d-7aa890a54fdf) が正常に追加されました 。| |[root@localhost ~]# nmcli con modify bridge-br0 bridge.stp no &color(lime){← ブリッジインタフェースbr0のSTPを無効化};| |[root@localhost ~]# nmcli con modify bridge-br0 ipv4.method manual ipv4.addresses 192.168.1.30/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 8.8.4.4" &color(lime){← ブリッジインタフェースbr0ネットワーク設定}; &br; &color(lime){※例:IPアドレスを192.168.1.30、ネットマスクを24、ゲートウェイを192.168.1.1、DNSサーバーのアドレスを8.8.8.8、8.8.4.4とする};| |[root@localhost ~]# nmcli con add type bridge-slave ifname eth0 master bridge-br0 &color(lime){← 物理インタフェースeth0をブリッジインタフェースbr0に接続};| |接続 'bridge-slave-eth0' (fdd5747f-222f-44b8-aa10-904b5e400903) が正常に追加されました。| |[root@localhost ~]# nmcli c del eth0 &color(lime){← 物理インタフェースeth0削除};| |接続 'eth0' (404ed17e-716a-4f13-bbc0-3c4efe8b1eed) が正常に削除されました。| |[root@localhost ~]# reboot &color(lime){← システム再起動};| |[root@localhost ~]# brctl show &color(lime){← ブリッジ接続状態照会};| |bridge name bridge id STP enabled interfaces &br; br0 8000.525400245b91 no eth0 &color(lime){← 物理インタフェースeth0とブリッジインタフェースbr0がブリッジ接続されている};| |[root@localhost ~]# ip addr show &color(lime){← IPアドレス照会};| |1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1 &br; link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 &br; inet 127.0.0.1/8 scope host lo &br; valid_lft forever preferred_lft forever &br; inet6 ::1/128 scope host &br; valid_lft forever preferred_lft forever &br; 2: eth0: mtu 1986 qdisc pfifo_fast master br0 state UP qlen 1000 &br; link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff &br; &color(lime){物理インタフェースeth0にはIPアドレスは設定されていない}; &br; 5: br0: mtu 1986 qdisc noqueue state UP qlen 1000 &br; link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff &br; inet 192.168.1.30/24 brd 192.168.1.255 scope global br0 &color(lime){← ブリッジインタフェースbr0にIPアドレスが設定されている}; &br; valid_lft forever preferred_lft forever &br; inet6 2408:211:1242:7e00:f03a:5943:87f:f4c4/64 scope global noprefixroute dynamic &br; valid_lft 2591837sec preferred_lft 604637sec &br; inet6 fe80::d35c:2093:9420:e597/64 scope link &br; valid_lft forever preferred_lft forever| ----- |BGCOLOR(black):COLOR(white):|c |[root@localhost ~]# nmcli device &color(lime){← 仮想ネットワークインタフェースtap_eth00作成確認};| |デバイス タイプ 状態 接続 &br; br0 bridge 接続済み bridge-br0 &br; eth0 ethernet 接続済み eth0 &br; lo loopback 管理無し -- &br; tap_eth00 tun 管理無し -- &color(lime){← 仮想ネットワークインタフェースtap_vpnが作成されている};| |[root@localhost ~]# vi /etc/systemd/system/vpnserver.service &color(lime){← SoftEther VPN Server起動スクリプト修正};| |[Unit] &br; Description=SoftEther VPN Server &br; After=network.target &br; &br; [Service] &br; Type=forking &br; ExecStart=/usr/local/vpnserver/vpnserver start &br; ExecStartPost=/usr/local/vpnserver/add_tap.sh &color(lime){← 仮想ネットワークインタフェースブリッジ接続コマンド加}; &br; ExecStop=/usr/local/vpnserver/vpnserver stop &br; &br; [Install] &br; WantedBy=multi-user.target| |[root@localhost ~]# systemctl daemon-reload &color(lime){← SoftEther VPN Server起動スクリプト修正反映};| |[root@localhost ~]# vi /usr/local/vpnserver/add_tap.sh &color(lime){← 仮想ネットワークインタフェースブリッジ接続スクリプト作成};| |#!/bin/sh &br; &br; sleep 3 &br; tap_dev=`/sbin/ip tuntap | awk -F: '{print $1}'` &br; if [ -n "$tap_dev" ]; then &br; /sbin/brctl addif br0 $tap_dev &br; fi| |[root@localhost ~]# chmod +x /usr/local/vpnserver/add_tap.sh &color(lime){← 仮想ネットワークインタフェースブリッジ接続スクリプトに実行権限付加};| |[root@localhost ~]# systemctl restart vpnserver &color(lime){← SoftEther VPN Server再起動};| |[root@localhost ~]# brctl show &color(lime){← ブリッジ接続状態照会};| |bridge name bridge id STP enabled interfaces &br; br0 8000.00ac222f71cb no eth0 &br; tap_eth00 &color(lime){← 仮想ネットワークインタフェース''tap_eth00''とブリッジインタフェース''br0''がブリッジ接続されている};| ----- *VPNクライアントからVPNサーバーへのアクセス確認 [#r224498f] -VPN接続した''Windows''からVPNサーバーへ''PING''が通ること -VPN接続した''iPhone''からVPNサーバーへ''PING''が通ること -VPN接続した''Windows''からLAN内の他端末へ''PING''が通ること &br; ※''PING''が通らない場合はファイアウォールで''PING''をブロック(''ICMP''の受信を拒否)している可能性があるためファイアウォール設定を確認すること -VPN接続した''iPhone''からLAN内の他端末へ''PING''が通ること &br; ※''PING''が通らない場合はファイアウォールで''PING''をブロック(''ICMP''の受信を拒否)している可能性があるためファイアウォール設定を確認すること *VPN接続/切断コマンドの配布 [#c0baa4c2] あらかじめ管理者にて作成したVPN接続設定をユーザーに配布して、ユーザーが容易にVPN接続できるようにする。 **(1)VPN接続/切断コマンド作成(管理者作業) [#re831ea7] VPN接続コマンド(例:VPN接続.bat)を以下の内容で作成する。 @echo off rasdial "接続先の名前" 仮想HUB名\ユーザー名 パスワード 例)rasdial "VPN 接続" VPN\user1 xxxxxxxx ※パスワードは*にすると問合せがくる VPN切断コマンド(例:VPN切断.bat)を以下の内容で作成する。 @echo off rasdial "接続先の名前" /disconnect 例)rasdial "VPN 接続" /disconnect **(2)VPN接続/切断資材配布(管理者作業) [#x9d85895] ''%USERPROFILE%\AppData\Roaming\Microsoft\Network\Connections\Pbk''フォルダ内の''rasphone.pbk''をテキストエディタで編集する。 IpPrioritizeRemote=0 ← リモートネットワークのデフォルトゲートウェイを使わない PreSharedKey=xxxxxxxx ← IPsec事前共有鍵を指定 -rasphone.pbk -VPN接続.bat -VPN切断.bat をユーザーに配布する。 **(3)VPN接続/切断資材セットアップ(ユーザー作業) [#eab6c102] ''rasphone.pbk''を''%USERPROFILE%\AppData\Roaming\Microsoft\Network\Connections\Pbk''フォルダに格納 VPN接続.bat、VPN切断.batを適当な場所に格納 **(4)VPN接続/切断確認(ユーザー作業) [#tac0f343] -VPN接続.batをダブルクリックして実行してVPN接続パスワードを応答後、VPN接続できること -VPN切断.batをダブルクリックして実行してVPN切断後、VPN切断できること