<前頁
次頁>
<<
>>
↓
目次 (番号順
(詳細)・
回線別
(詳細)・
機能別
(詳細))
CentreCOM AR300/AR700 シリーズ 設定例集 2.3 #50
PPPoEによるLAN型インターネット接続(LAN側マルチホーミング)
PPPoEを使ってインターネットサービスプロバイダー(ISP)に接続します。グローバルアドレスを8個、16個などのブロック単位で固定的に割り当てられるLAN型接続の設定例です。この例では、LAN側を2つのサブネットに分割し、一方をグローバルアドレスで運用するサーバー用、もう一方をプライベートアドレスで運用するクライアント用とします。クライアントはダイナミックENAT経由でインターネットにアクセスします。また、ファイアウォールを使って外部からのアクセスを原則拒否しつつ、特定のサーバーだけを外部に公開します。
ISPからは次の情報を提供されているものとします。
表 1:ISPから提供された情報
PPPユーザー名 |
user@isp |
PPPパスワード |
isppasswd |
PPPoEサービス名 |
指定なし |
使用できるIPアドレス |
4.4.4.0/29(4.4.4.0〜4.4.4.7) |
ルーターには、次のような方針で設定を行います。
- LAN側インターフェースをマルチホーミングし、一方にはISPから割り当てられたグローバルアドレスを、もう一方にはプライベートアドレスを割り当てます。グローバルサブネットは擬似的なDMZとしてサーバーを配置し、プライベートサブネットにはクライアントを配置します。
- ファイアウォールを利用して、外部からの不正アクセスを遮断しつつ、内部からは自由にインターネットへのアクセスができるようにします。
- 外部からのアクセスは基本的にすべて遮断しますが、次のサービスだけは特例として許可します。
- Webサーバー:4.4.4.2:80/tcp
- SMTPサーバー:4.4.4.3:25/tcp
- DNSサーバー:4.4.4.4:53/tcp、53/udp
- プライベートサブネットのクライアントがインターネットにアクセスできるよう、ダイナミックENATを使用します。グローバルアドレスには、グローバルサブネット側のインターフェースアドレス(4.4.4.1)を共用します。
- トリガー機能を使ってPPPインターフェースを監視し、PPPoEのセッションが局側から切断されたような場合に、自動的に再接続するよう設定します。
以下、ルーターの基本設定についてまとめます。
表 2:ルーターの基本設定
WAN側物理インターフェース |
eth1 |
WAN側(ppp0)IPアドレス |
Unnumbered |
DMZ(eth0-0)のIPアドレス |
4.4.4.1/29 |
LAN側(eth0-1)のIPアドレス |
192.168.10.1/24 |
DHCPサーバー機能 |
使わない |

