はじめに
筆者は、So-netのv6プラス環境下で、自宅サーバーを構築しているのですが、まだまだIPv4接続の需要は高く、IPv6接続一本に絞るというわけにはいかないのが現状です。
ということで、Arch LinuxサーバーにPPPoEパススルーを使って、v6プラス環境下でもIPv4/IPv6デュアルスタックを使えるようにしたときのメモを残しておきます。
PPPパッケージのインストール
プロバイダとの間にPPPoEセッションを張るために、PPPを使用します。
$ sudo pacman -S ppp
接続設定ファイルの編集
接続設定
まず、接続設定を行います。
/etc/ppp/peers/dsl-providerを編集します。
# PPPoE Plugin
plugin pppoe.so
# Network Interface
eth0
# Login Name
name "LOGIN NAME"
# Settings
usepeerdns
persist
defaultroute
replacedefaultroute
hide-password
noauth
noproxyarp
ここでは、外部とのネットワークインターフェースはeth0であることを想定しています。異なる場合は、適宜読み替えてください。LOGIN NAMEには、プロバイダから付与されている接続ユーザーのログイン名を書き込んでください。
シークレットファイル
つぎに、シークレットファイルを編集します。
/etttc/ppp/chap-secretsにログイン名とパスワードを書き込みます。
"LOGIN NAME" * "PASSWORD"
LOGIN NAMEとPASSWORDはそれぞれプロバイダから付与されている接続ユーザーのログイン名とそのパスワードを書き込んでください。
設定ファイルの有効化
先に編集したdsl-providerファイルを有効化します。
$ sudo ln -s /etc/ppp/peers/dsl-provider /etc/ppp/peers/provider
接続と切断
接続
PPPoE接続を確立するには、以下のコマンドを使います。
$ sudo pon
接続できているかどうかの確認をします。
$ ip a
これでppp0が表示されていればOKです。
切断
PPPoE接続を切断するには、以下のコマンドを使います。
$ sudo poff provider
ppp0をデフォルトルートに追加
PPPoE接続で張ったppp0をデフォルトルートに追加します。
$ sudo ip route add default dev ppp0
起動時に自動接続
起動時に自動的にPPPoE接続を確立するようにします。
まず、/etc/modules-load.d/ppp_generic.conf
というファイルを作成し、そこに以下の内容を書き込みます。
ppp_generic
つぎに、ppp@providerサービスを有効化します。
$ sudo systemctl enable ppp@provider.service
これで、起動時に自動的にPPPoE接続が確立され、IPv4での通信が可能になります。
まとめ
今回は、v6プラスでPPPoEを使ってIPv4/IPv6デュアルスタックを実現する方法を紹介しました。ただし、この方法はプロバイダがPPPoE接続を許可していることが前提となります。
PPPoE接続が許可されていない場合には、どうしたらよいのかは分かりません。もし良い案がありましたら、コメント頂けると幸いです。
それでは、よいLinuxサーバーライフを。