インターネット接続 IPv4 PPPoE 端末型

グローバルIPアドレスの割り当て数が1個のPPPoE接続サービスを利用する場合の設定例。

始める前に

PPPoE接続サービスの契約が必要です。

このタスクについて

一般的なPPPoE接続サービスを利用し、LAN内のクライアント端末にインターネットアクセスを提供します。

構成イメージ

サンプルコンフィグ

interface.pppoe0.id       : ${pppoe0_id}
interface.pppoe0.password : ${pppoe0_password}

route.ipv4.0.destination : default
route.ipv4.0.gateway     : pppoe0

interface.ge1.ipv4.address :${lan_address}${lan_prefixlen}

nat.ipv4.napt.0.private   : ${napt_private}
nat.ipv4.napt.0.interface : pppoe0

dns-forwarder.service                 : enable
dns-forwarder.0.address               : ipcp
dns-forwarder.listen.ipv4.0.interface : ge1

dhcp.server.service         : enable
dhcp.server.0.interface     : ge1
dhcp.server.0.pool.address  : ${pool_address}${lan_prefixlen}
dhcp.server.0.pool.count    : ${pool_count}
dhcp.server.0.dns.0.address : ${lan_address}

ntp.service          : enable
ntp.client.0.address : ${ntp_address}
 
resolver.service   : enable
resolver.0.address : ipcp

filter.ipv4.0.action              : pass
filter.ipv4.0.interface           : any
filter.ipv4.0.direction           : in
filter.ipv4.0.source.address      : 202.221.49.0/24
filter.ipv4.0.destination.address : self
filter.ipv4.0.logging             : off
filter.ipv4.2.action              : pass
filter.ipv4.2.interface           : any
filter.ipv4.2.direction           : in
filter.ipv4.2.source.address      : 202.221.50.0/23
filter.ipv4.2.destination.address : self
filter.ipv4.2.logging             : off

route.ipv4.10001.destination : 202.221.49.0/24
route.ipv4.10001.gateway     : pppoe0
route.ipv4.10001.distance    : 1
route.ipv4.10002.destination : 202.221.49.0/24
route.ipv4.10002.gateway     : discard
route.ipv4.10002.distance    : 100
route.ipv4.10003.destination : 202.221.50.0/23
route.ipv4.10003.gateway     : pppoe0
route.ipv4.10003.distance    : 1
route.ipv4.10004.destination : 202.221.50.0/23
route.ipv4.10004.gateway     : discard
route.ipv4.10004.distance    : 100

用意するパラメータ

項目 設定箇所 サンプル拠点 備考
PPPoE接続サービスから指定されたID ${pppoe0_id} s1user@s1.example.jp 置換必須
PPPoE接続サービスから指定されたパスワード ${pppoe0_password} s1passowrd 置換必須
SAのLAN側アドレス ${lan_address} 192.168.1.1
LANのサブネットマスク ${lan_prefixlen} /24
NAPT適用範囲 ${napt_private} 192.168.1.0-192.168.1.255
DHCPのアドレスプールの先頭 ${pool_address} 192.168.1.2
DHCPのアドレスプールの個数 ${pool_count} 253 192.168.1.2-192.168.1.254の範囲
NTPサーバアドレス ${ntp_address} 192.0.2.123 置換必須/無指定時はNTPが動作しない

コンフィグの説明

PPPoE (interface.pppoe0...)
IDとパスワードを設定するのみで接続可能です。設定が反映され次第接続を開始し、接続状態を維持します。
サービスから払い出されるIPアドレスが1個のサービスでは接続時にIPアドレスを自動取得可能なため、PPPoEインタフェースにアドレスを設定する必要はありません。
静的経路 (route.ipv4...)
デフォルト経路を設定し、ゲートウェイにPPPoEインタフェースを指定します。
サンプルでは末尾にSMFv2サービスの通信要件に当たる経路を記載していますが、デフォルト経路とゲートウェイが同一のため省略できます。
LANインタフェース (interface.ge1...)
LANのプライベートアドレスを設定します。
NAPT (nat.ipv4.napt...)
指定範囲に一致するプライベートアドレスを送信元とするパケットをPPPoEインタフェースから送信するときNAPTが適用されます。
SA自身がPPPoEインタフェースから送信する自発パケットは、送信元アドレスはPPPoEインタフェースのIPアドレスとなるため通常は適用されません。
DNS中継 (dns-forwarder...)
LAN内のホストからDNSクエリを受信し中継することができます。キャッシュ機能は持ちません。
PPPoE接続サービスではアドレス情報をIPCPで取得できるため、それによって取得したDNSを中継先に使用します。
DHCPサーバ (dhcp.server...)
LAN内のホストがアドレス設定を自動構成するための情報を提供します。
アドレスプールの個数は、払い出す先頭のアドレスからブロードキャストアドレスを含まない範囲を指定します。
NTPクライアント (ntp...)
システムの時刻合わせによりログ等の確認がしやすくなります。
ここではNTPクライアント機能のみ使用しNTPサーバ機能は無効化(デフォルト)しています。
注:
NTPサーバ機能を有効化する場合はオープンNTPとならないよう適切なフィルタリングを設定する必要があります。
リゾルバ (resolver)
SA自身が名前解決に使用します。
SMFv2モードでは必ず設定しなければなりません。
注:
リゾルバの設定誤りはSMFv2モードでモジュール同期が失敗する原因になります。
IPフィルタ (filter.ipv4...)
サンプルではSMFv2サービスの通信要件に当たるネットワークを明示的にパスしていますが、これを含む範囲をブロックするフィルタを設定しない場合は省略できます。
LAN側ネットワークはプライベートアドレスであり、かつ、NAPTを適用しているため、基本的にWAN側が起点となる通信はLAN側へ到達しません。

動作確認