LoginSignup
11
8

More than 5 years have passed since last update.

Linuxルーターから、PPPoEによるインターネット接続を行う

Posted at

はじめに

自宅の回線を光回線に変え、Linux製自作ルータのWAN側ネットワーク設定を変えたので覚書。
こちらの記事を参考に、LinuxからPPP接続によるインターネット接続設定を行います:exclamation:

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
$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となっているインターフェースが対象です。

ip
$ifconfig -a
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether c0:3f:d5:60:c9:79  txqueuelen 1000  (Ethernet)

イーサネットが複数接続されている場合は、抜き差ししたりするとdmesgというコマンドでそのインターフェースの情報変更が確認出来るので、そこからどのインターフェース名がイーサネットと対応するか確認してください:smile:

こんな感じにインターフェース情報が表示されます(以下はeno1というインターフェースの情報):thumbsup:

$dmesg
...
[    8.863583] e1000e: eno1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None

pppoe-setupによるPPPoE設定

基本的には参考元の記事と同じ手順で設定を行います。:pray:
なので実際の表示は省略。設定の順番をまとめておくと以下になります。

  1. プロバイダーから割り当てられたインターネット接続IDの指定
  2. 使用するイーサネットのインターフェース指定
  3. 常時接続にするか?
  4. DNSの設定はプロバイダーのものを使用するか?(server or enter)
  5. プロバイダーから割り当てられたインターネット接続パスワードの指定
  6. 一般的なプロバイダでDSLで接続するか?らしい。固定IPを提供してくれるようなプロバイダに対してはnoにするみたいです。参考
  7. ファイヤーウォールの設定
  8. 設定を保存するか?

私の契約したプロバイダーの場合は、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値は前回設定のものが採用されていました。
なので間違えた:scream_cat:!となっても、全てを一から入力とはならないので、設定項目が多いけど慌てないでOK:exclamation:

ちなみに2度目以降は最初にインターフェース指定が出来るようになります。複数インターフェース作成も可能です:v:

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が割り当てられ、インターネットに接続できるようになります:laughing:

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で行います:thumbsup:

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サーバでポリシールーティングを行う方法

11
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
8