手当たり次第に書くんだ

飽きっぽいのは本能

VyOS PPPoE インターネット接続設定 – Firewall / NAPT / MTU を確認する

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 とします。

この記事の結論

  • PPPoE の下位インターフェイスは物理 WAN、外向きの論理インターフェイスは pppoe0 として扱う
  • VyOS 1.5 では認証ユーザー名を authentication username に設定する
  • デフォルトルートは通常 PPPoE 接続時に自動で入るため、経路表で確認する
  • Firewall の inputforward でルーター自身宛て通信と通過通信を分ける
  • LAN 端末を外へ出す場合は pppoe0 を出口にした NAPT を設定する
  • PPPoE 固有の MTU 問題には、まず PMTUD を確認し、必要なら MSS clamp を使う

PPPoE 接続を構成する要素

PPPoE は Ethernet 上に PPP セッションを作ります。物理 WAN と PPPoE 論理インターフェイスの責務を分けておくと、障害時にどこまで成立しているかを追いやすくなります。

要素役割主な確認対象
eth0PPPoE フレームを運ぶ物理 WANリンク状態、必要な VLAN
pppoe0ISP との PPP セッション認証、割り当てアドレス、MTU
デフォルトルートインターネット向けの出口PPPoE 接続時に経路が入ったか
Firewall受信・通過通信の許可input と forward の境界
NAPTLAN の送信元アドレス変換出口が 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
save

NAPT はアドレス変換であり、通信許可や経路選択の代わりにはなりません。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
save

IPv6 も 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 DNSPPPoE そのものではなく名前解決の問題
PPPoE を副回線にしたいroute distance、PBR、出口別 NAPT優先度と変換ルールを対応させる

まとめ

VyOS 1.5 の PPPoE 接続では、物理 WAN 上に pppoe0 を作り、認証後に得られるアドレスとデフォルトルートを確認します。そのうえで、外部からの通信を Firewall で制御し、LAN から出る IPv4 通信を NAPT します。

接続障害は PPPoE 認証だけでなく、経路、Firewall、NAPT、MTU / MSS、DNS のどこでも起こります。物理リンクから名前解決まで順番に確認すると、問題の層を切り分けやすくなります。

関連する記事
VyOS PPPoE インターネット接続設定 – Firewall / NAPT / MTU を確認する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る