はじめに
FortiGate を WAN 回線(フレッツ光などの PPPoE 接続)に接続する際、設定そのものは難しくありませんが、FortiGate がファイアウォール製品であることに由来する独特の前提や、設定方式が複数あること、再接続まわりの挙動など、他社ルーターとは異なるつまずきどころがあります。本記事は、FortiGate での PPPoE 設定を CLI / GUI の両面から整理し、設定後に「PPPoE は UP しているのに通信できない」「セッションが安定しない」といった状況を切り分けられることを目的としています。
PPPoE そのものの仕組み(ディスカバリ / セッションの 2 段階)や、フレッツ網で MTU 1454 / MSS 1414 となる根拠については、親記事『PPPoE 接続の仕組みと設定の基本|主要 4 メーカーの設計比較』で解説しています。本記事は FortiGate 固有の設定と運用に絞って掘り下げます。検証は FortiOS 7.4 / 7.6 系を前提にしていますが、設定の考え方は 6.2 系以降で共通です。
- FortiGate で PPPoE を設定する 2 つの方式とその使い分け
- CLI / GUI それぞれの設定手順と、FortiOS バージョンによる GUI 表示の違い
- ファイアウォールポリシーが通信の前提となる理由と確認の順序
- 再接続(disc-retry-timeout・Automation Stitch)の設計と、pppoed デバッグによる切り分け
FortiGate の PPPoE 設定で最初に押さえるべき要点は 2 つです。第一に、インターフェース設定だけでは通信は成立せず、LAN から WAN へのファイアウォールポリシーが必須であること。第二に、設定方式が 物理ポートを直接 PPPoE モードにする方法と、config system pppoe-interface で論理インターフェースを定義する方法の 2 通りあり、IPv4 / IPv6 を併用する構成では後者が扱いやすいことです。
FortiGate の PPPoE 設定の全体像
具体的なコマンドに入る前に、FortiGate における PPPoE 設定の 2 方式と、ファイアウォール製品ならではの前提を整理します。ここを押さえておくと、後続の手順やトラブルシューティングの理解がスムーズになります。
2 つの設定方式(物理 IF モード / pppoe-interface)
FortiGate で PPPoE を設定する方法は、大きく 2 つあります。
1 つ目は、物理ポート(例: wan1)のモードを pppoe に変更する方法です。config system interface の中で set mode pppoe を指定し、認証情報や MTU をそのインターフェースに直接設定します。1 つの物理ポートで 1 つの PPPoE セッションを終端する、最も一般的な構成です。GUI でもこの方式が基本になります。
2 つ目は、config system pppoe-interface という専用構文で、PPPoE インターフェースを論理的に定義する方法です。物理デバイス(set device)を指定したうえで、PPPoE インターフェースを物理ポートとは別の論理的な単位として扱います。この構文には set ipv6 enable という IPv6 を有効化するパラメータが用意されており、IPv4 と IPv6 を同時に PPPoE で利用したいケースで扱いやすくなります。
参考: Fortinet Document Library / config system pppoe-interface(FortiOS 7.6.2 CLI Reference)
“Configure the PPPoE interfaces.”
(PPPoE インターフェースを設定します)
https://docs.fortinet.com/document/fortigate/7.6.2/cli-reference/268798926/config-system-pppoe-interface
この config system pppoe-interface 構文は、FortiOS 6.2 系から最新の 8.0 系まで一貫して提供されています。どちらの方式を採用するかは要件次第ですが、シンプルな IPv4 PPPoE であれば物理 IF モード、IPv6 併用や PPPoE インターフェースを物理ポートと分離して管理したい場合は専用構文、という整理が目安になります。具体的な設定例は後続のセクションで扱います。
ファイアウォール製品ならではの前提(ポリシー必須)
FortiGate が他社のルーター製品と最も異なるのは、インターフェースの設定だけでは通信が成立しない点です。FortiGate はファイアウォール製品であり、許可するファイアウォールポリシー(例: LAN → WAN)が定義されていない通信は、既定で遮断されます。
このため、PPPoE セッションが正常に確立し IP アドレスを取得していても、ポリシーが未設定であればインターネットへの通信はできません。「PPPoE は UP しているのに通信できない」という状況に遭遇した場合、認証や MTU を疑う前に、まずファイアウォールポリシーの定義状況を確認するのが FortiGate でのトラブルシューティングの定石です。NAT も、Cisco のようなグローバル設定ではなくファイアウォールポリシー内(set nat enable)で有効化します。

