ネットワーク構築 パソコン設定 サーバ構築 無線LAN構築 名古屋市 豊田市

ホリテック ブログ 最新投稿

CentOS7でPPPoEサーバ兼ルータを構築

CentOS7で、VPN検証の為、仮のインターネット環境を作成。 pppoeサーバと、iptablesを利用したNATルータにする為、CentOS7のNICを2枚にする。

※間違っていたらすいません。CentOSは最少構成でインストールしていないので、条件が違うのはご容赦ください)

それと、色々情報をあげていている方々ありがとうございます。参照したサイトのリンクも貼らせていただきました。

ネットワークはこんな感じ

 

検証用ネットワーク.png

 

NICを追加するが、前提条件として、インターネット側にでるNICを追加したNIC。検証ネットワーク側を、元々ついていたNICにする。

NICを選定

AX88179というチップのNICは、自動認識してくれるので、だいぶ前に買った、logitec LAN-GTJU3を使用することに。

挿したらすぐに認識された。

状態確認

[root@samba_test ~]#  lsusb
  Bus 002 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

状態確認

[root@localhost ~]# nmcli d
 デバイス     タイプ    状態      接続
 virbr0       bridge    接続済み  virbr0
 enp0s29f7u4  ethernet  接続済み  有線接続 1
 ens32        ethernet  接続済み  ens32
 lo           loopback  管理無し  —
 virbr0-nic   tun       管理無し  —
 wls33        wifi      管理無し  —

PLANEXのUSBタイプのNICで USB-LAN100R、USB-LAN1000Rが自動認識してくれるらしいから、これでも良いかも。(参照:http://blog.treedown.net/entry/2016/06/12/010000

長い名前が勝手につくので、変更する。 ちなみに、私のノートPCの場合、日本語で「有線接続 1」って勝手についた為、「eth-usb1」と変えた。
参考:http://www.maruko2.com/mw/NetworkManager_CLI_(nmcli)_%E3%81%A7%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95

[root@samba_test ~]# nmcli c m “有線接続 1" connection.interface-name eth-usb1 connection.id enp0s29f7u4
[root@samba_test ~]#

 

PPPoEサーバインストール 

[root@samba_test ~]#yum install ppp rp-pppoe
[root@samba_test ~]#

参照:http://www.kroom.net/index.php?Linux%2FPPPoE%E3%82%B5%E3%83%BC%E3%83%90

上記の記載通りに、SELinuxも無効にする。
SELINUX=enforcing

SELINUX=disabled  に変更

[root@samba_test ~]# vi /etc/selinux/config
 # This file controls the state of SELinux on the system.
 # SELINUX= can take one of these three values:
 #     enforcing – SELinux security policy is enforced.
 #     permissive – SELinux prints warnings instead of enforcing.
 #     disabled – No SELinux policy is loaded.
 #SELINUX=enforcing
 SELINUX=disabled
 # SELINUXTYPE= can take one of three two values:
 #     targeted – Targeted processes are protected,
 #     minimum – Modification of targeted policy. Only selected processes are protected.
 #     mls – Multi Level Security protection.
 SELINUXTYPE=targeted
[root@samba_test ~]#
[root@samba_test ~]#

ネットワーク設定 

IP設定、ルーティングを有効、

ネットワークマネージャーを止める 

自分が確認した所、CentOS7から導入されているネットワークマネージャーが動作していると、PPPoEサーバの設定がうまくいかないので、(IPアドレスを0.0.0.0って設定しようとすると、ネットワークマネージャーがインターフェースを落としてしまうため、PPPoEがしゃべれない)

[root@samba_test ~]# systemctl stop network
[root@samba_test ~]#

再起動した時に、動作しないようにしたい場合は、続けて

[root@samba_test ~]# systemctl disable network
[root@samba_test ~]#

ルーティングを有効にする

[root@samba_test ~]# vi /etc/sysctl.d/10-ipv4.conf
 net.ipv4.ip_forward = 1

 

 

PPPoE設定 

PAP,CHAP認証を設定

[root@samba_test ~]# vi /etc/ppp/pppoe-server-options
 # PPP options for the PPPoE server
 # LIC: GPL
 require-pap
 require-chap
 #login
 lcp-echo-interval 10
 lcp-echo-failure 2

CHAP、PAP登録

[root@samba_test ~]#
[root@samba_test ~]#
[root@samba_test ~]# vi /etc/ppp/chap-secrets
 # Secrets for authentication using CHAP
 # client        server  secret                  IP addresses
 test@test * test *
 test1@test * test 10.0.0.1

構文は
“ユーザ名" “リモートサーバ名" “パスワード" “割り当てIPアドレス" の順に、半角スペースをいれる。固定IPアドレスを使い時以外は。割り当てIPはワイルドカードでよい。あくまで検証用なので、上記の用に、固定IPアドレスを振りたい相手と、不定のIPアドレスでよいパターンとを作ると、インターネットVPNみたいな仮環境にできる。
リモートサーバ名は、ワイルドカードで良い。

[root@samba_test ~]# vi /etc/ppp/pap-secrets
 # Secrets for authentication using CHAP
 # client        server  secret                  IP addresses
 test@test * test *
 test1@test * test 10.0.0.1

PPPoEサーバを起動させる 

PPPoEの受け口のNICのIPアドレス設定 

一回落として、0.0.0.0のIPアドレスを振る。

[root@samba_test ~]#ifdown ens32
[root@samba_test ~]#ifconfig ens32 0.0.0.0 up
[root@samba_test ~]#

 

 

 

PPPoEサーバ起動 

[root@samba_test ~]#pppoe-server -I ens32 -L 10.0.0.254
[root@samba_test ~]#

常時起動したい時は、起動スクリプトを作成し、登録。自分はあくまで検証の為、常時起動させたくなかったので、作成せず。
起動スクリプト作成方法参照:
http://www.kroom.net/index.php?Linux%2FPPPoE%E3%82%B5%E3%83%BC%E3%83%90

iptablesの設定 

firwwalldを止めてから、IPマスカレードの設定をする。

firewalldを止める。

[root@samba_test ~]#systemctl stop firewalld
[root@samba_test ~]#

再起動時にもどうさせたくない時は、下記を行う

[root@samba_test ~]#systemctl disable firewalld
[root@samba_test ~]#

 

iptablesの設定 

すべての設定を初期化してから、投入

[root@samba_test ~]#iptables -F
[root@samba_test ~]#
[root@samba_test ~]#iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE
[root@samba_test ~]#

IPマスカレード(NAT)の設定を確認

 

[root@samba_test ~]#
[root@samba_test ~]# iptables -t nat -L
  Chain PREROUTING (policy ACCEPT)
  target     prot opt source               destination
 
  Chain INPUT (policy ACCEPT)
  target     prot opt source               destination
 
  Chain OUTPUT (policy ACCEPT)
  target     prot opt source               destination
 
  Chain POSTROUTING (policy ACCEPT)
  target     prot opt source               destination
  MASQUERADE  all  —  10.0.0.0/24          anywhere

これで、PPPoEで接続したネットワークから、インターネットにも接続できるはず。
確認は、/var/log/messagesと、ifconfig及び、検証ネットワークのPPPoEクライアントのルータ等で確認が取れる

Linuxcentos7,Linux,PPPoEサーバ