<前頁
次頁>
<<
>>
↓
目次 (番号順
(詳細)・
回線別
(詳細)・
機能別
(詳細))
CentreCOM AR300/AR700 シリーズ 設定例集 2.3 #121
トンネリングによるIPv6インターネット接続(PPPoEアドレス1個固定環境)
IPv6 over IPv4トンネリングによってIPv6インターネットに接続します。この例では、インターネットサービスプロバイダー(ISP)とPPPoEで接続(IPv4グローバルアドレス1個固定)していることを前提に、ISPが提供するIPv6トンネル接続サービスを利用してグローバルIPv6ネットワークに接続します。IPv4では、ダイナミックENATで1個のアドレスを共用し、ファイアウォールで外部からの不正アクセスを防止します。一方、IPv6では、IPv6フィルターを使って外部からの不正アクセスを防止しつつ、内部からは自由にIPv6インターネットにアクセスできるようにします。
IPv6 over IPv4トンネリングではIPv4を利用してIPv6の接続性を得るため、最初にIPv4の設定が必要になります。本例では、PPPoEを使ってISPと接続します。
IPv4は、次のような方針で設定を行います。
- ISPからはグローバルIPv4アドレスを1個固定的に割り当てられています。
表 1:ISPから提供されたIPv4接続情報
PPPユーザー名 |
user@isp |
PPPパスワード |
isppasswd |
PPPoEサービス名 |
指定なし |
IPアドレス |
12.34.56.78/32(固定) |
DNSサーバー |
12.34.11.11、12.34.11.22 |
- ファイアウォールを利用して、外部からの不正アクセスを遮断しつつ、内部からは自由にインターネットへのアクセスができるようにします。
- ファイアウォールのダイナミックENAT機能を利用して、LAN側ネットワークのプライベートIPアドレスを、ISPから与えられたグローバルIPアドレスに変換します。これにより、LANに接続された複数のコンピューターからインターネットへの同時アクセスが可能になります。
- トリガー機能を使ってPPPインターフェースを監視し、PPPoEのセッションが局側から切断されたような場合に、自動的に再接続するよう設定します。
IPv4までの基本設定を次にまとめます。
表 2:ルーターの基本設定
WAN側物理インターフェース |
eth1 |
WAN側(ppp0)IPアドレス |
12.34.56.78/32(固定) |
LAN側(eth0)IPアドレス |
192.168.10.1/24 |
DHCPサーバー機能 |
無効 |
次にIPv6の設定を行います。
- IPv6インターネットとの接続は、IPv6 over IPv4トンネリングによって行います。ISPから提供されたIPv6接続情報は次のとおりです。
表 3:ISPから提供されたIPv6接続情報
使用できるプレフィックス |
3ffe:1:1::/48 |
ISP側トンネル終端アドレス |
1.2.3.4 |
ルーター側トンネル終端アドレス |
12.34.56.78(ppp0のアドレス) |
- ISPからはプレフィックス3ffe:1:1::/48を割り当てられているものとします。これは、3ffe:1:1:0::/64 〜 3ffe:1:1:ffff::/64 の65536個のサブネットを自由に使えることを示しています。ここでは、LAN側インターフェース(eth0)に3ffe:1:1:1::/64を割り当て、ルーター通知(RA)パケットでクライアントにプレフィックスなどの情報を通知します。
- IPv6フィルターを利用して、外部からの不正アクセスを遮断しつつ、内部からは比較的自由にインターネットへのアクセスができるようにします。
- IPv6ではすべてのLAN側クライアントコンピューターにグローバルアドレスを割り当てるため、NATの必要はありません。クライアントは自身のIPv6アドレス(通常、自動設定されます)を用いてIPv6インターネットにアクセスします。
IPv6の基本設定を次にまとめます。
表 4:ルーターのIPv6基本設定
WAN側インターフェース |
virt0(トンネル) |
WAN側(virt0)IPv6アドレス |
リンクローカルアドレスのみ |
LAN側(eth0)IPv6アドレス |
3ffe:1:1:1::1/64 |

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ユーザー名とパスワードを指定します。LQRはオフにし、代わりにLCP Echoパケットを使ってPPPリンクの状態を監視するようにします。また、ISDN向けの機能であるBAPはオフにします。
SET PPP=0 OVER=eth1-any USER=user@isp PASSWORD=isppasswd LQR=OFF BAP=OFF ECHO=ON ↓
- IPモジュールを有効にします。
- LAN側(eth0)インターフェースにIPアドレスを設定します。
ADD IP INT=eth0 IP=192.168.10.1 MASK=255.255.255.0 ↓
- WAN側(ppp0)インターフェースにISPから割り当てられたIPアドレスを設定します。
ADD IP INT=ppp0 IP=12.34.56.78 MASK=255.255.255.255 ↓
- デフォルトルートを設定します。
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 ↓
- ファイアウォールポリシーの適用対象となるインターフェースを指定します。
- LAN側インターフェース(eth0)をPRIVATE(内部)に設定します。
ADD FIREWALL POLICY=net INT=eth0 TYPE=PRIVATE ↓
- WAN側インターフェース(ppp0)をPUBLIC(外部)に設定します。
ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓
- LAN側ネットワークに接続されているすべてのコンピューターがENAT機能を使用できるよう設定します。グローバルアドレスには、ppp0のIPアドレスを使用します。
ADD FIREWALL POLICY=net NAT=ENHANCED INT=eth0 GBLINT=ppp0 ↓
- 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 ↓
- ここからがIPv6の設定です。最初に、ISP側終端点(1.2.3.4)からルーター(12.34.56.78)に宛てたIPv6トンネリングパケット(IPプロトコル番号41)を通過させるファイアウォールルールを追加します。
ADD FIREWALL POLICY=net RULE=1 AC=ALLOW INT=ppp0 PROTO=41 IP=12.34.56.78 GBLIP=12.34.56.78 REMOTEIP=1.2.3.4 ↓
- IPv6モジュールを有効にします。
- LAN側(eth0)インターフェースにIPv6アドレス3ffe:1:1:1::1/64を設定します。「PUBLISH=YES」は、LAN上にプレフィックスなどを通知するよう指示するものです。IPv6対応クライアントホストは、ルーターから通知を受けることにより、自身のアドレスとデフォルトゲートウェイを自動設定できます。
ADD IPV6 INT=eth0 IP=3ffe:1:1:1::1/64 PUBLISH=YES ↓
- ルーター通知(RA)を有効にします。これにより、「PUBLISH=YES」と指定されたインターフェースでプレフィックスなどの通知を行うようになります。
- ISPとの間にIPv6 over IPv4トンネルを作成します。LOCALにはルーター側終端IPv4アドレス、TARGETにはISP側の終端IPv4アドレスを指定します。本コマンドを実行することにより、仮想的なIPv6インターフェース(virt0)が作成され、リンクローカルアドレスが自動設定されます。IPv6的にはvirt0が外部(WAN側)インターフェースとなります。
ADD IPV6 TUNNEL LOCAL=12.34.56.78 TARGET=1.2.3.4 ↓
- IPv6のデフォルトルートをトンネルインターフェース(virt0)側に向けて設定します。
ADD IPV6 ROUTE=::/0 INT=virt0 NEXT=:: ↓
- 外部からのIPv6トラフィックを制限するため、IPv6フィルターの設定を行います。最初に、トンネルインターフェース(virt0)に適用するIPv6フィルター「1」を作成します。
- LAN側から張ったTCPコネクションに限り、インターネット側からLANへのTCPパケットを通過させます。
ADD IPV6 FILTER=1 SOURCE=:: ACTION=INCLUDE ↓
SET IPV6 FILTER=1 ENTRY=1 DEST=3ffe:1:1::/48 PROTO=TCP SESS=ESTABLISHED ↓
- インターネット側からLAN側へのUDPパケットは、DNSからの応答(始点UDPポート53番)のみ通過させます。
ADD IPV6 FILTER=1 SOURCE=:: ACTION=INCLUDE ↓
SET IPV6 FILTER=1 ENTRY=2 DEST=3ffe:1:1::/48 PROTO=UDP SPORT=53 ↓
- インターネット側からのICMPv6パケットはすべて通過させます。
ADD IPV6 FILTER=1 SOURCE=:: ACTION=INCLUDE ↓
SET IPV6 FILTER=1 ENTRY=3 DEST=:: PROTO=ICMP ICMPTYPE=ANY ICMPCODE=ANY ↓
Note
- IPv6フィルターのデフォルト動作は「すべて拒否(EXCLUDE)」です。すなわち、明示的に指定した条件にマッチしなかったパケットはすべて破棄されます。
- IPv6フィルター「1」をトンネルインターフェース(virt0)に適用します。
SET IPV6 INT=virt0 FILTER=1 ↓
- 設定は以上です。設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。
CREATE CONFIG=router.cfg ↓
SET CONFIG=router.cfg ↓
Note
- WAN側のケーブルを抜いた状態でここまでの設定を行った場合は、ファイル保存後にケーブルを接続してください。
■ IPv6インターフェースの情報はSHOW IPV6 INTERFACEコマンドで確認できます。
■ IPv6トンネルの情報はSHOW IPV6 TUNNELコマンドで確認できます。
■ IPv6フィルターには、条件を指定するさまざまなパラメーターがあります。くわしくはコマンドリファレンスをご覧ください。
■ IPv6フィルターはパラメーターが多いため、コマンドラインが長くなりがちです。コマンドラインの入力文字数制限によりコマンドを入力できない場合は、省略形を使ったり、コマンドを複数行に分けるなどして対処してください。
■ IPv6フィルターの設定状況を確認するには次のコマンドを使います。
■ どのIPv6インターフェースにどのソフトウェアIPフィルターが適用されているかを確認するには、次のコマンドを使います。
■ IPv6インターフェースからIPv6フィルターを削除するには、SET IPV6 INTERFACEコマンドのFILTERパラメーターにNONEを指定します。IPv6インターフェースvirt0からIPv6フィルターの適用を取り消すには、次のようにします。
SET IPV6 INT=virt0 FILTER=NONE ↓
■ 本構成例では、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セッションが確立され、以後常時接続された状態となります。したがって、PPPoEセッションの切断、再接続は手動で行う必要があります。
- セッションを切断するには、次のコマンドでPPPインターフェースをディセーブルにします。
- 再接続するには次のコマンドでPPPインターフェースをイネーブルにします。
■ ファイアウォールで遮断されたパケットのログをとるには、次のコマンドを実行します。
ENABLE FIREWALL POLICY=net LOG=DENY ↓
記録されたログを見るには、次のコマンドを実行します。ここでは、「TYPE=FIRE」により、ファイアウォールが出力したログメッセージだけを表示させています。
ルーターのコンフィグ
[テキスト版]
CREATE PPP=0 OVER=eth1-any ↓
SET PPP=0 OVER=eth1-any USER=user@isp PASSWORD=isppasswd LQR=OFF BAP=OFF ECHO=ON ↓
ENABLE IP ↓
ADD IP INT=eth0 IP=192.168.10.1 MASK=255.255.255.0 ↓
ADD IP INT=ppp0 IP=12.34.56.78 MASK=255.255.255.255 ↓
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 TYPE=PRIVATE ↓
ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC ↓
ADD FIREWALL POLICY=net NAT=ENHANCED INT=eth0 GBLINT=ppp0 ↓
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 ↓
ADD FIREWALL POLICY=net RULE=1 AC=ALLOW INT=ppp0 PROTO=41 IP=12.34.56.78 GBLIP=12.34.56.78 REMOTEIP=1.2.3.4 ↓
ENABLE IPV6 ↓
ADD IPV6 INT=eth0 IP=3ffe:1:1:1::1/64 PUBLISH=YES ↓
ENABLE IPV6 ADVERTISE ↓
ADD IPV6 TUNNEL LOCAL=12.34.56.78 TARGET=1.2.3.4 ↓
ADD IPV6 ROUTE=::/0 INT=virt0 NEXT=:: ↓
ADD IPV6 FILTER=1 SOURCE=:: ACTION=INCLUDE ↓
SET IPV6 FILTER=1 ENTRY=1 DEST=3ffe:1:1::/48 PROTO=TCP SESS=ESTABLISHED ↓
ADD IPV6 FILTER=1 SOURCE=:: ACTION=INCLUDE ↓
SET IPV6 FILTER=1 ENTRY=2 DEST=3ffe:1:1::/48 PROTO=UDP SPORT=53 ↓
ADD IPV6 FILTER=1 SOURCE=:: ACTION=INCLUDE ↓
SET IPV6 FILTER=1 ENTRY=3 DEST=:: PROTO=ICMP ICMPTYPE=ANY ICMPCODE=ANY ↓
SET IPV6 INT=virt0 FILTER=1 ↓
|
スクリプト「reset.scp」
[テキスト版]
スクリプト「up.scp」
[テキスト版]
スクリプト「down.scp」
[テキスト版]
CentreCOM AR300/AR700 シリーズ 設定例集 2.3 #121
(C) 1997 - 2005 アライドテレシスホールディングス株式会社
PN: J613-M0507-00 Rev.H
<前頁
次頁>
<<
>>
↑
目次 (番号順
(詳細)・
回線別
(詳細)・
機能別
(詳細))