このポリシー前提を理解しておくと、後続の「CLI での基本設定手順」でインターフェース設定とポリシー設定をセットで進める理由が明確になります。
CLI での基本設定手順
ここでは、最も一般的な構成として wan1 ポートを PPPoE モードにし、internal を LAN 側とする ケースを CLI で設定します。GUI でも設定できますが、CLI は設定項目を一覧で確認しやすく、コンフィグバックアップを読む際にも役立ちます。設定の流れは「インターフェース → ファイアウォールポリシー」の順です。
物理ポートを PPPoE モードにする(set mode pppoe)
WAN 側の物理ポートのモードを pppoe に変更し、プロバイダーから通知された認証情報を設定します。
config system interface
edit "wan1"
set mode pppoe
set username "user-a-site1@example.com"
set password "fortinet"
next
endset mode pppoe を指定すると、そのインターフェースで PPPoE クライアントが有効になります。set username と set password には、プロバイダーから通知された接続 ID とパスワードを設定します。
認証情報・MTU・デフォルトルートの設定
認証情報に続けて、MTU・デフォルトルート・DNS の取得設定を加えます。
config system interface
edit "wan1"
set mode pppoe
set username "user-a-site1@example.com"
set password "fortinet"
set mtu-override enable
set mtu 1454
set defaultgw enable
set dns-server-override enable
next
end各コマンドの役割は次のとおりです。
set mtu-override enable: MTU の手動設定を有効化する。set mtu 1454: MTU をフレッツ網の推奨値に設定するset defaultgw enable: PPPoE サーバーから通知された経路をデフォルトゲートウェイとして取り込むset dns-server-override enable: PPPoE 接続時に通知された DNS サーバーアドレスを利用する
MTU は set mtu-override enable と set mtu の 2 つをセットで設定する点が、FortiGate 特有の注意点です。set mtu だけを指定しても、override が無効のままでは反映されません。
参考: Fortinet Document Library / config system interface(FortiOS 7.2.0 CLI Reference)
“set mtu-override [enable|disable]”
(MTU の上書き設定を有効化または無効化します)
https://docs.fortinet.com/document/fortigate/7.2.0/cli-reference/8620/config-system-interface
ファイアウォールポリシーと MSS 調整
前述のとおり、FortiGate ではインターフェース設定だけでは通信が成立しません。LAN(internal)から WAN(wan1)への通信を許可するファイアウォールポリシーを作成します。
config firewall policy
edit 1
set name "LAN-to-Internet"
set srcintf "internal"
set dstintf "wan1"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set nat enable
next
endここで set nat enable を指定することで、送信元アドレスが WAN 側インターフェースのアドレス(PPPoE で払い出されたグローバル IP)に変換されます。Cisco のように ACL とグローバル設定で NAT を組むのではなく、ポリシー内で NAT を有効化するのが FortiGate の方式です。
MSS の調整方法は 2 通りあります。1 つは、LAN 側インターフェースに set tcp-mss を設定する方法です。
config system interface
edit "internal"
set tcp-mss 1414
next
endもう 1 つは、ファイアウォールポリシー内で送信方向・受信方向それぞれに MSS を指定する方法です。
config firewall policy
edit 1
set tcp-mss-sender 1414
set tcp-mss-receiver 1414
next
endフレッツ網では MSS 1414 が基準値です(MTU 1454 から IP / TCP ヘッダ計 40 byte を差し引いた値。詳細は親記事を参照)。どちらの方法でも調整できますが、フラグメント抑制の観点では、通信が通る経路で確実に MSS が書き換わるように設定します。
なお、PPPoE インターフェースを通過するトラフィック(VPN トンネルを含む)は、一部のセキュリティプロセッサーによるハードウェアアクセラレーションの対象外になる点も、設計上の留意点として知られています。CPU 負荷が気になる構成では、対象機種のリリースノートやデータシートで挙動を確認しておくことをおすすめします。
config system pppoe-interface 構文(IPv4 / IPv6 併用)
物理ポートを直接 PPPoE モードにする方式とは別に、FortiOS には config system pppoe-interface という専用構文があります。物理ポートとは別に PPPoE インターフェースを論理的に定義でき、特に IPv4 / IPv6 を同時に PPPoE で利用したいケースで扱いやすくなります。
専用構文を使うケース
前半で解説した set mode pppoe 方式は、物理ポート(または VLAN インターフェース)自体を PPPoE モードに切り替えるものです。これに対し config system pppoe-interface は、PPPoE セッションを物理デバイスから切り離した論理単位として定義します。set ipv6 enable を指定することで IPv6 を有効化できるため、IPv4 PPPoE と IPv6 PPPoE を併用する構成で選択肢になります。
設定例
config system pppoe-interface
edit "PPPoE-WAN"
set device "port3"
set username "user-a-site1@example.com"
set password "fortinet"
set ipv6 enable
next
endset device で PPPoE を動作させる物理ポートを指定し、認証情報を設定します。set ipv6 enable により、この PPPoE インターフェース上で IPv6 が有効になります。この構文には、ほかにも再接続まわりのパラメータ(set disc-retry-timeout / set lcp-echo-interval / set lcp-max-echo-fails 等)が用意されており、後続の「再接続と可用性の設計」で扱います。
参考: Fortinet Document Library / config system pppoe-interface(FortiOS 7.6.2 CLI Reference)
“set ipv6 [enable|disable]”
(PPPoE インターフェースで IPv6 を有効化または無効化します)
https://docs.fortinet.com/document/fortigate/7.6.2/cli-reference/268798926/config-system-pppoe-interface
このパラメータ群は FortiOS 6.2 系から 8.0 系まで共通して提供されています。シンプルな IPv4 PPPoE であれば set mode pppoe 方式、IPv6 併用や論理的な分離が必要であれば config system pppoe-interface 方式、という使い分けが目安になります。
GUI からの設定(FortiOS バージョン別の表示挙動)
FortiGate は CLI / GUI の両方で PPPoE を設定できますが、GUI での PPPoE オプションの表示挙動が FortiOS のバージョンによって異なる点に注意が必要です。「GUI に PPPoE の選択肢が出てこない」という状況は、設定不能なのではなく表示条件によるものがほとんどです。
基本的な設定の流れ(GUI)
GUI では Network → Interfaces から対象インターフェースを開き、アドレッシングモードで PPPoE を選択し、ユーザー名・パスワードを入力して保存します。1〜2 分ほどで接続が確立し、払い出されたグローバル IP がインターフェースに表示されます。なお、デスクトップ型の FortiGate では GUI から設定できますが、1U 以上のラックマウント型では CLI での設定が前提となる点も公式に案内されています。
PPPoE オプションが表示されない場合
FortiOS 7.4.7 より前のバージョンでは、GUI のアドレッシングモードに PPPoE が既定で表示されないことがあります。その場合は、CLI で一度 set mode pppoe を設定すると、以降は GUI 側にも PPPoE 関連の項目が表示されるようになります。FortiOS 7.4.7 以降では、この回避策は不要です。
参考: Fortinet Community / Technical Tip: PPPoE interface option not available from GUI
“Starting FortiOS v7.4.7 and above PPPoE option is available on GUI by default.”
(FortiOS 7.4.7 以降では、PPPoE オプションが GUI に既定で表示されます)
https://community.fortinet.com/t5/FortiGate/Technical-Tip-PPPoE-interface-option-not-available-from-GUI/ta-p/189804
また、PPPoE 接続が確立しデフォルトゲートウェイの取得が有効な場合、アドミニストレーティブディスタンス(AD)5・プライオリティ 1 のデフォルトルートが自動的に挿入されます。同じ Fortinet の案内によると、この経路は AD 値が 5 より大きい既存のスタティックデフォルトルートよりも優先されます。複数 WAN 構成で意図しない経路選択が起きた場合は、この自動挿入された経路の AD 値を確認することをおすすめします。
VLAN タグ付き PPPoE への対応
ISP やキャリアによっては、PPPoE に VLAN タグを付与する仕様があります。FortiGate では、物理ポートの配下に VLAN インターフェースを作成し、その VLAN インターフェースに対して set mode pppoe を設定します。
config system interface
edit "pppoe-vlan"
set type vlan
set interface "wan1"
set vlanid 11
set mode pppoe
set role wan
set username "user-a-site1@example.com"
set password "fortinet"
next
endset interface で親となる物理ポートを、set vlanid で ISP が指定する VLAN ID を設定し、その VLAN インターフェース自体を PPPoE モードにします。ISP から IP は提供されず VLAN ID のみが指定されるケースの構成手順は、FortiOS v7.0 以降を対象に Fortinet の Technical Tip でも案内されています。VLAN ID は事前にプロバイダーへ確認しておく必要があります。
固定 IP・複数 PPPoE などの応用構成
固定 IP(unnumbered)の指定
プロバイダーから固定のグローバル IP が割り当てられる契約では、set ipunnumbered で取得する IP を明示します。
config system interface
edit "wan1"
set mode pppoe
set username "user-a-site1@example.com"
set password "fortinet"
set ipunnumbered 203.0.113.10
next
endset ipunnumbered には、プロバイダーから通知された固定 IP アドレスを指定します。この値を設定することで、PPPoE 接続時に当該アドレスが WAN 側インターフェースに割り当てられます。
デフォルトルートの自動挿入を抑制したい場合
複数の WAN(たとえば PPPoE 回線とスタティック IP 回線)を併用する構成では、PPPoE インターフェースが自動挿入するデフォルトルートが意図しない経路選択を招くことがあります。この自動挿入は無効化でき、その手順も Fortinet の Technical Tip で案内されています。経路制御を厳密に管理したい構成では、自動挿入のままにせず明示的なルーティング設計を行うことをおすすめします。
再接続と可用性の設計
PPPoE 回線では、回線品質や対向設備のメンテナンス等によりセッションが切断されることがあります。「PPPoE が自動的に復帰しない」「セッションが落ちたりつながったりする」といった状況に備え、再接続まわりの設計を押さえておきます。
再接続・死活監視のパラメータ
config system interface(PPPoE モード)および config system pppoe-interface には、再接続と死活監視に関わるパラメータが用意されています。
set disc-retry-timeout {integer}: セッション切断後に再接続を試みるまでのタイムアウト(秒)set padt-retry-timeout {integer}: PADT(切断通知)に関する再試行のタイムアウト(秒)set lcp-echo-interval {integer}: LCP echo(死活監視)の送信間隔(秒)set lcp-max-echo-fails {integer}: LCP echo の連続失敗を切断と判定する回数
lcp-echo-interval と lcp-max-echo-fails を適切に設定すると、対向の無応答を検知してセッションを張り直しやすくなります。一方で値を過度に短くすると、瞬断で不要な再接続が発生する可能性があるため、回線の特性に合わせた調整をおすすめします。
参考: Fortinet Document Library / config system pppoe-interface(FortiOS 7.4.2 CLI Reference)
“set lcp-echo-interval {integer}”
(PPPoE の LCP echo の送信間隔を秒単位で設定します)
https://docs.fortinet.com/document/fortigate/7.4.2/cli-reference/83620/config-system-pppoe-interface
Automation Stitch による再接続
標準の再接続パラメータでは復帰しないケースや、復帰時に追加の処理(VPN の再ネゴシエーション、通知の送信等)を行いたいケースでは、Automation Stitch を併用する方法があります。Automation Stitch は「トリガー(条件)」と「アクション(応答)」の 2 要素で構成され、特定のイベントログやリンク監視(Link Monitor)の状態変化をトリガーに、CLI スクリプトの実行などのアクションを自動化できます。
参考: Fortinet Document Library / Automation stitches(FortiOS Cookbook)
“The trigger is the condition or event on the FortiGate that activates the action”
(トリガーは、アクションを起動する FortiGate 上の条件またはイベントです)
https://docs.fortinet.com/document/fortigate/6.2.0/cookbook/139441/automation-stitches
たとえば、Link Monitor が対象の宛先への到達不可(dead)を検知したことをトリガーに、PPPoE セッションの再接続を促す CLI スクリプトを実行するアクションを定義する、といった構成が考えられます。トリガーとなるイベントのログ ID は FortiOS のバージョンによって異なるため、構築環境のログ ID を実機で確認したうえで設定することをおすすめします。


