ものづくり経営革新等支援機関

【OpenVPN】IaaSにOpenVPNサーバを立てて自宅と事務所でリモートデスクトップする(4)

https://imamura-net.com

おはようございます!マネジメントオフィスいまむらの今村敦剛です。

この度、IDCフロンティアのIaaS型パブリッククラウドサービスを使い、OpenVPNサーバを構築しました。その構築方法を記録する第4回目です。今回は、DDNSの設定をします。

この連載の全体的な構成

この連載は、全10回を予定しています。今回は第4回目「DDNS設定」です。

連載記事一覧

DDNS(ダイナミックDNS)とはなにか?

DDNS(ダイナミックDNS)とは、インターネット上のコンピューターの住所を常に正確に把握するための仕組みです。インターネットにおけるコンピューターの住所は一般的に、IPアドレスと呼ばれる数字の組み合わせで示されます。しかしこのIPアドレスは、お金を追加で払えば話は別ですが、基本的には変わることがあります。郵便に例えていうと、住所が勝手に変わるようなイメージですね(◯◯町1丁目1-1だったのに、知らないうちに◯◯町1丁目3-8になっていた、みたいな)。勝手に変わってしまっては、手紙が届きませんよね。でもインターネットの世界では、住所(IPアドレス)は勝手に変わるのが一般的です。

でも、もし誰かが、住所が突然変わっても、宛先の住所を正確に把握してくれるならば、いつでもちゃんと郵便を送ることができますよね。ダイナミックDNSは、そのように住所が突然変わっても、宛先の住所を正確に把握してくれるサービスと言ってよいでしょう。あなたの住所(IPアドレス)が変わっても、ダイナミックDNSは常にその最新の住所(IPアドレス)を教えてくれるわけです。

IDCFの仮想ネットワークには、グローバルIPアドレスが1つ割り当てられています。滅多なことでは変わらないとは思いますが、固定IPであることが約束されているわけではないので、今回はDDNSの設定を行います。DDNSサービスもいろいろありますが、無料で使えるNo-IPを使ってやります。

no-ipで無料のアカウント作成&DDNS設定

no-ipのサイトへ行き、トップ画面でホスト名の候補を入力し、「sigin up」をクリックします。ホスト名は、自分にとってわかりやすい名称ならばなんでもよいです。

no-ipのアカウントを作成します。連絡を受けたいメールアドレスと、新たに設定するパスワードを入力します。規約(terms of service and privacy policy)に同意する必要があります。(email opt-inは、メールによるサービス案内を受けるかどうかの選択です。チェックを入れたままでいいんじゃないかと思います)

入力・チェックが終わり、「Free Sign Up」をクリックすると、登録したメールアドレス宛てに、確認メールが届いているはずです。「confirm」(確認する)を押してください。

続いて、IDCF側のネットワークに割り当てられたグローバルIPアドレスを登録します。下記の画面へ行き、左側のコラムから「Dynamic DNS」を選び、その配下の「No-IP Hostnames」をクリックします。先程サインアップした際のホスト名が見えると思います。そのホスト名の右側の「Modify」をクリックします。

編集画面でIPv4 Address(赤い枠の部分)を修正します。ここには、IDCフロンティアの仮想ネットワークのグローバルIPアドレスを入力します。

IDCFのクラウド操作画面の、下記のページの赤枠の部分を見ればわかります。

これでno-ipへのサインアップは完了です。

CentOSへのno-ip更新クライアントのインストール

無料版のno-ipのDDNSサービスには一つ制約があります。それは、30日ごとにサーバーアドレスを更新する必要があるということです。やったことないのでよくわかりませんが、おそらく下記の画面の「update hostmame」を、30日に1回はクリックすればいいんだと思います。でも面倒くさいですし、たぶん忘れちゃいますよね。この更新作業を自動でやってくれるソフトがあるので、それをCentOSへインストールします。

ここからは、前回の記事で設定をしたTera Termの出番です。Tera TermでIDCFの仮想マシンに接続できていない方は、前回の記事を参照してください。Tera Termで仮想マシンに接続したら、下記のような画面になるはずです。

