CentOS7.4でPPPoE接続 rp-pppoe編

パッケージインストール

rp-pppoeを入れる

# yum -y install rp-pppoe

NICの確認

# nmcli c
名前 UUID タイプ デバイス
ens192 c019c2ff-5674-43ae-a917-fa6f96614d7a 802-3-ethernet ens192
ens224 059706f2-4077-424d-9d23-214bcf6441a4 802-3-ethernet ens224
ens256 c031fe2d-6976-45b3-9ba9-f1c8e32ddd3d 802-3-ethernet ens256

PPPoEの設定

下記コマンドでプロバイダーの接続ID・パスワードなどを設定する。

# pppoe-setup

プロバイダーの接続IDを指定

Welcome to the PPPoE client setup. First, I will run some checks on
your system to make sure the PPPoE client is installed properly...

LOGIN NAME

Enter your Login Name (default root): [プロバイダーの接続ID]

ens192にPPPoE接続を割り当てる

INTERFACE

Enter the Ethernet interface connected to the PPPoE modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethX, where 'X' is a number.
(default eth0): ens192

常時接続環境の場合はデフォルトno
そのままエンター

Do you want the link to come up on demand, or stay up continuously?
If you want it to come up on demand, enter the idle time in seconds
after which the link should be dropped. If you want the link to
stay up permanently, enter 'no' (two letters, lower-case.)
NOTE: Demand-activated links do not interact well with dynamic IP
addresses. You may have some problems with demand-activated links.
Enter the demand value (default no):

/etc/resolv.confを参照してほしいので
そのままエンター

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:

プロバイダーの接続パスワードを入力

PASSWORD

Please enter your Password: [プロバイダーの接続パスワード]

一般ユーザーでも接続できるのか という設定だと思う。
とりあえずyesにしておく。

USERCTRL

Please enter 'yes' (three letters, lower-case.) if you want to allow
normal user to start or stop DSL connection (default yes):

ファイヤーウォールの設定
firewalld側で設定するのでとりあえず0を指定

FIREWALLING

Please choose the firewall rules to use. Note that these rules are
very basic. You are strongly encouraged to use a more sophisticated
firewall setup; however, these will provide basic security. If you
are running any servers on your machine, you must choose 'NONE' and
set up firewalling yourself. Otherwise, the firewall rules will deny
access to all standard servers like Web, e-mail, ftp, etc. If you
are using SSH, the rules will block outgoing SSH connections which
allocate a privileged source port.

The firewall choices are:
0 - NONE: This script will not set any firewall rules. You are responsible
for ensuring the security of your machine. You are STRONGLY
recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
for a LAN
Choose a type of firewall (0-2): 0

1,2の場合は接続時に下記スクリプトが実行されるので
細かい設定が出来る。
例えば、マルチホーミング時のゲートウェイの設定とか

/etc/ppp/firewall-masq
/etc/ppp/ip-up

設定を保存しますか?
yを設定

** Summary of what you entered **

Ethernet Interface: ens192
User name: 50921_01@n-f.ipq.jp
Activate-on-demand: No
DNS: Do not adjust
Firewalling: NONE
User Control: yes
Accept these settings and adjust configuration files (y/n)? y

以上で設定完了。
ifcfg-ppp0が生成される。

/etc/sysconfig/network-scripts/ifcfg-ppp0

カーネルモードの方が負荷がかからなく、速度も出るらしいので設定する。

# vi /etc/sysconfig/network-scripts/ifcfg-ppp0

LINUX_PLUGIN=/usr/lib64/pppd/2.4.5/rp-pppoe.soを追加

USERCTL=yes
BOOTPROTO=dialup
NAME=DSLppp0
DEVICE=ppp0
TYPE=xDSL
ONBOOT=yes
PIDFILE=/var/run/pppoe-adsl.pid
FIREWALL=NONE
PING=.
PPPOE_TIMEOUT=80
LCP_FAILURE=3
LCP_INTERVAL=20
CLAMPMSS=1412
CONNECT_POLL=6
CONNECT_TIMEOUT=60
DEFROUTE=yes
SYNCHRONOUS=no
ETH=ens192
PROVIDER=DSLppp0
USER=[プロバイダーの接続ID]
PEERDNS=no
DEMAND=no
LINUX_PLUGIN=/usr/lib64/pppd/2.4.5/rp-pppoe.so

