WindowsのリモートデスクトップをSWANStorのEXトネリング経由で使用したいと思っても、リモートアクセス先のPCはDHCPを使っており、IPアドレスが固定されていないためにSWANStorの設定に困ることがあります。
そこで、IPアドレスの代わりにPCの名前でアクセス先を指定する方法をご紹介します。
※アクセス先PCのWindowsバージョンによってはPC名での指定ができない場合があります。後述の「使用可能な環境について」をご覧ください。
アクセス先PC・SWANStorの設定
まず、リモートアクセス先となるPCの名前を確認します。スタートメニューのところで右クリック、システムのメニューを選択してバージョン情報を見ると、「デバイス名」という項目があります。ここに表示されているのがPC名です。
※SWANStorサーバが動作しているサーバマシンにログインしてpingを使うと、アクセス先PC名が使用できるか確認できます。詳しくは後述の「pingでの確認」をご覧ください。
SWANStorのトネリング設定では、「サーバ名or IP」のところに、確認したPC名を使用して、<アクセス先PC名>.localと設定します。
例として、アクセス先PCの名前がremote-pcの場合はこのようになります。
トネリング登録名も同じで大丈夫です。

このようにリモートアクセス先をPC名で指定できるのですが、SWANStor serverのLinux版を使用している場合はLinuxサーバに追加の設定が必要です。
Linuxサーバ設定
<PC名>.local の名前を使うための設定方法をCentOS 7を例として説明します。
必要になるのは、avahi, nss-mdnsパッケージのインストール、ファイアウォール設定変更、名前解決の順位設定変更、avahiの起動設定です。
また、ホスト名がlocalhostなど、他サーバと重複する名前になっている場合は変更してください。
1. パッケージインストール
全てyum でインストールできます。rootで作業するか、sudoを使用してください。
以下のように3つのパッケージをインストールします。
yum install avahi
yum install epel-release
yum install nss-mdns
CentOSのバージョンによっては、avahiパッケージがインストール済みの場合がありますが、その際は下2つを実行すれば大丈夫です。
epel-releaseはnss-mdnsをインストールするために必要なパッケージですので、nss-mdnsよりも先にインストールしてください。
2. ファイアウォール設定変更
avahiが5353/udpのポートを使用するため、5353ポートを許可します。
以下のコマンドで行います。
firewall-cmd –zone=public –add-port=5353/udp –permanent
firewall-cmd –reload
3. 名前解決の順位設定変更
/etc/nsswitch.confでhostsファイルやDNSでの名前解決順位を設定していますが、ここにavahiによる名前解決を追加します。
まず、/etc/nsswitch.confをエディタで開きます。
vi /etc/nsswitch.conf
中にhosts: で始まる行があります。これがホスト名の名前解決設定です。
hosts: の行を以下のように書き換えます。(mdns4を追加します)
※mdns4はIPv4アドレスを使用するための指定です。Windows PCの標準設定ではIPv6アドレスを優先して返答するようです。
hosts: files mdns4 dns myhostname
4. (必要な場合)ホスト名変更
5. avahi起動設定
以下のコマンドで、再起動時にavahiが起動するようにしておきます。
systemctl enable avahi-daemon
6. サーバ再起動
以上で設定完了です。変更を反映するためにLinuxサーバを再起動してください。
使用可能な環境について
SWANStorサーバのWindows server版とLinux版のどちらを使用しているかで<PC名>.localを使うための条件が変わってきます。
また、共通の条件として、SWANStorサーバとアクセス先PCは同一セグメントに存在する必要があります。
Windows serverの場合
Windows 7 や、アップデートしていないWindows 10でも使用できます。
これは、Windowsでのみ使用できるLLMNRという機能を使っているためです。
(LLMNRはWindows vista以降で使用可能です)
Linuxの場合
multicast DNS(mDNS)というPC名からIPアドレスを取得する機能がWindows10のApril 2018 Update(バージョン1803)から標準で使えるようになりました。
Linuxサーバはこの機能を使用して<PC名>.local のIPアドレスを取得しますので、mDNSの問い合わせに対してIPアドレスを返答しないWindows7やアップデートしていないWindows10をリモートアクセス先にすることはできません。
(古いWindowsでもapple社が公開していたBonjour for WindowsをインストールすることでmDNSに対応しますが、2018年9月現在、単体での配布は行われていないようです)
pingでの確認
<PC名>.localの名前で正しくIPアドレスが取得できるのかを確認する方法を説明します。
SWANStorサーバが動いているサーバマシンにログインし、Windows serverの場合はコマンドプロンプト、Linuxの場合はシェルで以下のように入力します。
ping -4 <PC名>.local
Windows10の標準設定ではファイアウォールでICMPが遮断されていますので、返答は来ない場合がありますが、以下のようにIPアドレスが表示されていれば問題ありません。
PING remote-pc.local (192.168.0.10) 56(84) bytes of data.
pingの-4オプションはIPv4アドレスを取得するためのものです。
Windows PCはIPv6のアドレスを優先して返答するのが標準設定になっているようです。SWANStorで使用するのはIPv4ですので、-4オプションをつけて確認してください。