確認コマンドとトラブルシューティング
設定後の動作確認と、想定どおりに動作しない場合の切り分け手順を整理します。FortiGate 固有の注意点として、セッション確立とインターネット通信は別問題である点を意識すると、切り分けが効率化します。
状態確認コマンド
PPPoE 接続の状態は、主に次のコマンドで確認します。
# インターフェースのステータスと IP 確認(PPPoE で IP を取得できているか)
get system interface
# 取得した IP アドレスの一覧
diagnose ip address list
# ルーティング確認(デフォルトルート 0.0.0.0/0 があるか)
get router info routing-table all
# 疎通確認(Ping)
execute ping 8.8.8.8get system interface で対象インターフェースにグローバル IP が付与されていれば、PPPoE セッション自体は確立しています。この状態で外部への通信ができない場合は、PPPoE ではなくファイアウォールポリシーやルーティングを疑う、という切り分けになります。
pppoed デバッグによる切り分け
セッションが確立しない場合は、PPPoE デーモン(pppoed)のデバッグでネゴシエーションの過程を追跡します。Fortinet の Troubleshooting Tip では、まず pppoed プロセスが正常に動作しているかを確認する手順が案内されています。
# pppoed プロセスの起動確認
diagnose sys top | grep pppo
# PPPoE デーモンのデバッグ
diagnose debug reset
diagnose debug disable
diagnose debug application pppoed -1
diagnose debug enable
# デバッグ停止
diagnose debug disable
diagnose debug reset参考: Fortinet Community / Troubleshooting Tip: Troubleshooting PPPoE connection failed
“Verify that the username and password are correctly configured.”
(ユーザー名とパスワードが正しく設定されているかを確認します)
https://community.fortinet.com/t5/FortiGate/Troubleshooting-Tip-Troubleshooting-PPPoE-connection-failed/ta-p/225700
デバッグログには、PADI 送出から認証、IP 取得までの過程が出力されます。どの段階で止まっているかによって、確認すべき箇所が変わります(PPPoE のステージごとの切り分けの考え方は、親記事の共通切り分けステップを参照してください)。
認証失敗・通信不可の典型パターン
FortiGate での PPPoE トラブルには、いくつか典型的なパターンがあります。
- 認証失敗(ユーザー名 / パスワード)
-
プロバイダーから通知された接続 ID とパスワードを再確認する。認証方式は
set auth-typeで指定でき、既定のautoでは対向に応じて自動選択される - PPPoE は UP しているが通信できない
-
ファイアウォールポリシー(LAN → WAN)の有無と NAT 有効化、デフォルトルートの取得状況を確認する。FortiGate 特有の最頻出パターン
- セッションが断続的に切れる
-
LCP echo への無応答がきっかけで切断されるケースがある。
lcp-echo-interval/lcp-max-echo-failsの設定と回線品質を確認する。Fortinet の Troubleshooting Tip でも、サーバーからの LCP echo 応答がない場合に切断が起きる旨が案内されている - HA 構成で PPPoE が確立しない
-
HA クラスターの仮想 MAC アドレスが他のクラスターと重複すると、PPPoE が形成されないことがある。
group-idの値を確認する
なお、設定済みの PPPoE パスワードは暗号化されて保存されるため、show system interface では set password ENC ... の形式で暗号化文字列として表示されます。設定値そのものを平文で表示する運用は想定されていないため、認証情報を再確認する際は、控えてある接続情報やプロバイダーからの通知をもとに再設定するのが確実です。


まとめ
本記事では、FortiGate での PPPoE 設定を、2 つの設定方式から GUI・VLAN・固定 IP・再接続設計・トラブルシューティングまで整理しました。FortiGate はファイアウォール製品であるため、インターフェース設定とファイアウォールポリシーをセットで考えることが、安定した接続と効率的な切り分けの前提になります。
- PPPoE は物理 IF モードと pppoe-interface 構文の 2 方式で設定できる
- IPv4 / IPv6 を併用する構成では pppoe-interface 構文が扱いやすい
- MTU は mtu-override の有効化と値の指定をセットで行う
- インターフェース設定だけでは通信せず、ファイアウォールポリシーが前提となる
- GUI の PPPoE 表示は FortiOS 7.4.7 以降で既定、それ以前は CLI 設定で表示される
- 再接続は lcp-echo 関連値の調整と Automation Stitch の併用で設計する
- UP しても通信不可ならポリシーとルーティング、断続切断なら LCP echo を確認
以上、最後までお読みいただきありがとうございました。