CentOS7.4でPPPoE接続 NetworkManager編

パッケージインストール

NetworkManager-pppを入れる

# yum -y install NetworkManager-ppp

rp-pppoeは不要みたい。

第14章 ネットワーク PPP サポートの別パッケージへの移動

今回の更新では Point-to-Point Protocol (PPP) サポートが別のオプションの NetworkManager-ppp パッケージに移動されました。そのため、NetworkManager の依存関係チェーンが少なくなり、インストールするパッケージの数を減らすことができます。
PPP 設定を設定するには、NetworkManager-ppp パッケージがインストールされていることを確認する必要があります (BZ#1404598)。

NICの確認

# nmcli c
名前    UUID                                  タイプ          デバイス
ens192  c019c2ff-5674-43ae-a917-fa6f96614d7a  802-3-ethernet  ens192
ens224  059706f2-4077-424d-9d23-214bcf6441a4  802-3-ethernet  ens224
ens256  c031fe2d-6976-45b3-9ba9-f1c8e32ddd3d  802-3-ethernet  ens256

PPPoEを作る

デバイスens192にPPPoE接続を割り当てる

# nmcli connection add type pppoe ifname ens192 con-name PPPoE username "プロバイダーの接続ID" password "プロバイダーの接続パスワード" mtu 1454

NICの確認

# nmcli c

PPPoEが追加された。

名前    UUID                                  タイプ          デバイス
ens192  9e9db3a4-1d1a-427d-980c-4993e4fe0834  802-3-ethernet  ens192
ens224  db538819-ff73-42eb-b6c4-62ff5cd084b4  802-3-ethernet  ens224
ens256  29dbd856-b0fc-4f96-9759-b6a1087e3f01  802-3-ethernet  ens256
PPPoE   f877fafc-2c29-4177-b413-d803b819c9a1  pppoe           --       

ちなみに削除は

# nmcli connection delete f877fafc-2c29-4177-b413-d803b819c9a1

NICの自動起動

PPPoEをオンにしてens192はオフにしておく

# nmcli con mod ens192 connection.autoconnect "no"
# nmcli con mod PPPoE connection.autoconnect "yes"

MTU MRUの設定

# nmcli connection modify PPPoE ppp.mtu 1454
# nmcli connection modify PPPoE ppp.mru 1454

接続・切断してみる

接続

# nmcli c up PPPoE
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/10)

切断

# nmcli c down PPPoE
接続 'PPPoE' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/10)

接続できたか確認してみる

# ip a

ppp0が追加された。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:50:56:a0:4d:bf brd ff:ff:ff:ff:ff:ff
inet 192.168.1.131/24 brd 192.168.1.255 scope global ens224
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fea0:4dbf/64 scope link
valid_lft forever preferred_lft forever
3: ens256: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:50:56:a0:7f:b8 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.132/24 brd 192.168.1.255 scope global ens256
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fea0:7fb8/64 scope link
valid_lft forever preferred_lft forever
4: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 68:05:ca:1f:fa:f3 brd ff:ff:ff:ff:ff:ff
inet6 fe80::feaf:5ff6:82f4:c057/64 scope link
valid_lft forever preferred_lft forever
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1454 qdisc pfifo_fast state UNKNOWN qlen 3
link/ppp
inet [割り当てられたグローバルIP] peer [プロバイダー側のIP] scope global ppp0
valid_lft forever preferred_lft forever

pppdのプロセス確認 (2017/12/13追記)

# ps aux | grep ppp | grep v
root      1376  0.0  0.0 229980  4592 ?        Sl   12月12   0:00 /usr/sbin/pppd nodetach lock nodefaultroute ipv6 , user [プロバイダーの接続ID] plugin rp-pppoe.so nic-ens192 noauth nodeflate usepeerdns mru 1454 mtu 1454 lcp-echo-failure 0 lcp-echo-interval 0 idle 0 ipparam /org/freedesktop/NetworkManager/PPP/2 plugin /usr/lib64/pppd/2.4.5/nm-pppd-plugin.so

plugin rp-pppoe.soと記述があるので、カーネルモードになってるっぽい?