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:          [プロバイダーの接続ID]
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
```

rp-pppoeを使わないNetworkManagerでの設定の場合
カーネルモードってあるのかしら？
どうやって設定するのかな？