<前頁 次頁> << >> 目次 (番号順 (詳細)回線別 (詳細)機能別 (詳細)

CentreCOM AR300/AR700 シリーズ 設定例集 2.3 #113

PPPoEインターネット接続環境におけるL2TP LAN間接続(IP/AppleTalk。片側アドレス不定)


PPPoEでインターネットに接続している2つの拠点をL2TPで結ぶVPN構築例です。この例では、グローバルアドレス8個を固定的に割り当てられているサイトと、グローバルアドレス1個を動的に割り当てられるサイトの間をL2TPのトンネルで接続し、IPとAppleTalkを通します。

Note - L2TPはPPPをトンネリングするだけで、暗号化などのセキュリティー機能は持っていません。暗号化が必要なときは、IPsec(トランスポートモード)と併用する必要があります。なお、L2TPとIPsecの併用が必要なのは、VPN上でIP以外のプロトコル(IPXやAppleTalk)を使いたいときだけです。VPN上で使うプロトコルがIPだけであれば、IPsec(トンネルモード)単体で目的を達成できます。

各拠点は、ISPから次の情報を提供されているものとします。

表 1:ISPから提供された情報
 
ルーターA
ルーターB
PPPユーザー名 user@ispA user@ispB
PPPパスワード isppasswdA isppasswdB
PPPoEサービス名 指定なし 指定なし
使用できるIPアドレス 4.4.4.0/29 グローバルアドレス1個を接続時に割り当て
接続形態 LAN型(アドレス8個固定) 端末型(アドレス1個不定)


ルーターA側(LAN型アドレス8個固定)では、LAN側インターフェースをマルチホーミングして、グローバルサブネットにサーバーを、プライベートサブネットにクライアントを配置します。ルーターBは、ISPとの接続時にグローバルアドレス1個を動的に割り当てられる通常の端末型設定です。

以下、ルーターA、Bの基本設定についてまとめます。

表 2:ルーターA、Bの基本設定
 
ルーターA
ルーターB
WAN側物理インターフェース eth1 eth1
WAN側IPアドレス(1) Unnumbered(ppp0-0) 動的割り当て(ppp0)
WAN側IPアドレス(2) 4.4.4.1/32(ppp0-1)
LAN側IPアドレス 192.168.10.1/24(eth0-1) 192.168.20.1/24(eth0)
DMZ側IPアドレス 4.4.4.2/29(eth0-0)




この構成においてL2TP VPNを構築するときのポイントは次のとおりです。



L2TPの設定は次のとおりです。L2TPトンネルは、ルーターAのグローバルアドレス(4.4.4.1)とルーターBのグローバルアドレス(不定)の間に張られます。トンネル上に張った仮想PPPコネクション(ppp1−ppp1)はプライベートLAN間を接続するためのもので、IPとAppleTalkのパケットを通します。

表 3:L2TP・IP・AppleTalk設定
 
ルーターA
ルーターB
L2TPコール名 remote remote
L2TP終端アドレス 4.4.4.1 不定(ISPから動的割り当て)
L2TP発着優先 着呼優先(着呼専用) 発呼優先
L2TPサーバーモード LAC/LNS兼用(BOTH) LAC/LNS兼用(BOTH)
L2TPサーバーパスワード l2tpA
WAN側(ppp1)IPアドレス Unnumbered Unnumbered
LAN側(eth0)AppleTalkネットワーク番号 10 20
LAN側デフォルトゾーン名 NetA NetB




Note - 本設定例では、PPPインターフェースのリンクアップ・ダウンによって、トリガーの状態が動的に変化します。そのため、以下の設定コマンドはルーターのWAN側インターフェース(eth1)にケーブルを接続していない状態(PPPインターフェースがリンクアップしない状態)で入力してください。詳細については章末の「メモ」をご覧ください。


ルーターAの設定

  1. WAN側Ethernetインターフェース(eth1)上にPPPインターフェースを作成します。「OVER=eth1-XXXX」の「XXXX」の部分には、ISPから通知されたPPPoEの「サービス名」を記述します。ISPから指定がない場合は、どのサービス名タグでも受け入れられるよう、「any」を設定します。


  2. ISPから通知されたPPPユーザー名とパスワードを指定し、接続時にIPアドレス割り当ての要求を行うように設定します。LQRはオフにし、代わりにLCP Echoパケットを使ってPPPリンクの状態を監視するようにします。また、ISDN向けの機能であるBAPはオフにします。


    Note - PPPoEのLAN型接続におけるWAN側(PPP)インターフェースは、厳密にはUnnumberedではありません。L2TPを使用する本例ではこのことが設定に影響を与えてきます。詳しくは章末の「メモ」をご覧ください。

  3. IPモジュールを有効にします。


  4. IPCPネゴシエーションで与えられたIPアドレスをPPPインターフェースで使用するように設定します。


  5. LAN側(eth0-0)インターフェースにISPから割り当てられたグローバルアドレスのうちの1つ(4.4.4.2)を設定し、擬似的なDMZとして使用します。アドレスを8個や16個といった単位で割り当てられる場合は、ネットマスクが変則的になるので注意してください。


  6. LAN側(eth0-1)インターフェースにプライベートIPアドレスを割り当て、クライアント用のサブネットとします。


  7. WAN側(ppp0)インターフェースをマルチホーミングし、ppp0-0をUnnumberedに設定します。


  8. WAN側(ppp0-1)インターフェースにISPから割り当てられたグローバルアドレスの先頭アドレス(4.4.4.1)を32ビットマスクで割り当てます。デフォルトルートをこのインターフェースに向けることで、L2TPパケットの始点アドレスとしてこのアドレスが使われるようにします。


  9. デフォルトルートをppp0-1に向けて設定します。これは、ルーターAが送信するL2TPパケットの始点アドレスとして、ppp0-1のアドレスが使われるようにするためです(通常、本製品自身がパケットを送信するときは、送出インターフェースのアドレスを始点アドレスとして使います)。


  10. PPPoEセッションを自動再接続するためのトリガースクリプトを作成します。


    Note - ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド(内蔵フルスクリーンエディター)等を使って設定スクリプトファイル(.CFG)にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。

  11. トリガー機能を有効にします。


  12. PPPoEセッションを自動再接続するためのトリガーを作成します。


  13. L2TPモジュールを有効にします。


  14. L2TPサーバーの動作モードをBOTHにします。


  15. 他のL2TPサーバーから接続要求を受けた際の認証用パスワードを設定します。


  16. L2TPコール「remote」を作成し、L2TPの接続先情報を登録します。IPには相手ルーターのIPアドレスを指定しますが、この例ではルーターA側から接続しにいくことがないため「0.0.0.0」を指定しています。TYPEは呼の種類を示すもので、LAN間接続の場合はVIRTUALを指定します。REMOTEには、このL2TPコールに応じて相手側が起動するL2TPコール名を指定します。PRECEDENCEはL2TPの通信が同時に開始された場合に発呼・着呼のどちらを優先するかを指定します。


  17. L2TPコールを仮想的な物理回線と見なし、その上にPPPインターフェースを作成します。OVERパラメーターにL2TPコールを指定するときは、コール名の前に「TNL-」を付けます。また、ここでは「IDLE=ON」を指定して、必要なときだけ接続するよう設定します。


  18. L2TP仮想回線上のPPPインターフェース「1」をUnnumberedに設定します。このインターフェースは、両拠点のプライベートLAN同士を接続する仮想インターフェースです。


  19. 経路情報を設定します。ルーターBのLAN側(192.168.20.0/24)宛てのパケットは、L2TP上のPPPインターフェース「1」を通じて送り出します。


  20. AppleTalkモジュールを有効にします。


  21. LAN側(eth0)インターフェースにAppleTalkポートを作成します。「SEED=10」はシードルーターとして機能させるためのパラメーターで、LAN側のAppleTalkネットワーク番号を10としています。


  22. LAN側ネットワークのデフォルトゾーン名を設定します。ここではNetAという名前にしています。


  23. L2TP仮想回線上のPPPインターフェース(ppp1)にAppleTalkポートを作成します。「DEMAND=ON」はルーティング情報(RTMP)の交換を行わないようにするための指定です。


  24. スタティックルートを設定します。この例ではRTMPを使っていないため必須です。


  25. ファイアウォール機能を有効にします。


  26. ファイアウォールの動作を規定するファイアウォールポリシー「net」を作成します。


  27. ICMPパケットはPing(Echo/Echo Reply)と到達不可能(Unreachable)のみ双方向で許可します。


    Note - デフォルト設定では、ICMPはファイアウォールを通過できません。

  28. ルーターのidentプロキシー機能を無効にし、外部のメール(SMTP)サーバーなどからのident要求に対して、ただちにTCP RSTを返すよう設定します。


  29. ファイアウォールポリシーの適用対象となるインターフェースを指定します。


  30. LAN側(eth0-1)ネットワークに接続されているすべてのコンピューターがENAT機能を使用できるよう設定します。グローバルアドレスにはppp0-1に割り当てた4.4.4.1を共用します。


  31. 外部からのパケットをすべて拒否するファイアウォールの基本ルールに対し、DMZのサーバーへパケットを通すための設定を行います。


  32. 相手ルーターから受信したL2TPパケット(UDP1701番)がファイアウォールを通過できるように設定します。


  33. 設定は以上です。設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。


    Note - WAN側のケーブルを抜いた状態でここまでの設定を行った場合は、ファイル保存後にケーブルを接続してください。


ルーターBの設定

  1. WAN側Ethernetインターフェース(eth1)上にPPPインターフェースを作成します。「OVER=eth1-XXXX」の「XXXX」の部分には、ISPから通知されたPPPoEの「サービス名」を記述します。ISPから指定がない場合は、どのサービス名タグでも受け入れられるよう、「any」を設定します。


  2. ISPから通知されたPPPユーザー名とパスワードを指定し、接続時にIPアドレス割り当ての要求を行うように設定します。LQRはオフにし、代わりにLCP Echoパケットを使ってPPPリンクの状態を監視するようにします。また、ISDN向けの機能であるBAPはオフにします。


  3. IPモジュールを有効にします。


  4. IPCPネゴシエーションで与えられたIPアドレスをPPPインターフェースで使用するように設定します。


  5. LAN側(eth0)インターフェースにIPアドレスを設定します。


  6. WAN側(ppp0)インターフェースにIPアドレス「0.0.0.0」を設定します。ISPとの接続が確立するまで、IPアドレスは確定しません。


  7. デフォルトルートを設定します。


  8. PPPoEセッションを自動再接続するためのトリガースクリプトを作成します。


    Note - ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド(内蔵フルスクリーンエディター)等を使って設定スクリプトファイル(.CFG)にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。

  9. トリガー機能を有効にします。


  10. PPPoEセッションを自動再接続するためのトリガーを作成します。


  11. L2TPモジュールを有効にします。


  12. L2TPサーバーの動作モードをBOTHにします。


  13. L2TPコール「remote」を作成し、L2TPの接続先情報を登録します。IPには相手ルーターのIPアドレスを指定します。TYPEは呼の種類を示すもので、LAN間接続の場合はVIRTUALを指定します。REMOTEには、このL2TPコールに応じて相手側が起動するL2TPコール名を指定します。PRECEDENCEはL2TPの通信が同時に開始された場合に発呼・着呼のどちらを優先するかを指定します。PASSWORDには、接続先で認証を受けるためのパスワードを指定します。


  14. L2TPコールを仮想的な物理回線と見なし、その上にPPPインターフェースを作成します。OVERパラメーターにL2TPコールを指定するときは、コール名の前に「TNL-」を付けます。また、ここでは「IDLE=ON」を指定して、必要なときだけ接続するよう設定します。


  15. L2TP仮想回線上のPPPインターフェース「1」をUnnumberedに設定します。このインターフェースは、両拠点のプライベートLAN同士を接続する仮想インターフェースです。


  16. 経路情報を設定します。ルーターAのLAN側(192.168.10.0/24)宛てのパケットは、L2TP上のPPPインターフェース「1」を通じて送り出します。


  17. AppleTalkモジュールを有効にします。


  18. LAN側(eth0)インターフェースにAppleTalkポートを作成します。「SEED=20」はシードルーターとして機能させるためのパラメーターで、LAN側のAppleTalkネットワーク番号を20としています。


  19. LAN側ネットワークのデフォルトゾーン名を設定します。ここではNetBという名前にしています。


  20. L2TP仮想回線上のPPPインターフェース(ppp1)にAppleTalkポートを作成します。「DEMAND=ON」はルーティング情報(RTMP)の交換を行わないようにするための指定です。


  21. スタティックルートを設定します。この例ではRTMPを使っていないため必須です。


  22. ファイアウォール機能を有効にします。


  23. ファイアウォールの動作を規定するファイアウォールポリシー「net」を作成します。


  24. ICMPパケットはPing(Echo/Echo Reply)と到達不可能(Unreachable)のみ双方向で許可します。


    Note - デフォルト設定では、ICMPはファイアウォールを通過できません。

  25. ルーターのidentプロキシー機能を無効にし、外部のメール(SMTP)サーバーなどからのident要求に対して、ただちにTCP RSTを返すよう設定します。


  26. ファイアウォールポリシーの適用対象となるインターフェースを指定します。


  27. LAN側ネットワークに接続されているすべてのコンピューターがENAT機能を使用できるよう設定します。グローバルアドレスには、ppp0のIPアドレスを使用します。


  28. 設定は以上です。設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。


    Note - WAN側のケーブルを抜いた状態でここまでの設定を行った場合は、ファイル保存後にケーブルを接続してください。


メモ

■ 本構成例では、PPPリンクのアップ・ダウンによってトリガー「1」の状態(有効・無効)が動的に変化します。そのため、WAN側インターフェースにケーブルを接続したまま設定を行うと、コマンド入力時と設定保存時でトリガー「1」の状態が変わってしまうことがあります。その場合、PPP の自動再接続機能が働かなくなりますので、必ず次のいずれかの方法で設定を行ってください。


設定が正しく保存されているかどうかを確認するには、SHOW FILEコマンドかSHOW SCRIPTコマンドで設定ファイルを表示し、トリガー「1」の設定内容を確認してください。正しく保存されている場合、トリガー「1」の設定は次のようになります。


手順が正しくなかった場合は、次のように「state=disabled」というパラメーターが付きます。この設定では、ルーター起動直後に再接続機能が働きません。


この場合は、EDITコマンドで設定ファイルを開き、「state=disabled」を削除して上書き保存してください。


■ PPPoEのLAN型接続では、IPCPネゴシエーションによって、WAN側(PPP)インターフェースにネットワークアドレス(ホスト部が0のアドレス)が割り当てられます。ネットワークアドレスはホストアドレスとしては使用できないため事実上Unnumberedと同じですが、厳密に言うと専用線接続などで使用するUnnumberedとは異なります。

ルーター自身がWAN側インターフェースからIPパケットを送出する場合を考えます。純粋なUnnumberedでは、送出インターフェースにアドレスが設定されていないため、他のインターフェースのアドレスを使用します。しかし、PPPoE LAN型の場合は、まがりなりにもWAN側インターフェースにアドレスが設定されているため、パケットの始点アドレスとして本来使用できないネットワークアドレスが使用されてしまいます。

通常は、ルーター自身がパケットを送信することがないため、このことを意識する必要はありません。しかし、L2TPを使用するときなどは、始点アドレスに有効なアドレスが使われるよう注意が必要です。これには、WAN側インターフェースをマルチホーミングし、一方に有効なアドレスを設定した上で、デフォルトルートをそちらに向ける必要があります。ここでは、ISPから4.4.4.0/29のアドレスを割り当てられているものと仮定します。


これにより、LAN側からWAN側へのパケットはppp0-1にルーティングされ、始点アドレスとして4.4.4.1が使用されるようになります。


■ ファイアウォールで遮断されたパケットのログをとるには、次のコマンドを実行します。


記録されたログを見るには、次のコマンドを実行します。ここでは、「TYPE=FIRE」により、ファイアウォールが出力したログメッセージだけを表示させています。



■ インターネット側からのPING(ICMP Echo Requestパケット)を拒否するには、次のようなIPフィルターをWAN側インターフェースに設定します。この例では、「LOG=HEADER」により、フィルターで拒否したパケットをログに記録しています。


記録されたログを見るには、次のコマンドを実行します。ここでは、「TYPE=IPFIL」により、IPフィルターが出力したログメッセージだけを表示させています。

まとめ

ルーターAのコンフィグ [テキスト版]
CREATE PPP=0 OVER=eth1-any
SET PPP=0 OVER=eth1-any BAP=OFF IPREQUEST=ON USER=user@ispA PASSWORD=isppasswdA LQR=OFF ECHO=ON
ENABLE IP
ENABLE IP REMOTEASSIGN
ADD IP INT=eth0-0 IP=4.4.4.2 MASK=255.255.255.248
ADD IP INT=eth0-1 IP=192.168.10.1 MASK=255.255.255.0
ADD IP INT=ppp0-0 IP=0.0.0.0
ADD IP INT=ppp0-1 IP=4.4.4.1 MASK=255.255.255.255
ADD IP ROUTE=0.0.0.0 INT=ppp0-1 NEXTHOP=0.0.0.0
ENABLE TRIGGER
CREATE TRIGGER=1 PERIODIC=3 SCRIPT=reset.scp
CREATE TRIGGER=2 INTERFACE=ppp0 EVENT=UP CP=IPCP SCRIPT=up.scp
CREATE TRIGGER=3 INTERFACE=ppp0 EVENT=DOWN CP=IPCP SCRIPT=down.scp
ENABLE L2TP
ENABLE L2TP SERVER=BOTH
SET L2TP PASSWORD=l2tpA
ADD L2TP CALL=remote IP=0.0.0.0 TYPE=VIRTUAL REMOTE=remote PRECEDENCE=IN
CREATE PPP=1 OVER=TNL-remote IDLE=ON BAP=OFF LQR=OFF
ADD IP INT=ppp1 IP=0.0.0.0
ADD IP ROUTE=192.168.20.0 MASK=255.255.255.0 INT=ppp1 NEXT=0.0.0.0
ENABLE APPLETALK
ADD APPLETALK PORT INT=eth0 SEED=10
ADD APPLETALK ZONE=NetA PORT=1 DEFAULT
ADD APPLETALK PORT INT=ppp1 DEMAND=ON
ADD APPLETALK ROUTE=20 PORT=2 HOPS=2
ENABLE FIREWALL
CREATE FIREWALL POLICY=net
ENABLE FIREWALL POLICY=net ICMP_F=PING,UNREACH
DISABLE FIREWALL POLICY=net IDENTPROXY
ADD FIREWALL POLICY=net INT=eth0-1 TYPE=PRIVATE
ADD FIREWALL POLICY=net INT=eth0-0 TYPE=PRIVATE
ADD FIREWALL POLICY=net INT=ppp0-0 TYPE=PUBLIC
ADD FIREWALL POLICY=net INT=ppp0-1 TYPE=PUBLIC
ADD FIREWALL POLICY=net INT=ppp1 TYPE=PRIVATE
ADD FIREWALL POLICY=net NAT=ENHANCED INT=eth0-1 GBLINT=ppp0-1 GBLIP=4.4.4.1
ADD FIREWALL POLICY=net RULE=1 AC=ALLOW INT=ppp0-0 PROTO=TCP IP=4.4.4.3 PORT=80
ADD FIREWALL POLICY=net RULE=2 AC=ALLOW INT=ppp0-0 PROTO=TCP IP=4.4.4.4 PORT=25
ADD FIREWALL POLICY=net RULE=3 AC=ALLOW INT=ppp0-0 PROTO=TCP IP=4.4.4.4 PORT=53
ADD FIREWALL POLICY=net RULE=4 AC=ALLOW INT=ppp0-0 PROTO=UDP IP=4.4.4.4 PORT=53
ADD FIREWALL POLICY=net RULE=5 AC=ALLOW INT=ppp0-1 PROTO=UDP GBLPO=1701 GBLIP=4.4.4.1 PO=1701 IP=4.4.4.1


スクリプト「reset.scp」 [テキスト版]
RESET PPP=0


スクリプト「up.scp」 [テキスト版]
DISABLE TRIGGER=1


スクリプト「down.scp」 [テキスト版]
ENABLE TRIGGER=1


ルーターBのコンフィグ [テキスト版]
CREATE PPP=0 OVER=eth1-any
SET PPP=0 OVER=eth1-any IPREQUEST=ON USER=user@ispB PASSWORD=isppasswdB LQR=OFF BAP=OFF ECHO=ON
ENABLE IP
ENABLE IP REMOTEASSIGN
ADD IP INT=eth0 IP=192.168.20.1 MASK=255.255.255.0
ADD IP INT=ppp0 IP=0.0.0.0
ADD IP ROUTE=0.0.0.0 INT=ppp0 NEXTHOP=0.0.0.0
ENABLE TRIGGER
CREATE TRIGGER=1 PERIODIC=3 SCRIPT=reset.scp
CREATE TRIGGER=2 INTERFACE=ppp0 EVENT=UP CP=IPCP SCRIPT=up.scp
CREATE TRIGGER=3 INTERFACE=ppp0 EVENT=DOWN CP=IPCP SCRIPT=down.scp
ENABLE L2TP
ENABLE L2TP SERVER=BOTH
ADD L2TP CALL=remote IP=4.4.4.1 TYPE=VIRTUAL REMOTE=remote PRECEDENCE=OUT PASSWORD=l2tpA
CREATE PPP=1 OVER=TNL-remote IDLE=ON BAP=OFF LQR=OFF
ADD IP INT=ppp1 IP=0.0.0.0
ADD IP ROUTE=192.168.10.0 MASK=255.255.255.0 INT=ppp1 NEXT=0.0.0.0
ENABLE APPLETALK
ADD APPLETALK PORT INT=eth0 SEED=20
ADD APPLETALK ZONE=NetB PORT=1 DEFAULT
ADD APPLETALK PORT INT=ppp1 DEMAND=ON
ADD APPLETALK ROUTE=10 PORT=2 HOPS=2
ENABLE FIREWALL
CREATE FIREWALL POLICY=net
ENABLE FIREWALL POLICY=net ICMP_F=PING,UNREACH
DISABLE FIREWALL POLICY=net IDENTPROXY
ADD FIREWALL POLICY=net INT=eth0 TYPE=PRIVATE
ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC
ADD FIREWALL POLICY=net INT=ppp1 TYPE=PRIVATE
ADD FIREWALL POLICY=net NAT=ENHANCED INT=eth0 GBLINT=ppp0


スクリプト「reset.scp」 [テキスト版]
RESET PPP=0


スクリプト「up.scp」 [テキスト版]
DISABLE TRIGGER=1


スクリプト「down.scp」 [テキスト版]
ENABLE TRIGGER=1





CentreCOM AR300/AR700 シリーズ 設定例集 2.3 #113

Copyright (C) 1997-2003 アライドテレシス株式会社

PN: J613-M0507-00 Rev.G

<前頁 次頁> << >> 目次 (番号順 (詳細)回線別 (詳細)機能別 (詳細)