VyOS で PPPoE 回線へ接続する場合、認証情報を入れて pppoe0 を作るだけでは、LAN 端末から安全にインターネットへ出る構成にはなりません。デフォルトルート、Firewall、NAPT、MTU / MSS、DNS をそれぞれ確認する必要があります。
この記事では、VyOS 1.5 を前提に、PPPoE インターフェイスの作成から接続確認までを扱います。ISP から指定された VLAN、サービス名、固定 MTU などがある場合は、契約情報を優先してください。例では物理 WAN を eth0、LAN を eth1、内部ネットワークを 192.168.10.0/24 とします。
書籍
NAT、Firewall、ルーティング、PPPoE、ネットワーク設計の基礎を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
この記事の結論
- PPPoE の下位インターフェイスは物理 WAN、外向きの論理インターフェイスは
pppoe0として扱う - VyOS 1.5 では認証ユーザー名を
authentication usernameに設定する - デフォルトルートは通常 PPPoE 接続時に自動で入るため、経路表で確認する
- Firewall の
inputとforwardでルーター自身宛て通信と通過通信を分ける - LAN 端末を外へ出す場合は
pppoe0を出口にした NAPT を設定する - PPPoE 固有の MTU 問題には、まず PMTUD を確認し、必要なら MSS clamp を使う
PPPoE 接続を構成する要素
PPPoE は Ethernet 上に PPP セッションを作ります。物理 WAN と PPPoE 論理インターフェイスの責務を分けておくと、障害時にどこまで成立しているかを追いやすくなります。
| 要素 | 役割 | 主な確認対象 |
|---|---|---|
eth0 | PPPoE フレームを運ぶ物理 WAN | リンク状態、必要な VLAN |
pppoe0 | ISP との PPP セッション | 認証、割り当てアドレス、MTU |
| デフォルトルート | インターネット向けの出口 | PPPoE 接続時に経路が入ったか |
| Firewall | 受信・通過通信の許可 | input と forward の境界 |
| NAPT | LAN の送信元アドレス変換 | 出口が pppoe0 か |
| DNS | 名前解決 | ISP 配布 DNS か明示設定か |
PPPoE インターフェイスを設定する
ISP から受け取ったユーザー名とパスワードを設定し、PPPoE セッションを張る下位インターフェイスを指定します。VyOS 1.5 ではユーザー名の設定語は username です。
configure
set interfaces ethernet eth0 description 'PPPoE WAN'
set interfaces pppoe pppoe0 description 'Internet PPPoE'
set interfaces pppoe pppoe0 authentication username 'user@example.net'
set interfaces pppoe pppoe0 authentication password 'pppoe-password'
set interfaces pppoe pppoe0 source-interface 'eth0'
commit
save通常は PPPoE 接続が成立するとデフォルトルートが自動で入ります。別のデフォルトルートを優先したい場合は default-route-distance を使い、PPPoE からデフォルトルートを受けたくない場合だけ no-default-route を検討します。
Firewall で外部側を制御する
VyOS 1.5 では、ルーター自身宛ての通信を firewall ipv4 input filter、LAN へ転送される通信を firewall ipv4 forward filter で扱います。次は既存セッションの戻り通信を許可し、PPPoE 側から始まる通信を既定で落とす最小例です。
configure
set firewall ipv4 input filter default-action 'accept'
set firewall ipv4 input filter rule 50 action 'drop'
set firewall ipv4 input filter rule 50 state 'invalid'
set firewall ipv4 input filter rule 100 action 'accept'
set firewall ipv4 input filter rule 100 state 'established'
set firewall ipv4 input filter rule 100 state 'related'
set firewall ipv4 input filter rule 900 action 'drop'
set firewall ipv4 input filter rule 900 inbound-interface name 'pppoe0'
set firewall ipv4 forward filter default-action 'accept'
set firewall ipv4 forward filter rule 50 action 'drop'
set firewall ipv4 forward filter rule 50 state 'invalid'
set firewall ipv4 forward filter rule 100 action 'accept'
set firewall ipv4 forward filter rule 100 state 'established'
set firewall ipv4 forward filter rule 100 state 'related'
set firewall ipv4 forward filter rule 900 action 'drop'
set firewall ipv4 forward filter rule 900 inbound-interface name 'pppoe0'
commit
saveこの例は PPPoE 側の境界だけを示しています。管理用 SSH、ICMP、公開サービス、IPv6 を使う場合は、必要な許可ルールを drop より前に追加します。全体を default drop にする場合は、LAN 側や管理経路の許可を先に設計してください。
LAN から外へ出す NAPT を設定する
LAN 端末のプライベートアドレスを PPPoE 側のアドレスへ変換します。PPPoE の割り当てアドレスは変わる可能性があるため、変換先には masquerade を使います。
configure
set nat source rule 500 outbound-interface name 'pppoe0'
set nat source rule 500 source address '192.168.10.0/24'
set nat source rule 500 translation address 'masquerade'
commit
saveNAPT はアドレス変換であり、通信許可や経路選択の代わりにはなりません。NAPT ルールが存在しても、PPPoE セッション、デフォルトルート、Firewall のいずれかが成立していなければ通信できません。
MTU と MSS を確認する
一般的な PPPoE では MTU 1492 が使われますが、回線方式やトンネルの重ね方によって実効 MTU は変わります。最初から固定の MSS 値を入れるのではなく、PPPoE インターフェイスの MTU と実際の通信を確認します。PMTUD が正しく働かず TCP 通信だけが止まる場合は、PPPoE インターフェイスで MSS clamp を有効にできます。
configure
set interfaces pppoe pppoe0 ip adjust-mss 'clamp-mss-to-pmtu'
commit
saveIPv6 も PPPoE 上で扱う場合は、IPv4 の ip adjust-mss とは別に ipv6 adjust-mss を検討します。IPv4 の設定だけで IPv6 の MSS が変わるわけではありません。
接続状態を順番に確認する
まず物理リンクと PPPoE セッションを確認し、次にアドレス、デフォルトルート、NAPT、Firewall、IP 疎通、名前解決の順に進みます。IP アドレス宛ての ping が通り、ドメイン名だけ失敗する場合は DNS 側の問題です。
show interfaces ethernet eth0
show interfaces pppoe pppoe0
show ip route
show nat source rules
show firewall ipv4 input filter
show firewall ipv4 forward filter
ping 8.8.8.8 count 4
ping www.example.com count 4接続できない場合の切り分け
| 症状 | 確認する場所 | 判断 |
|---|---|---|
pppoe0 が上がらない | eth0、認証情報、VLAN、サービス名 | PPPoE セッション成立前の問題 |
| アドレスは付くが外へ出られない | デフォルトルート、Firewall、NAPT | 経路・許可・変換を分けて見る |
| VyOS 自身は通るが LAN 端末は通らない | forward、NAPT、LAN 側経路 | 通過通信に限定した問題 |
| 一部の Web サイトだけ止まる | MTU、PMTUD、MSS、ICMP | パケットサイズ依存を疑う |
| IP 宛ては通るが名前で失敗する | DNS 設定、peer DNS | PPPoE そのものではなく名前解決の問題 |
| PPPoE を副回線にしたい | route distance、PBR、出口別 NAPT | 優先度と変換ルールを対応させる |
まとめ
VyOS 1.5 の PPPoE 接続では、物理 WAN 上に pppoe0 を作り、認証後に得られるアドレスとデフォルトルートを確認します。そのうえで、外部からの通信を Firewall で制御し、LAN から出る IPv4 通信を NAPT します。
接続障害は PPPoE 認証だけでなく、経路、Firewall、NAPT、MTU / MSS、DNS のどこでも起こります。物理リンクから名前解決まで順番に確認すると、問題の層を切り分けやすくなります。

