NAT方式の選択
アライドテレシスのルータには、2種類のNATが用意されている。
1つはIPモジュールの一部として実装されているレンジNAT、もう1つはファイアウォールモジュールの一部として実装されているファイアウォールNATである。
この2種類のNAT方式は併用することができないので、どのNAT方式を使用するか最初に選択する必要がある。
レンジNAT
レンジNATは、別名IP NATとも呼ばれ、IPモジュールの機能として提供される。
ファイアウォール機能を使用する場合は、ファイアウォールNATを選択する必要があるため、レンジNATは使用できない。
ルータをインターネットアクセス用として使用する場合に、ファイアウォール機能を使用しないことは考えづらいので、このレンジNATを使用する機会は希であるといえる。
ファイアウォールNAT
前述したとおり、ファイアウォール機能を使用する場合は、NAT方式としてファイアウォールNATを選択する必要がある。
インターネットアクセスにARルータを使用する場合は、ファイアウォール機能を有効化した上で、このファイアウォールNATを使用するのが一般的である。
ファイアウォールNATの設定
ARルータのファイアウォールNATには、インターフェースNATとルールNATの2種類のNAT機能が実装されている。
インターフェースNATでは、インタフェース単位にNATの設定を行い、ルールNATではIPアドレス単位にNATの設定を行う。
この2種類のNAT機能は併用可能である。なおルールNATの方がインターフェースNATよりも細かい設定が可能である。
マニュアルには、「設定の見通しが悪くなりがちなので、どちらか一方だけを使うように」との記述があるが、併用しても特に問題はなく、ダイナミックENATの設定にインターフェースNATを使用し、スタティックNATにはルールNATを使用するといった設定も可能である。なお同じNATルールをインターフェースNATとルールNATの両方に重ねて設定した場合、ルールNATが優先されるが、このような設定は混乱の元となるので避けるべきである。
またインタフェースNATでスタティックNATを設定しようとすると、ADD FIREWALL POLICY NATコマンドでNATの設定を行った上で、ADD
FIREWALL POLICY RULE AC=allowコマンドでファイアウォールのルールを追加する必要があるが、ルールNATではADD FIREWALL
POLICY RULE AC=natコマンドのみでNATの設定が完了するというメリットがある。
なおマニュアルには記載されていないが、ルールNATではポート番号の変換をすることができないので注意が必要である。そのためポート番号を変換したい場合は、インタフェースNATを使用する必要がある。詳細は本ページ末尾に記載する。
インタフェースNATによるダイナミックENATの設定
プライベートIPアドレスを付与したLAN側の全端末からのインターネットアクセスが可能となるように、外部インターフェースに割り当てられた1個のグローバルIPアドレスをLAN側で共有するためのダイナミックENATの設定は、以下のようになる。
add firewall poli="net" nat=enhanced int=vlan1 gblin=ppp0 |
上記例では、vlan1側の端末が、PPPoEによって割り当てられたグローバルIPアドレスを共有するようになる。
これはファイアウォールで予め許可されているLAN→WAN方向の通信であるため、ファイアウォールのルールは変更する必要がない。
なおWAN側の接続方式がPPPoEではなくEthernet型の場合は、gblin=eth0のように指定する必要がある。
インタフェースNATによるスタティックNATの設定
プライベートIPアドレスを付与したLAN側のサーバの特定ポートをインターネットに公開するためのスタティックNATの設定は以下のようになる。
add firewall poli="net" nat=standard int=vlan1 ip=192.168.1.100 gblin=ppp0 gblip=222.33.44.55
add firewall poli="net" ru=1 ac=allo int=ppp0 prot=tcp po=80
ip=192.168.1.100 gblip=222.33.44.55 gblp=80 |
上記例では、vlan1側でIPアドレス192.168.1.100を設定したサーバの80番(HTTP)ポートを、WAN側のppp0インタフェースのグローバルIPアドレス222.33.44.55に変換している。なおこれはWAN→LAN方向の通信となるため、ファイアウォールにアクセス許可ルールを追加する必要がある。
なおNAT用のIPアドレスとして、スタティックNATにより実インターフェースに割り当てられていないIPアドレスを設定した場合、WAN側からのARPリクエストに対してルータが自動的に応答するようになる。そのためARPについての設定は必要ない。
ルールNATによるスタティックNATの設定
直前に述べたLAN側サーバをインターネットに公開する設定を、ルールNATで行った場合は、以下のようになる。
ルールNATではファイアウォールのルールに対して設定を行うので、インタフェースNATのようにNATとファイアウォールのルールの2つの設定を行う必要はない。
add firewall poli="net" ru=1 ac=nat int=ppp0 prot=tcp po=80 ip=192.168.1.100
gblip=222.33.44.55 gblp=80 |
ルールNATの利点としては、設定が1行のみで終わる以外にも、リバースNATやダブルNATのような特殊なNATに対応するということが挙げられる
またルータ上に、グローバルIPアドレスをそのまま使用するDMZをLANとは別に設定した場合、インタフェースNATでは期待通りの動作をしない場合があるが、ルールNATではIPアドレス単位でNATが適用されるので、このような特殊な設定にも対応できる。
ファイアウォールNATによるポート変換
内部のサーバのメンテナンス用ポートをインターネットに公開し、インターネット側からのリモートメンテナンスを行いたいという要求がある。このようなリモートメンテナンスはセキュリティ上の弱点となるので好ましくないが、公開するポート番号をNAT機能によって変換することにより、メンテナンス用ポートの存在をわかりにくくして、セキュリティを向上させることができる。
アライドテレシスのルータでは、ポート変換が可能となるのはルールNATのみである。具体的な設定方法は以下の通りである。
add firewall poli="net" nat=standard int=vlan1 ip=192.168.1.111
gblin=ppp0 gblip=222.34.56.78
add firewall poli="net" ru=1 ac=allo int=ppp0 prot=tcp po=23
ip=192.168.1.111 gblip=222.34.56.78 gblp=2323 |
上記例では、vlan1側でIPアドレス192.168.1.111を設定したサーバの23番(telnet)ポートを、WAN側のppp0インタフェースのグローバルIPアドレス222.34.56.78のポート2323番に変換している。インターネットから内部サーバにtelnetする場合は、23番ポートではなく2323番ポートにアクセスすることになるので、直接23番ポートを公開するよりはセキュリティが向上する。
上記設定をルールNATで行おうとした場合、
add firewall poli="net" ru=1 ac=nat int=ppp0 prot=tcp po=23 ip=192.168.1.111
gblip=222.34.56.78 gblp=2323
と入力すれば良さそうに見え、実際のところ設定もエラーメッセージ無しで受け付けられるが、いざ使おうとするとgblp=2323の設定が無視され、23番ポートがそのまま公開されてしまう仕様となっている。
なおリモートメンテナンスを許可する場合は、大きなセキュリティホールとなりうるので、複雑なパスワードを設定することはもちろん、IPアドレス単位での制限など、可能な限りのアクセス制限を行う必要がある。
設定作業のご依頼はこちら