タグ「Linux」の一覧

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クライアントのルータ等で確認が取れる

どのサービスも反応しなくなり、sshでもログインできない・・・・・・ ログインした後のプロンプトが返ってこない

急になんで?って事で、logを確認したらこんな事が・・・

Jan 23 05:38:52 localhost kernel: INFO: task kthreadd:2 blocked for more than 12
0 seconds.
Jan 23 05:38:52 localhost kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_s
ecs" disables this message.
Jan 23 05:38:52 localhost kernel: kthreadd        D ffff880118b83900     0     2
      0 0x00000000
Jan 23 05:38:52 localhost kernel: ffff880118b836c0 0000000000000046 ffff880118b1
0b80 ffff880118b83fd8


そのあと、色々あるのですが、どうもこのせいでカーネルが止まったらしい・・・・・


googleに載っていますが、

INFO: task kthreadd:2 blocked for more than 120 seconds.

「RAIDブロックデバイスが120秒間返答なしでタイムアウトでハングした」


って事らしいので、ログに書いてある通り、下記のコマンドを実行

#echo 0 > /proc/sys/kernel/hung_task_timeout_secs


と記述。再起動しても、値が0のままだったので、しばらく様子見をすることに・・・

 

(他の方の記事に、これをしても再発したって書いてあったので・・・)



ついでに/var/log/messagesの大量のログが気になった為、
/etc/systemd/system.confのLogLevelを変更

#LogLevel=info
  ↓
LogLevel=notice

に変更しました。

CentOS7を使って、VPNサーバを構築しようとしているのですが、CentOS6から大きく変わったことに、しばらく気が付かず、コマンド設定しようとしてびっくり!!!うわ~~ 恥ずかしい・・・・・・


やっぱり日頃ちゃんとさわっていないとダメだな~~と改めて感じました。


インストールは、画面通りで、行えばよいと思いますが、ぼくの場合は、後、最少構成に、以下の項目もチェックをいれてインストールしました。

  • デバックツール、 
  • 互換性ライブラリ、 
  • 開発ツール、 
  • セキュリティツール、 
  • スマートカードサポート、 
  • その他開発

 

それで、インストール後に、CUIでネットワークを設定。以下のコマンドです。

(CentOSは、/etc/sysconfig/network-scripts/ifcfg~~を直接編集はおすすめをあまりしないそうです。)

※ ホスト名設定
[root@localhost ~]# hostnamectl set-hostname hogehoge.localdomain

# デバイス確認
[root@hogehoge ~]# nmcli d  →d はdeviceの略
DEVICE        TYPE   STATE      CONNECTION
ems32   ethernet  connected  ens32
lo          loopback  unmanaged   --

デバイスの命名規則も、変更になったようです。http://thinkit.co.jp/story/2014/12/25/5412を参照してください。

 

今回は、eth0にあたるのは、ems32です。

※デバイス設定を確認

[root@hogehoge ~]# nmcli d show ens32
GENERAL.デバイス:                       ens32
GENERAL.タイプ:                         ethernet
GENERAL.ハードウェアアドレス:           XX:XX:XX:XX:XX:XX
GENERAL.MTU:                            1500
GENERAL.状態:                           100 (接続済み)
GENERAL.接続:                           ens32
GENERAL.CON パス:                       /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.キャリア:              オン
IP4.アドレス[1]:                        192.168.1.2/24
IP4.ゲートウェイ:                       192.168.1.1
IP4.DNS[1]:                             192.168.1.1
IP6.アドレス[1]:                        2001:a497:c004:0:7271:bcff:fe3e:fcc5/64
IP6.アドレス[2]:                        fe80::7271:bcff:fe3e:fcc5/64
IP6.ゲートウェイ:                       fe80::225:36ff:fe7c:60eb
IP6.ルート[1]:                          dst = 2001:a497:c004::/64, nh = ::, mt = 100
IP6.DNS[1]:                             2001:a497:c004:0:225:36ff:fe7c:60eb1500 GENERAL.STAT

 

 ※ 固定IPv4アドレス設定 (cは、connectionの略です)

 [root@hogehoge ~]# nmcli c modify ens32 ipv4.addresses 192.168.1.250/24

※ デフォルトゲートウェイ設定
[root@hogehoge ~]# nmcli c modify ens32 ipv4.gateway 192.168.1.1