no-ipの更新クライアントをインストール前準備をします。最初にgccのインストールをします。gccとは、GNUプロジェクトが開発しているコンパイラ集(GCC)の実行ファイルのことです。これをインストールしておくと、ややこしい操作がある程度楽になります(雑な説明)

 command
yum install gcc

つづいて、no-ipの更新クライアントをダウンロードします。

 command
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

ダウンロードしたファイルを解凍します。

 command
tar zxvf noip-duc-linux.tar.gz

いろいろ解凍されました。

ビルドを実行するために、先程インストールしたno-ip更新クライアントのフォルダ移動しましょう。(今回の例では「noip-2.1.9-1」というディレクトリに移動していますが、更新クライアントのバージョンが変わると、このディレクトリ名も変わると思います)

 command
cd noip-2.1.9-1

ビルドを実行します。

 command
make

エラーっぽいものが出て心配になりますが、これでよいようです。

ようやく、IPアドレス更新クライアントのインストールをします。

 command
make install

インストールが進むと、先程サインアップしたno-ipのログイン名(Eメールアドレス)とパスワードを訊かれます。入力し、インストールを進めます。

その他、いろいろ訊かれますがぼくは下記のように設定をしました。

  • Please enter an update interval(更新間隔)は30
  • Do you wish to run something at successful update?[N] (y/N) はy
  • Please enter the script/program name は何もせずenterを押す

no-ip更新クライアントの自動起動設定

これでインストールは完了ですが、linuxでは自動起動の設定が重要です。windowsとかでも同じですが、仮想マシンを再起動したりすると、走っていたプロセス(プログラム)が停止します(当たり前ですが)。せっかくインストールしたのに、何らかの理由で停止してしまうと、no-ipへのアドレス更新も正常にできません。ということで、仮想マシンを再起動したときに、no-ip更新クライアントが自動で起動するように設定をします。

今回はno-ip更新クライアントの自動起動設定ですが、これからやるOpenVPNサーバや、Tera Termなどで認証に用いているsshも自動起動設定しないと、再起動したときに「繋がらない!なんでや!」となりますので注意が必要です。

自動起動設定には、CentOS7より採用された「Systemd」を使います。Systemdとは、Linuxでの起動処理やシステム管理を行う仕組みのことのようです。

まずはsystemdでのno-ipの起動スクリプトをダウンロードします。

 command
wget https://gist.githubusercontent.com/NathanGiesbrecht/da6560f21e55178bcea7fdd9ca2e39b5/raw/ea1ef414bda8a33f329dff1ab853016040b89891/noip2.service

よくわからないうちに完了しました。

続いて、ダウンロードした起動スクリプトを、systemdのディレクトリにコピーします。

 command
cp noip2.service /usr/lib/systemd/system

これでsystemdコマンドで、自動起動設定ができるようになったはずです。続いて、サービスの有効化(enable)と起動(start)をします。

 command
systemctl enable noip2.service
systemctl start noip2.service

enableはサービスの有効化のことで、これによってno-ip更新クライアントの自動起動が設定されます。startは、あくまでもno-ip更新クライアントを起動するだけですね。

最後に、ちゃんとインストールできたか、ステータスを確認してみましょう。

 command
systemctl status noip2.service

緑色でactive(running)ってなっていますね。これでno-ip更新クライアントのインストールと自動起動設定が完了です!IPアドレスが変わったとしても、DDNSのホスト名で確実にアクセスができるようになりました。

  • B!

最近の人気記事

1

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 国際標準化機構(ISO)は、現行のISO9001:2015(品質マネジメントシステム規格I)を改訂する準備を進めているようです。現在の ...

2

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 2024年2月、ISO(国際標準化機構)は、マネジメントシステム規格に「気候変動への配慮」を盛り込む形で規格の一部を改定しました。今回 ...

3

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 5Sの考え方がISO9001や14001の運用に役立つことがあります。その逆もあって、ISOの仕組みが5S活動に役立つこともあるんです ...