Orange Pi R1 のSPIフラッシュにOSを入れてルーターにする

メニュー

pppd

PPPoEでプロバイダに接続できます。

kernel config
Device Drivers  --->
  [*] Network device support  --->
    <*>   PPP (point-to-point protocol) support
    <*>     PPP over Ethernet
カーネルサポートが必要です。

Buildroot
Target packages  --->
  Networking applications  --->
    [*] pppd
でビルドすればインストールできます。

初期状態で設定ファイルを置くディレクトリがありません。
# mkdir /etc/ppp
# mkdir /etc/ppp/peers

/etc/ppp/peers/provider
plugin rp-pppoe.so
eth0
name "プロバイダの接続ID"
usepeerdns
defaultroute
persist
ファイル名は好きなもので。接続の際にファイル名を指定します。
PPPoE接続の場合は"plugin rp-pppoe.so"が必要です。
eth0は終端装置に接続しているLAN。
nameがプロバイダのID。
usepeerdnsでプロバイダのDNSが利用できます。
defaultrouteでデフォルトゲートウェイとなります。
persistは切断した場合に再接続。

/etc/ppp/chap-secrets /etc/ppp/pap-secrets
プロバイダの接続ID * プロバイダの接続パスワード
2つのファイルはプロバイダの認証方式がCHAPの場合とPAPの場合で使い分けられますが、両方に書いておけばいいです。

# pon provider
で接続します。
ppp0(ネットワークインターフェイス)が出てきます。
providerは/etc/ppp/peers以下にあるファイル名です。

# poff provider
切断。

/etc/network/interfaces
auto eth0
iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        post-up pon provider
        pre-down poff provider
自動起動。

これで多くのページは見れるのですが、IP通信ではデータを1,500byte単位でフレーム化(MTU)して通信が行われ、
PPPoEではパケット内に追加データが入るためMTUを変更しないと見れないページがあります。
フレッツ接続の場合のMTUは最大で1454になります。
また、ルーター化する場合、クライアントのMTUは通常の1500なのでルーターが変換する必要があり、
nftables
# nft add rule ip filter forward oiftype ppp tcp flags syn tcp option maxseg size set 1414
とするとMSSを1414に変換できます。
MSSはMTUから40引いた値です。
[編集]   [AD]
rentafree.net