【Fortigate】 PPPoE設定と動作確認 FortiOS6.0.9

PPPoE(PPP over Ethernet)は、PPP のフレームをイーサネットで運ぶための仕組みで、RFC 2516 で決められています。ユーザ認証や IP アドレスの割り当てといった PPP の機能をイーサネット上でも使えるので、プロバイダへの接続でよく使われます。

この記事では、FortiGate の wan1 を PPPoE クライアントにして、センタと拠点を PPPoE 網でつなぎます。設定のあと、接続状態とルーティングテーブルを確認し、センタから拠点へ ping を打って疎通を確かめます。検証時の FortiOS は 6.0.9 です。

この記事でわかること
  1. FortiGate のインターフェースを PPPoE で接続する設定
  2. 接続状態と、PPPoE で追加されるルートの読み方
  3. 拠点側も同じ手順で接続する
  4. センタと拠点の疎通確認と、デフォルトゲートウェイの役割

検証構成

センタと拠点の FortiGate は、どちらも wan1 で PPPoE 網に接続します。PPPoE 網は Cisco ルータを PPPoE サーバにして再現しています(設定は記事の最後に載せています)。

PPPoE網 センタ(CENTER) 拠点 PPPoEクライアント PPPoEクライアント wan1 wan1 Fa0/0 Fa0/1 Ciscoルータ PPPoEサーバ 128.128.128.128 user@center 128.1.1.1/32 user@branch 128.1.1.2/32
図1 検証構成。センタと拠点の FortiGate が、それぞれ PPPoE 網に接続する

PPPoE 網では、ユーザ名ごとに割り当てるアドレスを決めています。認証が通ると、次のアドレスが /32 で割り当てられます。

機器ユーザ名割り当てられるアドレス
センタ(CENTER)user@center128.1.1.1/32
拠点user@branch128.1.1.2/32
PPPoE 網(Cisco ルータ)―128.128.128.128(PPPoE サーバ側のアドレス)

PPPoE がつながるまでの流れ

PPPoE の接続は、2つの段階に分かれています。最初の Discovery ステージで、クライアントは PPPoE サーバを探し、通信に使うセッション ID を決めます。次の PPP セッションステージで、ふつうの PPP と同じように、リンクの条件の交渉(LCP)、認証、IP アドレスの割り当て(IPCP)を行います。

Discoveryステージ PPPセッションステージ FortiGatewan1(クライアント) Ciscoルータ(PPPoEサーバ) PADI(ブロードキャストでサーバを探す) PADO(応答できるサーバが返す) PADR(選んだサーバへ要求) PADS(セッションIDが決まる) LCP(リンクの条件を交渉) CHAP認証(ユーザ名とパスワード) IPCP(IPアドレスの割り当て)
図2 PPPoE の接続手順。Discovery ステージでセッションを作り、その上で PPP の認証とアドレスの割り当てを行う
パケット・処理内容
PADIクライアントが、宛先をブロードキャストにして PPPoE サーバを探します。
PADOPADI に応答できるサーバが返します。
PADRクライアントが、選んだサーバに接続を要求します。
PADSサーバがセッション ID を返し、PPP セッションの準備ができます。
PADTセッションを終わらせるときに使います。クライアントとサーバのどちらからも送れます。
LCP / CHAP / IPCPPPP の処理です。今回の PPPoE 網は CHAP で認証し、IPCP で 128.1.1.1 などのアドレスを割り当てます。
MTU について

イーサネットのペイロードは最大 1500 バイトで、そこに PPPoE ヘッダ(6 バイト)と PPP のプロトコル ID(2 バイト)が入るため、PPPoE で運べる PPP の MTU は 1492 バイトまでになります。今回の PPPoE 網では、Cisco ルータの Virtual-Template に mtu 1454 を設定しています。

センタ側の接続

wan1 を PPPoE に設定する

ネットワーク ›› インターフェース で wan1 を選んで編集します。アドレッシングモードを PPPoE にして、センタ用のユーザ名とパスワードを入力します。

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

