マスカレードファイアウォールの背後でMoodleを実行する
Moodleをマスカレードファイアウォール(ネットワークアドレス変換、つまりNATを使用)の背後で実行している場合があります。この場合、内部のMoodleサーバには、ほとんどの場合、次のいずれかの範囲のルーティング不可能な(プライベート)IPアドレスが割り当てられます:
- 10.0.0.0 - 10.255.255.255
- 172.16.0.0 - 172.31.255.255
- 192.168.0.0 - 192.168.255.255
インターネットからもサーバにアクセスしたい場合は、config.phpで内部IPアドレスや内部サーバ名を使用することはできません。インターネットからMoodleサーバを使用したい場合は、$CFG->wwwrootに実際のDNSホスト名を使用してください。
HTTPSとHTTP?
潜在的な攻撃者は学生であり、イントラネットの通信を盗聴するほうがはるかに容易であるため、内部でhttps://を使用することのほうがより重要であることを覚えておいてください。
また、英国のデータ保護法では、学校の内部サーバへの外部からのアクセスにはすべてhttps://が必要とされていることにも注意してください。
まず実際のDNSホスト名を取得する
静的IPを使用している場合、ファイアウォールにはすでにパブリックDNSホスト名があるかもしれません。
DNSホスト名がない場合、既存のホスト名が気に入らない場合、または動的IPアドレスを使用している場合は、いくつかの無料のダイナミックDNSサービスを使用して、現在のIPアドレスに対応するDNSホスト名を取得できます。http://www.dyndns.com/ 、http://www.no-ip.com などを参照してください。
次に内部DNSサーバを調整する
イントラネット内のすべてのPCでhostsファイルを編集して調整することができます。hostsファイルは、DNSサーバから返されるデータを上書きできます。
または、DNSサーバ(またはフォワーダ)を調整して、パブリックIPの代わりに内部サーバのIPを返すようにすることもできます。
Windows DNS
NATファイアウォールで、すでにMoodleへのポートフォワーディングを行っていることを前提とします。ADドメインでWin200x Serverを実行している場合、ドメインコントローラでDNSを実行する必要があります。このDNSサーバには、自身のゾーンにない名前を解決するために、ISPへのフォワーダを設定する必要があります。また、WindowsクライアントはこのDNSサーバを参照するようにする必要があります。(ADを実行していて、WindowsクライアントのDNSがDC上で実行されているDNSサーバを参照していない場合、ドメインへのログオンに5分以上かかるのはそのためです)
イントラネットとインターネットからのアクセスで同じURLをMoodleに使用できるようにするには、DNSサーバ上に、Moodleが属するドメインの新しいゾーンを作成します。このゾーン内に、Moodleの内部IPアドレスのAレコードを作成します。内部クライアントはこのDNSサーバを使用しているため、プライベートIPアドレスを取得します。一方、インターネットクライアントはパブリックIPアドレスを取得します。
関連項目
- MDL-27003のコメント