接続方法
今回実現したいことはこちらです。
自宅ルータに外出先から接続する
図にすると以下のようになります。
実現するためにはPCとの通信をルータに中継させる必要があります。
PCは通常グローバルIPアドレスを持っていません。インターネットと通信する際はNATやNAPTによりルータがISPから割り当てられたグローバルIPを利用しています。
そのためにルータのポートフォワードという機能を利用します。
ポートフォワードを設定したポートは外部からの通信を特定の機器に転送することができます。
例えばSSHを利用して自宅PCにアクセスする場合は、22ポートへの通信を自宅PCに転送するようポートフォワードを設定すれば良いでしょう。
あとはPCがインターネットにアクセスする際のグローバルIPを調べれば良いだけです。
こちらのようなIPアドレスを確認できるサイトを利用するのも良いですが、契約しているプロバイダーの仕様でIPアドレスが短い期間で変わってしまう場合があります。
その際はDDNSというサービスを利用することをお勧めします。
DDNSを設定するとIPアドレスが短期間で変わっても同じFQDNでPCにアクセすることが可能になります。
DDNSは無料、有料様々なサービスがありますが、自身の使用ルータのベンダーがDDNSのサービスを無料で提供している場合があるのでその場合はそちらを利用するのが良いと思います。ちなみに筆者はELECOMのルータを利用していますがELECOMが提供するSky Link DDNSというサービスでDDNSを設定しています。
上手くいかない際に確認したいこと
プロバイダの接続方法
契約プロバイダがIPv6に対応している場合は、接続方式に注意してください。
IPoE(IPv4 over IPv6)で接続している場合はIPv4を契約者間で共有している可能性があるため、自宅にIPv4でアクセスできない可能があります。こちらのようなサイトで接続方式を確認してみてください。
IPv6でインターネットに接続する場合、従来の網終端装置を経由しないので通信が高速化します。よってプロバイダー各社はIPv6接続を積極的に取り入れています。
この場合、以下のように対応すればアクセスできるようになるでしょう。
- PPPoE接続に変更してIPv4アドレスでアクセスする
- こちらのようなIPv6アドレスを確認できるサービスを利用してIPv6でアクセスする
DDNSのレコード情報
接続方式がIPv6である場合、DDNSで接続できなくなる可能性があります。
DDNSサービスがIPv6に対応していない場合があるからです。
IPv4はDNSのAレコードに登録しますがIPv6はそれとは別にAAAAレコードに登録する必要があります。
以下のようにDDNSで設定したFQDNがIPv6に対応しているか確認してみてください。対応していなかった場合、先ほどプロバイダの接続方式の項目でお伝えした方法でアクセスするのが良いでしょう。
$ nslookup
>set type=AAAA
>確認するFQDN