Note
- 本設定例では、PPPインターフェースのリンクアップ・ダウンによって、トリガーの状態が動的に変化します。そのため、以下の設定コマンドはルーターのWAN側インターフェース(eth1)にケーブルを接続していない状態(PPPインターフェースがリンクアップしない状態)で入力してください。詳細については章末の「メモ」をご覧ください。
- WAN側Ethernetインターフェース(eth1)上にPPPインターフェースを作成します。「OVER=eth1-XXXX」の「XXXX」の部分には、ISPから通知されたPPPoEの「サービス名」を記述します。ISPから指定がない場合は、どのサービス名タグでも受け入れられるよう、「any」を設定します。
CREATE PPP=0 OVER=eth1-any ↓
- ISPから通知されたPPPユーザー名とパスワードを指定し、接続時にIPアドレス割り当ての要求を行うように設定します。LQRはオフにし、代わりにLCP Echoパケットを使ってPPPリンクの状態を監視するようにします。また、ISDN向けの機能であるBAPはオフにします。
SET PPP=0 OVER=eth1-any BAP=OFF IPREQUEST=ON USER=user@isp PASSWORD=isppasswd LQR=OFF ECHO=ON ↓
Note
- PPPoEのLAN型接続におけるWAN側(PPP)インターフェースは、厳密にはUnnumberedではありません。この構成例ではその違いを意識する必要はありませんが、ルーター自身がパケットを送信するような環境、たとえばIPsec等を使用する場合はアドレスの設定方法などに注意が必要です。詳しくは「メモ」をご覧ください。
- IPモジュールを有効にします。
- IPCPネゴシエーションで与えられたIPアドレスをPPPインターフェースで使用するように設定します。
- LAN側(eth0-0)インターフェースにISPから割り当てられたグローバルアドレスの先頭アドレス(4.4.4.1)を設定し、擬似的なDMZとして使用します。アドレスを8個や16個といった単位で割り当てられる場合は、ネットマスクが変則的になるので注意してください。
ADD IP INT=eth0-0 IP=4.4.4.1 MASK=255.255.255.248 ↓
- LAN側(eth0-1)インターフェースにプライベートIPアドレスを割り当て、クライアント用のサブネットとします。
ADD IP INT=eth0-1 IP=192.168.10.1 MASK=255.255.255.0 ↓
- WAN側(ppp0)インターフェースをUnnumberedに設定します。
ADD IP INT=ppp0 IP=0.0.0.0 ↓
- デフォルトルートを設定します。
ADD IP ROUTE=0.0.0.0 INT=ppp0 NEXTHOP=0.0.0.0 ↓
- ファイアウォール機能を有効にします。
- ファイアウォールの動作を規定するファイアウォールポリシー「net」を作成します。
CREATE FIREWALL POLICY=net ↓
- ICMPパケットはPing(Echo/Echo Reply)と到達不可能(Unreachable)のみ双方向で許可します。
ENABLE FIREWALL POLICY=net ICMP_F=PING,UNREACH ↓
Note
- デフォルト設定では、ICMPはファイアウォールを通過できません。
- ルーターのidentプロキシー機能を無効にし、外部のメール(SMTP)サーバーなどからのident要求に対して、ただちにTCP RSTを返すよう設定します。
DISABLE FIREWALL POLICY=net IDENTPROXY ↓
- ファイアウォールポリシーの適用対象となるインターフェースを指定します。
- DMZ側(eth0-0)インターフェースをPRIVATE(内部)に設定します。
ADD FIREWALL POLICY=net INT=eth0-0 TYPE=PRIVATE ↓
- LAN側(eth0-1)インターフェースをPRIVATE(内部)に設定します。
ADD FIREWALL POLICY=net INT=eth0-1 TYPE=PRIVATE ↓
- WAN側(ppp0)インターフェースをPUBLIC(外部)に設定します。
ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓
- LAN側(eth0-1)ネットワークに接続されているすべてのコンピューターがENAT機能を使用できるよう設定します。グローバルアドレスには4.4.4.1を共用します。
ADD FIREWALL POLICY=net NAT=ENHANCED INT=eth0-1 GBLINT=ppp0 GBLIP=4.4.4.1 ↓
- 外部からのパケットをすべて拒否するファイアウォールの基本ルールに対し、DMZのサーバーへパケットを通すための設定を行います。
- Webサーバー(4.4.4.2のTCP80番)へのパケットは通過させます。
ADD FIREWALL POLICY=net RULE=1 AC=ALLOW INT=ppp0 PROTO=TCP IP=4.4.4.2 PORT=80 ↓
- SMTPサーバー(4.4.4.3のTCP25番)へのパケットは通過させます。
ADD FIREWALL POLICY=net RULE=2 AC=ALLOW INT=ppp0 PROTO=TCP IP=4.4.4.3 PORT=25 ↓
- DNSサーバー(4.4.4.4のTCP、UDP53番)へのパケットは通過させます。
ADD FIREWALL POLICY=net RULE=3 AC=ALLOW INT=ppp0 PROTO=TCP IP=4.4.4.4 PORT=53 ↓
ADD FIREWALL POLICY=net RULE=4 AC=ALLOW INT=ppp0 PROTO=UDP IP=4.4.4.4 PORT=53 ↓
- PPPoEセッションを自動再接続するためのトリガースクリプトを作成します。
- ppp0をリセットするスクリプトreset.scpを作成します。
ADD SCRIPT=reset.scp TEXT="RESET PPP=0" ↓
- トリガー「1」を無効状態にするスクリプトup.scpを作成します。
ADD SCRIPT=up.scp TEXT="DISABLE TRIGGER=1" ↓
- トリガー「1」を有効状態にするスクリプトdown.scpを作成します。
ADD SCRIPT=down.scp TEXT="ENABLE TRIGGER=1" ↓
Note
- ADD SCRIPTコマンドは、コンソールなどからログインした状態で、コマンドラインから実行するコマンドです。そのため、EDITコマンド(内蔵フルスクリーンエディター)等を使って設定スクリプトファイル(.CFG)にこのコマンドを記述しても意図した結果にならない場合がありますのでご注意ください。
- トリガー機能を有効にします。
- PPPoEセッションを自動再接続するためのトリガーを作成します。
- 3分ごとにreset.scpを実行する定期トリガー「1」を作成します。このトリガーは、ppp0インターフェースがダウンすると同時に有効になり(トリガー「3」による)、アップすると無効になります(トリガー「2」による)。
CREATE TRIGGER=1 PERIODIC=3 SCRIPT=reset.scp ↓
- ppp0のアップ時にup.scpを実行するインターフェーストリガー「2」を作成します。
CREATE TRIGGER=2 INTERFACE=ppp0 EVENT=UP CP=IPCP SCRIPT=up.scp ↓
- ppp0のダウン時にdown.scpを実行するインターフェーストリガー「3」を作成します。
CREATE TRIGGER=3 INTERFACE=ppp0 EVENT=DOWN CP=IPCP SCRIPT=down.scp ↓
- 設定は以上です。設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。
CREATE CONFIG=router.cfg ↓
SET CONFIG=router.cfg ↓
Note
- WAN側のケーブルを抜いた状態でここまでの設定を行った場合は、ファイル保存後にケーブルを接続してください。
■ 本構成例では、PPPリンクのアップ・ダウンによってトリガー「1」の状態(有効・無効)が動的に変化します。そのため、WAN側インターフェースにケーブルを接続したまま設定を行うと、コマンド入力時と設定保存時でトリガー「1」の状態が変わってしまうことがあります。その場合、PPP の自動再接続機能が働かなくなりますので、必ず次のいずれかの方法で設定を行ってください。
- WAN側インターフェースのケーブルを抜いた状態でコマンドを入力し、設定保存後にケーブルを接続する。
- PC上で設定ファイルを作成し、ZMODEMかTFTPでルーターに転送する。
- ルーターのEDITコマンドで設定ファイルを作成する。
設定が正しく保存されているかどうかを確認するには、SHOW FILEコマンドかSHOW SCRIPTコマンドで設定ファイルを表示し、トリガー「1」の設定内容を確認してください。正しく保存されている場合、トリガー「1」の設定は次のようになります。
create trigger=1 periodic=3 script=reset.scp
|
手順が正しくなかった場合は、次のように「state=disabled」というパラメーターが付きます。この設定では、ルーター起動直後に再接続機能が働きません。
create trigger=1 periodic=3 state=disabled script=reset.scp
|
この場合は、EDITコマンドで設定ファイルを開き、「state=disabled」を削除して上書き保存してください。
■ PPPoEのLAN型接続では、IPCPネゴシエーションによって、WAN側(PPP)インターフェースにネットワークアドレス(ホスト部が0のアドレス)が割り当てられます。ネットワークアドレスはホストアドレスとしては使用できないため事実上Unnumberedと同じですが、厳密に言うと専用線接続などで使用するUnnumberedとは異なります。
ルーター自身がWAN側インターフェースからIPパケットを送出する場合を考えます。純粋なUnnumberedでは、送出インターフェースにアドレスが設定されていないため、他のインターフェースのアドレスを使用します。しかし、PPPoE LAN型の場合は、まがりなりにもWAN側インターフェースにアドレスが設定されているため、パケットの始点アドレスとして本来使用できないネットワークアドレスが使用されてしまいます。
通常は、ルーター自身がパケットを送信することがないため、このことを意識する必要はありません。しかし、IPsecを使用するときなどは、始点アドレスに有効なアドレスが使われるよう注意が必要です。これには、WAN側インターフェースをマルチホーミングし、一方に有効なアドレスを設定した上で、デフォルトルートをそちらに向ける必要があります。ここでは、ISPから4.4.4.0/29のアドレスを割り当てられているものと仮定します。
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 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 ROUTE=0.0.0.0 INT=ppp0-1 NEXT=0.0.0.0 ↓
これにより、LAN側からWAN側へのパケットはppp0-1にルーティングされ、始点アドレスとして4.4.4.1が使用されるようになります。
■ ファイアウォールで遮断されたパケットのログをとるには、次のコマンドを実行します。
ENABLE FIREWALL POLICY=net LOG=DENY ↓
記録されたログを見るには、次のコマンドを実行します。ここでは、「TYPE=FIRE」により、ファイアウォールが出力したログメッセージだけを表示させています。
■ インターネット側からのPING(ICMP Echo Requestパケット)を拒否するには、次のようなIPフィルターをWAN側インターフェースに設定します。この例では、「LOG=HEADER」により、フィルターで拒否したパケットをログに記録しています。
ADD IP FILTER=0 SO=0.0.0.0 PROTO=ICMP ICMPTYPE=ECHO LOG=HEADER ACTION=EXCLUDE ↓
ADD IP FILTER=0 SO=0.0.0.0 ACTION=INCLUDE ↓
SET IP INT=ppp0 FILTER=0 ↓
記録されたログを見るには、次のコマンドを実行します。ここでは、「TYPE=IPFIL」により、IPフィルターが出力したログメッセージだけを表示させています。
ルーターのコンフィグ
[テキスト版]
CREATE PPP=0 OVER=eth1-any ↓
SET PPP=0 OVER=eth1-any BAP=OFF IPREQUEST=ON USER=user@isp PASSWORD=isppasswd LQR=OFF ECHO=ON ↓
ENABLE IP ↓
ENABLE IP REMOTEASSIGN ↓
ADD IP INT=eth0-0 IP=4.4.4.1 MASK=255.255.255.248 ↓
ADD IP INT=eth0-1 IP=192.168.10.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 FIREWALL ↓
CREATE FIREWALL POLICY=net ↓
ENABLE FIREWALL POLICY=net ICMP_F=PING,UNREACH ↓
DISABLE FIREWALL POLICY=net IDENTPROXY ↓
ADD FIREWALL POLICY=net INT=eth0-0 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INT=eth0-1 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓
ADD FIREWALL POLICY=net NAT=ENHANCED INT=eth0-1 GBLINT=ppp0 GBLIP=4.4.4.1 ↓
ADD FIREWALL POLICY=net RULE=1 AC=ALLOW INT=ppp0 PROTO=TCP IP=4.4.4.2 PORT=80 ↓
ADD FIREWALL POLICY=net RULE=2 AC=ALLOW INT=ppp0 PROTO=TCP IP=4.4.4.3 PORT=25 ↓
ADD FIREWALL POLICY=net RULE=3 AC=ALLOW INT=ppp0 PROTO=TCP IP=4.4.4.4 PORT=53 ↓
ADD FIREWALL POLICY=net RULE=4 AC=ALLOW INT=ppp0 PROTO=UDP IP=4.4.4.4 PORT=53 ↓
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 ↓
|
スクリプト「reset.scp」
[テキスト版]
スクリプト「up.scp」
[テキスト版]
スクリプト「down.scp」
[テキスト版]
CentreCOM AR300/AR700 シリーズ 設定例集 2.3 #50
(C) 1997 - 2005 アライドテレシスホールディングス株式会社
PN: J613-M0507-00 Rev.H
<前頁
次頁>
<<
>>
↑
目次 (番号順
(詳細)・
回線別
(詳細)・
機能別
(詳細))