Ubuntuを使用したDMVPNのインストールと設定例
説明
DMVPN(Dynamic Multipoint VPN)は、すべてのデバイスを静的に設定する必要なく、複数の拠点間でVPNネットワークを構築するためのルーティング技術です。これは「ハブとスポーク」型のネットワークで、スポークはハブを経由せずに直接相互通信が可能です。IPsecによる暗号化がサポートされているため、通常のインターネット接続を使用して異なる拠点間を接続する際に人気の選択肢となっています。
Milesight産業用ルーターはDMVPN機能をサポートし、クライアントモードとして動作します。このマニュアルでは、DMVPNサーバーのインストール方法、およびMilesightルーターをサーバーに接続する手順を説明します。
注意:Milesightルーターのファームウェアを最新バージョンに更新してください。
要件
Ubuntu
Milesightルーター
URルーターIP:192.168.22.105
DMVPN ハブ: 192.168.23.206
GRE ハブ IP: 10.0.0.1
GRE トンネル IP: 10.0.0.XX (10.0.0.2-10.0.0.254)
GRE キー: 123456, 事前共有キー: 123456
内容
設定
DMVPN サーバー設定
ステップ1. 必要環境のインストール
1.Ubuntu にログインし、以下のコマンドを実行: apt-get update
root@ubuntu:~# apt-get update
2. racoon のインストール
root@ubuntu:~# apt-get install racoon
3.opsec-tools のインストール.
root@ubuntu:~# apt-get install ipsec-tools
4: build-essential をインストールします。
root@ubuntu:~# apt-get install build-essential
5: libc-ares-dev をインストールします。
root@ubuntu:~# apt-get install libc-ares-dev
6: pkg-config をインストールします。
root@ubuntu:~# apt-get install pkg-config
7: この URL から opennhrp-0.14.1.tar.bz2 をダウンロードします。
8: opennhrp をインストールします。tar -xjvf opennhrp-0.14.1.tar.tz2 & make & make install
root@ubuntu:~# tar xjvf opennhrp-0.14.1.tar.bz2
root@ubuntu:~# cd opennhrp-0.14.1
root@ubuntu:~/opennhrp-0.14.1# ls
AUTHORS contrib doc etc libev Makefile Make.rules man MIT-LICENSE.txt NEWS nhrp patches README TODO
root@ubuntu:~/opennhrp-0.14.1# make
root@ubuntu:~/opennhrp-0.14.1# make install
install -d /usr/sbin
install nhrp/opennhrp nhrp/opennhrpctl /usr/sbin
install -d /etc/opennhrp
install etc/opennhrp.conf etc/opennhrp-script etc/racoon-ph1down.sh etc/racoon-ph1dead.sh /etc/opennhrp
install -d /usr/share/man/man5 /usr/share/man/man8
install man/opennhrp.conf.5 /usr/share/man/man5
install man/opennhrp.8 man/opennhrpctl.8 man/opennhrp-script.8 /usr/share/man/man8
install -d /usr/share/doc/opennhrp
install README /usr/share/doc/opennhrp
ステップ2. /etc/opennhrp/opennhrp.conf を設定
root@ubuntu:/etc/opennhrp# cat opennhrp.conf
interface gre1
shortcut
redirect
non-caching
multicast nhs
ステップ3. /etc/racoon/racoon.conf を設定
root@ubuntu:/etc/racoon# cat racoon.conf
path include "/etc/racoon/";
path pre_shared_key "/etc/racoon/psk.txt";
remote anonymous {
exchange_mode main;
lifetime time 10800 seconds;
my_identifier address;
dpd_delay 30;
dpd_retry 3;
dpd_maxfail 6;
nat_traversal on;
proposal {
encryption_algorithm des;
hash_algorithm sha1;
dh_group modp768;
authentication_method pre_shared_key;
}
}
sainfo anonymous {
lifetime time 3600 seconds;
compression_algorithm deflate;
encryption_algorithm 3des;
authentication_algorithm hmac_sha1;
}
ステップ4. /etc/racoon/psk.txt を設定
注: ルーターのWAN IPアドレスに応じてIPアドレスを設定してください
Step5. ipsec-tools.conf を設定
root@ubuntu:/# cat /etc/ipsec-tools.conf
#!/usr/sbin/setkey -f
flush;
spdflush;
spdadd 0.0.0.0/0 0.0.0.0/0 gre -P out ipsec esp/transport//require;
spdadd 0.0.0.0/0 0.0.0.0/0 gre -P in ipsec esp/transport//require;
ステップ6. DMVPN を開始/停止するスクリプトを作成します
注: サーバーの IP アドレスに応じてローカル IP アドレスを設定してください
root@ubuntu:/# cat dmvpn.sh
#!/bin/sh
start_nhrp() {
opennhrp -d
}
stop_nhrp() {
killall -9 opennhrp
}
start_gre1() {
ip tunnel add gre1 mode gre local 192.168.23.206 key 123456 ttl 64
ip addr add 10.0.0.1/24 dev gre1
ip link set gre1 up multicast on
}
stop_gre1() {
ifconfig gre1 down
ip tunnel del gre1
}
start_ipsec() {
setkey -f /etc/ipsec-tools.conf
racoon -f /etc/racoon/racoon.conf
}
stop_ipsec() {
setkey -F
setkey -FP
killall -9 racoon
}
ACTION="$1"
if [ "$ACTION" = "start" ];then
start_gre1
start_ipsec
start_nhrp
fi
if [ "$ACTION" = "stop" ];then
stop_nhrp
stop_gre1
stop_ipsec
fi
ステップ7. 作成したスクリプトでサービスを起動する
root@ubuntu:~# chmod +x dmvpn.sh
root@ubuntu:~# ./dmvpn.sh start
opennhrp[19850]: OpenNHRP 0.14.1 starting
opennhrp[19850]: Interface lo: configured UP, mtu=0
opennhrp[19850]: Interface ens18: configured UP, mtu=1500
opennhrp[19850]: Interface gre0: config change, mtu=1476
opennhrp[19850]: Interface gretap0: config change, mtu=1462
opennhrp[19850]: Interface gre1: configured UP, mtu=1472
opennhrp[19850]: Interface gre1: GRE configuration changed. Purged 0 peers.
opennhrp[19850]: Filter code installed (21 opcodes)
Milesight ルーターの設定
DMVPN を有効にし、設定を保存して適用してください。
接続状態を確認
Milesight ルーターの Web GUI で Status -> VPN に移動してください。
関連記事
ルーターの使用
ネットワークの常時接続機能を実現する方法Ursalink 産業用セルラールーターは、リンクフェイルオーバー機能によりネットワークをスムーズに稼働させます
MilesightルーターでシリアルDTUトランスペアレントモードを使用する方法Milesight ルーターでシリアル DTU 透過モードを使用する方法について簡単に説明します
Milesight ルーターで Modbus RTU を Modbus TCP に設定する方法最もよく使用されるのは、Modbus RTU(リモートターミナルユニット)、シリアル(RS-232またはRS-485)プロトコル、またはModbus(TCP/IP)伝送制御プロトコルとインターネットプロトコルです。
Milesight ルーターでのModbus マスター機能の使用方法Milesightルーターは、Modbus RTU/TCPマスター(クライアント)として機能し、Modbusスレーブユニットデバイス(サーバー)からデータを要求できます
Python アプリケーションを使用して SNMP サーバーに DI/DO ステータスを書き込む方法Milesight ルーター上の Python アプリケーションを使用して、DI/DO ステータスを SNMP サーバーに書き込む方法について説明します。
Milesight ルーターを GenieACS システムに TR-069 経由で統合する方法TR-069(Technical Report 069)は、正式名称を「CPE WAN Management Protocol」といい、ブロードバンド・フォーラムによって開発された業界標準プロトコルです
Milesightルーターのセルラー周波数帯域選択セルラーネットワークに登録する特定のセルラー周波数帯域を選択する方法について説明します
Milesight UR75&UF51ルーターでDOをコントロールする方法DOの原理とDOの制御方法について説明します
Milesight UR3x&UR41ルーターでDOをコントロールする方法DOの原理とDOの制御方法について説明します
MilesightルーターをOpenVPN CloudConnexaに接続する方法CloudConnexaを例に、MilesightルーターとCPEでOpenVPNクライアントを構成する方法を説明します。
MilesightルーターのMQTTメッセージング機能MQTT クライアントとしてデータをパブリッシュするための MQTT 設定の構成方法、およびルーター情報とデータの取得方法について説明します。
Milesight ルーターで「pip install」を実行する方法Milesight セルラー ルーターには、Python での二次開発用に組み込みコンポーネントが搭載されています。
Milesightルータ間でIPsec VPNを確立する方法Milesight ルーター間で IPsec VPN を設定する方法について説明します。
MilesightルーターでACLを設定する方法アクセス制御リスト(ACL)の設定について詳細に説明します
MilesightルーターでのDIの使い方DI の使用方法と DI ステータスの確認方法について説明します
システム時刻の設定方法とNTPサーバーのセットアップNTP サーバーとの同期を例に、システム時刻の設定方法と、ルーターを NTP サーバーとして使用する方法を説明します。
SMSの送受信と遠隔操作の方法この手順により、電話グループ1のSIM1番号のみがこのルーターを制御するためのメッセージを送信できるようになります。
Milesightルーター間のWi-Fiによるローカルネットワーク通信Milesight ルーター間でWi-Fi経由のローカルネットワーク通信を設定する方法について説明します。
Milesightルーターを経由してiOSをIPsec VPNに接続する方法説明 インターネットプロトコルセキュリティ(IPsec)は、インターネットプロトコルネットワーク上で […]
MilesightルーターでOpenVPNサーバーをセットアップする方法は?ルーター上でOpenVPNサーバーを構成する方法を説明します。