ページ

2020年6月20日土曜日

【pppoeconf】 Raspberry Pi で PPPoE 接続する

以前,以下のような記事を書いたが,そのときは WAN側のNICに DHCP で自動的に IP が付与されることを前提とした設定だった.今回は WAN 側で PPPoE 接続することで,本当の意味でルーターにできるようにする.

Raspberry Pi を 5.0GHz 無線アクセスポイント及びルーターにする

やり方は非常に簡単で,pppoeconf というツールを使って,ユーザー名とパスワードを入力するだけだ.

まず,pppoeconf ツールをインストールする
$ sudo apt install pppoeconf
(これから PPPoE 接続するんだから,ネットになんて繋がってねーよって人は,スマホでUSBテザリングでもして,何とかツールをインストールして欲しい)

インストールが完了したら,管理者権限でツールを起動する.
$ sudo pppoeconf

PPPoE 接続可能な NIC が検出されたら,接続方法等について色々と質問を受けるが,ユーザー名とパスワード以外は基本何も入力しないで Enter 連打すれば接続できる.

接続できれば良いだけ場合は,話はこれだけなのだが,pppoeconfツールを使用できない環境や,ツールによって既存の設定ファイルが書き換えられるのを避けたい場合もあるかもしれない.

そんなときのために設定ファイルを手動で書き換えて接続する方法を調べた.(実は本記事の本題はこっち)

調べた方法は,pppoeconf使用前に /etc 以下のファイルをすべてtarボールに固めておき(etc1.tar.gzとか),pppoeconf使用後にすかさず,/etc 以下のファイルを別の tarボールに固め(etc2.tar.gzとか),両者を展開して比較するという力技(笑)

余談だが,/etc 以下にはシンボリックリンクも多数存在するため,diffを取るとエラーがたくさん出てくるかもしれない.diffコマンドでシンボリックリンクを無視するオプションは,--no-dereference なので覚えておくと良い.


違いが検出されたのは以下のファイルだった.

内容が変更されていたファイル
/etc/network/interfaces
/etc/ppp/chap-secrets
/etc/ppp/pap-secrets
/etc/resolv.conf

新規作成されていたファイル
/etc/ppp/ip-down.d/0clampmss
/etc/ppp/ip-up.d/0clampmss
/etc/ppp/peers/dsl-provider
/etc/ppp/resolv.conf

それぞれ変更点または記述内容を下記に示す.

■/etc/network/interfaces(以下の内容が追記された)
 auto dsl-provider
 iface dsl-provider inet ppp
 pre-up /bin/ip link set eth0 up # line maintained by pppoeconf
 provider dsl-provider
 
 auto eth0
 iface eth0 inet manual

■/etc/ppp/chap-secrets 及び /etc/ppp/pap-secrets(以下の内容が追記された)
"ユーザー名" * "パスワード"

■/etc/resolv.conf(以下の内容変更された)
(追加)nameserver 218.176.253.97
(追加)nameserver 218.176.253.65
---
(削除)nameserver 192.168.42.129
(削除)nameserver 240b:c020:420:e1b0::7e
検索すればすぐにわかるが,追加されたIPはソフトバンク光ユーザー向けのDNSサーバー.

■/etc/ppp/ip-down.d/0clampmss(以下の内容で作成された)
#!/bin/sh
# Disable MSS clamping (autogenerated by pppoeconf)

iptables -t mangle -L -n -v --line-numbers | grep "TCPMSS.*$PPP_IFACE.*clamp" | cut -f1 -d " " | sort -r | xargs -n1 -r iptables -t mangle -D FORWARD

■/etc/ppp/ip-up.d/0clampmss(以下の内容で作成された)
#!/bin/sh
# Enable MSS clamping (autogenerated by pppoeconf)

iptables -t mangle -o "$PPP_IFACE" --insert FORWARD 1 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu

■/etc/ppp/peers/dsl-provider(以下の内容で作成された)
# Minimalistic default options file for DSL/PPPoE connections

noipdefault
defaultroute
replacedefaultroute
hide-password
#lcp-echo-interval 30
#lcp-echo-failure 4
noauth
persist
#mtu 1492
#persist
#maxfail 0
#holdoff 20
plugin rp-pppoe.so eth0
user "ユーザー名"
usepeerdns

■/etc/ppp/resolv.conf(以下の内容で作成された)
nameserver 218.176.253.97
nameserver 218.176.253.65


0 件のコメント:

コメントを投稿