※ DNS設定
[root@hogehoge ~]# nmcli c modify ens32 ipv4.dns 192.168.1.1

※ IP固定割り当てに設定します。DHCP は "auto"になります
[root@hogehoge ~]# nmcli c modify ens32 ipv4.method manual

# インターフェースを再起動して設定を反映
[root@hogehoge ~]# nmcli c down ems32

[root@hogehoge ~]# nmcli c up ens32
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)

 

次回は、リモートで設定するために、SSHの設定をします。


最初に書いた、Linuxのインストール時に、Webサーバの機能をインストールされている前提で、MTをダウンロードしてインストールします。

 

これは、検証用ですので、各ユーザが、自分のディレクトリにインストールという形ではなく、/var/www/MTというディレクトリにインストールします。

/home/以下のユーザディレクトリに入れたい方は、置き換えて記述してください。ユーザ設定は、各ユーザグループにapacheが参加している形で動作すると思います。

 

 

下記のアクセスして、メールアドレスを登録すると、ダウンロードサイトに案内されます。(個人無料版です)

https://www.sixapart.jp/inquiry/movabletype/personal_download.html

 

ダウンロードをしたら、Linuxにダウンロードしたファイルをコピーします。(SCP、FTPで転送しても良いし、USBでコピーしてでもなんでも良いです)

 

ファイルを、root直下に置いたとします。(構築当時は、MTは5.2.3だったので、それで記述します)

[root@hori ~]# unzip MT-5_2_3.zip

[root@hori ~]#mv MT-5_2_3 /var/www/html/MT ←MTフォルダに移動

[root@hori ~]#cd /var/www/html

[root@hori html]#chown -R apache:apache MT/ ←ユーザをapacheに変更

 [root@hori html]# cd MT

[root@hori html]# chmod 755 *.cgi ←拡張子がcgiの権限を755に変更

[root@hori html]# chmod 777 MT ←ブログディレクトリ(ブログを設定するディレクトリ)権限を777に変更

 

 

 

これで、準備は完了で、また、apacheと、MySQLの設定があります。次は、apacheの設定をします。

 

Movable TypeをLinuxで動作させる上で

Perl 5.8.1 以上

ウェブサーバー: Apache
       
データベースサーバ :MySQL バージョン5.0

が必要ですが、Perlで、標準パッケージ以外にも必要なものが多い為、標準リポジトリで提供されないパッケージをyumでインストールできるようにするrpmforgeをインストールします。

 

yumの設定変更

[root@hori ~]yum -y install yum-plugin-priorities

[root@hori ~]vi /etc/yum.repos.d/CentOS-Base.repo

[root@hori ~]# vi /etc/yum.repos.d/CentOS-Base.repo

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1 

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1 

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo
=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1 

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo
=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 

gpgキーをダウンロードして、インポートします

[root@hori ~]# cd /etc/pki/rpm-gpg/
[root@hori rpm-gpg]# wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
[root@hori rpm-gpg]# rpm --import RPM-GPG-KEY.dag.txt

 

Linuxを32bitのマシンに入れた為、32bitのパッケージをインストールします。CentOSのバージョンや時期によって、rpmforgeのバージョンは違いますが、これは、CentOS6の32bitマシンにインストールしようとしているところです。

[root@hori ~]#cd /root

[root@hori ~]# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

[root@hori ~]# yum -y update rpmforge-release

これで、rpmforgeを完了です。

 

 

次は、rpmパッケージにして管理しやすくするために、capn2rpmを入れるやり方を記述します

このページの上部へ

ネットワーク、パソコン サーバ設定

ネットワーク構築ホリテック

 

紆余曲折しながら、独立して中小企業様向けのネットワーク構築
保守、パソコン サーバ、設定運用管理を行っています。ホームページの作成も行っています

ホームページ

 

facebook

 

icon icon

 

マウスコンピューター/G-Tune マウスコンピューター/G-Tune Microsoft Store (マイクロソフトストア) Microsoft Store (マイクロソフトストア)

サイト内検索

にほんブログ村 IT技術ブログへ
にほんブログ村

にほんブログ村 IT技術ブログ ネットワーク・SEへ
にほんブログ村

最近のピクチャ

  • maltipointtonnel_kensyo.png
  • 検証用ネットワーク.png