FortiGate 管理画面(wan1 の編集)画面イメージ
ネットワーク ›› インターフェース ›› wan1
アドレス
1アドレッシングモード○ マニュアル○ DHCP◉ PPPoE
2ユーザ名user@center
パスワード●●●●●●
Unnumbered IP接続0.0.0.0
初期ディスクタイムアウト1
初期PADTタイムアウト1
3サーバからデフォルトゲートウェイを取得ON
4ディスタンス5
5内部DNSを上書きON
図3 wan1 の PPPoE 設定(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1アドレッシングモードPPPoE を選びます。選ぶと、ユーザ名やパスワードなど PPPoE 用の項目が表示されます。
2ユーザ名・パスワードPPPoE の認証に使うアカウントです。センタは user@center を入力します。PPPoE 網の Cisco ルータに登録したユーザ名・パスワードと一致させます。
3サーバからデフォルトゲートウェイを取得PPPoE サーバから受け取ったゲートウェイを、デフォルトルートとしてルーティングテーブルに追加します。今回は有効にしています。
4ディスタンス3 で追加されるデフォルトルートのアドミニストレーティブディスタンスです。同じ宛先のルートが複数あるときは、値の小さいほうが使われます。
5内部DNSを上書きPPPoE サーバから受け取った DNS サーバで、FortiGate の DNS 設定を置き換えます。

Unnumbered IP接続は、プロバイダから固定のアドレスブロックを割り当てられている場合などに、インターフェースのアドレスを指定する項目です。今回は使わないので 0.0.0.0 のままです。初期ディスクタイムアウトは PPPoE の Discovery を再試行するまでの待ち時間、初期PADTタイムアウトは PADT に関するタイムアウト(秒)です。

接続状態とルーティングテーブルを確認する

設定を保存してしばらくすると、同じ画面のステータスが「接続済み」になり、PPPoE サーバから受け取ったアドレスが表示されます。

FortiGate 管理画面(wan1 の編集)画面イメージ
ネットワーク ›› インターフェース ›› wan1
アドレス
アドレッシングモード○ マニュアル○ DHCP◉ PPPoE
1ステータス 接続済み
2取得したIP/ネットマスク128.1.1.1 255.255.255.255 更新
取得したDNS 
3デフォルトゲートウェイ128.128.128.128
ユーザ名user@center
⋮ (中略)
サーバからデフォルトゲートウェイを取得ON
ディスタンス5
図4 接続後の wan1(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
1接続済み(緑)PPPoE サーバとの接続が完了し、アドレスなどの情報を受け取った状態です。
2128.1.1.1 255.255.255.255IPCP で割り当てられたアドレスです。PPP は1対1のリンクなので、マスクは /32 になっています。取得したDNS は空欄です。今回の PPPoE 網では DNS サーバを配っていないためです。
3128.128.128.128PPPoE サーバ(Cisco ルータの Virtual-Template)のアドレスで、これがデフォルトゲートウェイになります。

続けて、ルーティングテーブルを モニタ ›› ルーティングモニタ で確認します。

FortiGate 管理画面(センタ)画面イメージ
モニタ ›› ルーティングモニタ
タイプネットワークゲートウェイIPインターフェース
1スタティック0.0.0.0/0128.128.128.128ppp1
2コネクテッド128.1.1.1/320.0.0.0ppp1
3コネクテッド128.128.128.128/320.0.0.0ppp1
図5 センタのルーティングテーブル(実際の画面ではなく、表示のポイントを示したイメージです)
No.ルート意味
10.0.0.0/0 → 128.128.128.128「サーバからデフォルトゲートウェイを取得」で追加されたデフォルトルートです。スタティックルートとして登録されます。
2128.1.1.1/32自分に割り当てられたアドレスです。
3128.128.128.128/32接続先の PPPoE サーバのアドレスです。デフォルトルートのゲートウェイは、このルートで届きます。

インターフェースの列は wan1 ではなく ppp1 と表示されています。PPPoE で受け取ったルートは、この ppp1 に結び付いています。

現在の FortiOS では

検証した FortiOS 6.0 では「ルーティングモニタ」で確認しました。FortiOS 7.4 では ダッシュボード ›› ネットワーク の Routing ウィジェットを全画面に広げると、ルーティングテーブルを確認できます。CLI なら get router info routing-table all で確認できます。

拠点側の接続

拠点も同じ手順で接続する

拠点の FortiGate も、センタと同じように wan1 を PPPoE にします。ユーザ名は user@branch で、認証が通ると 128.1.1.2/32 が割り当てられます。

FortiGate 管理画面(拠点の wan1)画面イメージ
ネットワーク ›› インターフェース ›› wan1
アドレス
アドレッシングモード○ マニュアル○ DHCP◉ PPPoE
ステータス 接続済み
1取得したIP/ネットマスク128.1.1.2 255.255.255.255 更新
取得したDNS 
デフォルトゲートウェイ128.128.128.128
2ユーザ名user@branch
⋮ (中略。ほかの項目はセンタと同じ)
図6 接続後の拠点の wan1(実際の画面ではなく、表示のポイントを示したイメージです)
FortiGate 管理画面(拠点)画面イメージ
モニタ ›› ルーティングモニタ
タイプネットワークゲートウェイIPインターフェース
3スタティック0.0.0.0/0128.128.128.128ppp1
コネクテッド128.1.1.2/320.0.0.0ppp1
コネクテッド128.128.128.128/320.0.0.0ppp1
図7 拠点のルーティングテーブル(実際の画面ではなく、表示のポイントを示したイメージです)
No.表示意味
1128.1.1.2 255.255.255.255拠点に割り当てられたアドレスです。デフォルトゲートウェイはセンタと同じ 128.128.128.128 です。
2user@branch拠点用のユーザ名です。
30.0.0.0/0 → 128.128.128.128センタと同じく、PPPoE サーバ向けのデフォルトルートが登録されています。

疎通確認

センタから拠点へ ping を打つ

センタの FortiGate から、拠点の FortiGate のアドレス(128.1.1.2)へ ping を実行します。

CENTER

CENTER # execute ping 128.1.1.2
PING 128.1.1.2 (128.1.1.2): 56 data bytes
64 bytes from 128.1.1.2: icmp_seq=0 ttl=254 time=0.3 ms
64 bytes from 128.1.1.2: icmp_seq=1 ttl=254 time=0.2 ms
64 bytes from 128.1.1.2: icmp_seq=2 ttl=254 time=0.2 ms
64 bytes from 128.1.1.2: icmp_seq=3 ttl=254 time=0.2 ms
64 bytes from 128.1.1.2: icmp_seq=4 ttl=254 time=0.3 ms
--- 128.1.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.3 ms

5回とも応答があり、疎通できています。センタから見ると、128.1.1.2 は自分のルーティングテーブルにあるどのネットワークにも含まれません。そのため、デフォルトルート(0.0.0.0/0)に従って PPPoE サーバの 128.128.128.128 へ送られ、PPPoE 網を通って拠点に届きます。

「サーバからデフォルトゲートウェイを取得」を無効にすると、このデフォルトルートが登録されないため、疎通できなくなります。

うまくつながらないとき

状態よくある原因確認すること
ステータスが「接続済み」にならないユーザ名・パスワードの誤り、ケーブルや接続先の誤りPPPoE サーバ側に登録したユーザ名・パスワードと一致しているか。wan1 が PPPoE 網側の正しいポートにつながっているか。
接続済みだが、拠点に ping が通らないデフォルトルートがない「サーバからデフォルトゲートウェイを取得」が有効か。ルーティングテーブルに 0.0.0.0/0(ppp1)があるか。
デフォルトルートが使われないほかのデフォルトルートのほうがディスタンスが小さい同じ 0.0.0.0/0 のルートが複数ないか。ディスタンスの値を比べる。

PPPoE網のCiscoルータ設定

今回の検証で PPPoE サーバとして使った Cisco ルータの設定です。

Cisco ルータ(PPPoE サーバ)

username user@center password 0 center
username user@branch password 0 branch


bba-group pppoe pppoe-center
virtual-template 1
!
bba-group pppoe pppoe-branch
virtual-template 2
!
interface FastEthernet0/0
no ip address
pppoe enable group pppoe-center
!
interface FastEthernet0/1
no ip address
pppoe enable group pppoe-branch
!
interface Virtual-Template1
mtu 1454
ip address 128.128.128.128 255.255.255.255
peer default ip address pool pool1
ppp authentication chap
!
interface Virtual-Template2
mtu 1454
ip address 128.128.128.128 255.255.255.255
peer default ip address pool pool2
ppp authentication chap
!
ip local pool pool1 128.1.1.1
ip local pool pool2 128.1.1.2
!
設定意味
usernamePPP の認証に使うユーザ名とパスワードです。FortiGate に入力した値と一致させます。
bba-group pppoePPPoE のグループを作り、接続ごとのインターフェースを作るときに使う Virtual-Template を指定します。センタ用と拠点用で分けています。
pppoe enable groupインターフェースで PPPoE を受け付け、どのグループで処理するかを決めます。Fa0/0 はセンタ用、Fa0/1 は拠点用です。
interface Virtual-Template接続ごとに作られるインターフェースのひな形です。ip address 128.128.128.128 が PPPoE サーバ側のアドレスで、FortiGate のデフォルトゲートウェイになります。
peer default ip address pool接続してきた相手に割り当てるアドレスを、指定したプールから選びます。
ppp authentication chapCHAP で認証します。
ip local pool割り当てるアドレスのプールです。アドレスを1つだけにしているので、センタには毎回 128.1.1.1、拠点には毎回 128.1.1.2 が割り当てられます。

まとめ

項目センタ拠点
インターフェースwan1(アドレッシングモード:PPPoE)wan1(アドレッシングモード:PPPoE)
ユーザ名user@centeruser@branch
割り当てられたアドレス128.1.1.1/32128.1.1.2/32
デフォルトルート0.0.0.0/0 → 128.128.128.128(ppp1)。「サーバからデフォルトゲートウェイを取得」で登録される

FortiGate の PPPoE は、アドレッシングモードを PPPoE にしてユーザ名とパスワードを入れれば接続できます。対向の拠点と通信するには、PPPoE サーバ向けのデフォルトルートが必要です。接続後はステータスとルーティングテーブルを見て、アドレスとデフォルトルートが入っているかを確かめてください。

コメント