はじめに
自宅の回線を光回線に変え、Linux製自作ルータのWAN側ネットワーク設定を変えたので覚書。
こちらの記事を参考に、LinuxからPPP接続によるインターネット接続設定を行います
rp-pppoeパッケージインストール
rp-pppoeをインストールします。
yum install rp-pppoe
今回紹介するコマンドは以下です。
コマンド | 用途 |
---|---|
pppoe-setup | PPPoEの設定を行い、PPPoE用のインターフェースを作成する(デフォルトはppp0) |
pppoe-start | PPPoE接続を開始する |
pppoe-stop | PPPoE接続を終了する |
pppoe-connect | PPPoE接続を行う |
pppoe-status | PPPoE接続状態を表示する |
pppインターフェース作成
イーサネットのインターフェース名を確認
まずは光回線で使用するイーサネットのインターフェース名を確認します。記事ではnmcli
を使用していたので、ここではifconfig
, ip
での確認方法を紹介。
ip
の場合は、インターフェース名の次の行がlink/etherとなっているインターフェースが対象です。
$ip addr
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether c0:3f:d5:60:c9:79 brd ff:ff:ff:ff:ff:ff
ifconfig
の場合は、インターフェース名のlink/etherとなっているインターフェースが対象です。
$ifconfig -a
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether c0:3f:d5:60:c9:79 txqueuelen 1000 (Ethernet)
イーサネットが複数接続されている場合は、抜き差ししたりするとdmesg
というコマンドでそのインターフェースの情報変更が確認出来るので、そこからどのインターフェース名がイーサネットと対応するか確認してください
こんな感じにインターフェース情報が表示されます(以下はeno1
というインターフェースの情報)
$dmesg
...
[ 8.863583] e1000e: eno1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
pppoe-setupによるPPPoE設定
基本的には参考元の記事と同じ手順で設定を行います。
なので実際の表示は省略。設定の順番をまとめておくと以下になります。
- プロバイダーから割り当てられたインターネット接続IDの指定
- 使用するイーサネットのインターフェース指定
- 常時接続にするか?
- DNSの設定はプロバイダーのものを使用するか?(server or enter)
- プロバイダーから割り当てられたインターネット接続パスワードの指定
- 一般的なプロバイダでDSLで接続するか?らしい。固定IPを提供してくれるようなプロバイダに対してはnoにするみたいです。参考
- ファイヤーウォールの設定
- 設定を保存するか?
私の契約したプロバイダーの場合は、DNSもプロバイダーが動的に割り振る形でした。
なので、以下DNSの設定⇒serverを入力。
DNS
Please enter the IP address of your ISP's primary DNS server.
If your ISP claims that 'the server will provide dynamic DNS addresses',
enter 'server' (all lower-case) here.
If you just press enter, I will assume you know what you are
doing and not modify your DNS setup.
Enter the DNS information here:
また、設定を保存しておくと、2度目の設定時のdefault値は前回設定のものが採用されていました。
なので間違えた!となっても、全てを一から入力とはならないので、設定項目が多いけど慌てないでOK
ちなみに2度目以降は最初にインターフェース指定が出来るようになります。複数インターフェース作成も可能です
Welcome to the PPPoE client setup. First, I will run some checks on
your system to make sure the PPPoE client is installed properly...
The following DSL config was found on your system:
Device: Name:
ppp0 DSLppp0
Please enter the device if you want to configure the present DSL config
(default ppp0) or enter 'n' if you want to create a new one:
pppoe-start/pppoe-connectによる接続
pppインターフェースを作成しただけではインターネット接続は出来ません。PPPoEの接続を行います。
pppoe-start
うまく接続できるとこのようにグローバルIPが割り当てられ、インターネットに接続できるようになります
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1454
inet 143.189.89.40 netmask 255.255.255.255 destination 120.74.156.146
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 195430 bytes 232413820 (221.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 87227 bytes 17383286 (16.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pppoe-statusの表示はこんな感じ。
pppoe-status: Link is up and running on interface ppp0
8: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1454 qdisc pfifo_fast state UNKNOWN group default qlen 3
link/ppp
inet 143.189.89.40 peer 120.74.156.146/32 scope global ppp0
valid_lft forever preferred_lft forever
pppoe-connectだとこんな感じ。
$pppoe-connect
...
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
CHAP authentication succeeded
CHAP authentication succeeded
local IP address 182.170.117.199
remote IP address 210.132.217.106
primary DNS address 202.238.95.24
secondary DNS address 202.238.95.26
停止はpppoe-stopで行います
pppoe-stop
これでWANインターフェースがppp0
になるので、LANルーターとして使う場合はIPマスカレード設定もppp0
向けに設定してあげればOKです。
iptables -t nat -F
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1 > /dev/null
参考
CentOS7.4でPPPoE接続 rp-pppoe編
マルチホーム環境のLinuxサーバでポリシールーティングを行う方法