Linux 一覧

すげ~~ 簡単な話ですが、NTPで時間を取得してから、サービスを起動したいって事がありまして、そこで考えたのが、サービスを眠らさせて、NTPでちゃんと時間を取得してから動かせば!!

 

って思って、やったのが、

/usr/lib/systemd/system内の該当サービスのUnit内のAfterに追加した上で、sleppを追記し、chronyが時間を取得する時間を作る。

例えばclamavサービスの

[root@vpn-rpi3 ~]# vi clamd@.service

[Unit]

Description = clamd scanner (%i) daemon

After = syslog.target nss-lookup.target network.target chronyd.service   <----chronyd.serviceを追加

[Service]

Type = simple

ExecStartPre = /bin/sleep 90    <----スタート前に実行するコマンドを追記

ExecStart = /usr/sbin/clamd -c /etc/clamd.d/%i.conf --foreground=yes

Restart = on-failure

PrivateTmp = true

て感じで、やってみました。

歳をとったせいもあるのですが、2週間前に、調べながらできたことが、2週間後にはできなくなっていた・・・・・

 

やっぱり、スキルアップの為にやっていることでもありますが、検証しながらマニュアルというか、自分手順書を作らねば!って改めて思いました。

 

ローカル内のWebサーバにPukiwikiを立てて、マニュアル作成していたのですが、3年ぐらい更新してなかったので、改めて、今月の頭から開始しました。

 

 

 

サイトをみればわかることも多いのですが、そのサイトがいつ閉鎖になるかもしれないので、人に公開しないローカルサーバって事もあるのですが、参照文献として そのサイトの内容を自分なりの文章にして、すぐにPukiwiki内にみれるようにもしています。

 

と言っても、手順も書いて、参考にした文章も書いてってやっていると結構時間が取られますね・・・・

 

そう思っていたら、Pukiwikiで書き込みができなくなり、sshやほかのサービスにもアクセスできなくなりって事が発生しはじめました。

 

なんでだろうと行き着いた結果が、ClamAVのせいだったって事になったのですが、改めてローカル内のWebサーバのClamAVを再構築している手順書をPukiwikiにも書いています。

 

その際に参考にしたのが、下記のサイト 作者の方ありがとうございました。

http://www.server-memo.net/server-setting/clamav/epel-clamav-install.html

 

http://d.hatena.ne.jp/flageo/20120301/p1

 

http://d.hatena.ne.jp/flageo/20120301/p1

 

これらをみるまで、calmd とclamscanの違いを知らなかったという恥ずかしい話もありますが、この違いがわかったおかげで、再構築しなおした事により、この数日は問題なく動作しています。

 

 

 

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

うまく動作しません。

 

設定する時にPPPoEをしゃべらせるインターフェースにIPを振らないで、Upさせるのですが、CentOS7では、NetworkManagerが邪魔して、インターフェースを落としてしまいました。

 

その為、NetworkManagerを止めて、従来の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

に変更しました。

あるソフトの組み込みの為に、バージョンアップ用にシェルスクリプトを組もうとしているのですが、どうもうまく動かない・・・・・

 

ってなことを、1週間ぐらいやっていたら、やっぱりただの、勉強不足だった(;一_一)

 

シェルスクリプト上で、たとえばパスワードとかを自動的にいれるために、expectってやつをつかったのですが、

例えば、ソフトを実行して、yes/noって聞かれることはよくあることだと思います。

 

yes/noとか聞かれた後に、しばらく処理がダラダラでて、処理終了という時に、その処理がデロデロと終わってから、expectの処理を終了したいって時に、

大変悩み行き着いたのこのサイト

http://blog.wnotes.net/blog/article/expect-other-programs

 

というのも、Webminで処理したいな~っと思ってやっていたら、うまくいかず、ターミナル上でやるとうまくいくって感じでした。

 

そうしたらもろに同じことにはまった人がいて、記事にしてくれていました。感謝です。ちなみにやったことは僕もまるっきり一緒で、interactと入れたせいでうまく動かないって感じでした。

 

ただ、補足すると、最後の文字列に日本語が混ざっていた場合、うまく動作しませんので、半角英数字部分だけを指定してください。

 

昨日、すげ~こわい話ですが、こんなニュースが・・・・・・

レンタルサーバー業者、「rm -rf /」で誤って全サーバーのデータを削除

 

決して他人事ではないのですが、今、販売設定を考えている作成しているVPNユニットでも同じことが起きる可能性をなくすため、

Linux rmコマンドで削除したファイルの復元方法

 

みたいに extundelete導入しようと思います。LVMの場合は無理なため、R-Linuxでやってみるとよいかもしれないとあったので、LVMになっている人は、R-Linuxでやってみるとよいと思います。

 

実際は、R-Linuxはまだ、私は未検証の為、LVMで復活するかどうか確認していませんが、http://linux.ikoinoba.net/index.php?UID=1357139950によると、削除したファイルが見えたとの事だったので、実際に消す前にやってみようとは思っています。

 

PS 後から確認したら、R-LinuxのドキュメントPDFに以下の記載が

  • Dynamic disk support.
  • Software RAID, volume set, and stripe set support. Support for RAID 6, RAID 5, and RAID 4 layouts.
  • Support for custom RAID layouts. Parameters like block size and order, offsets, and even the number ofstripe blocks can be explicitly specified. Custom RAID configurations can be saved.
  • Support for Windows Storage Spaces, created by Windows 8/8.1 and Windows 10.
  • Support for software Apple software RAIDs
  • Support for Linux LVM/LVM2
  • RAID consistency check (check for valid data parity values

LVMにも対応しているみたいです

QNAPのNASを設定していて、おかしなことが・・・・・

 

2イーサのNASで、bondingとかしないで、独立させて稼働させているのですが、イーサネット1で、デフォルトゲートウェイを設定して、イーサネット2では、ゲートウェイを設定していない状態です。

 

設定の中で、ゲートウェイデバイスという設定がある為、イーサネット1をデバイスに設定しました。

 

NASはUPSで稼働していて、イーサネット1はUPSに接続していないHUBで通電しています。

 

ある時、停電したら、NASが稼働している状態ですが、イーサネット1は、リンクダウンしていて、イーサネット2は、リンクアップしている状態でした。

 

停電が復旧した後、NASを確認した所、あるエラーを見つけ、設定を確認した所、デフォルトゲートウェイデバイスが、イーサネット2に勝手に切り替わっていました。

 

その為、GUIでログを確認したら、こんな記述が

タイプ    日付    時刻    ユーザ    送信元IP    コンピュータ名    内容    

情報    2016/03/03    11:33:58    System    127.0.0.1    localhost    [Network] Default Gateway changed from LAN 1 to LAN 2. 

 

あれって、思って、CUIでログインしなおし、/var/log/network/linkdown.eth0 を確認したら、こんな記述が

[2016-03-03 13:14:11] cmd: /bin/ip rule del from  イーサネット1IPアドレス
[2016-03-03 13:14:11] cmd: /sbin/ifconfig eth0 0.0.0.0
[2016-03-03 13:14:11] cmd: /sbin/ifconfig eth0 down
[2016-03-03 13:14:11] cmd: /sbin/ifconfig eth0 up
[2016-03-03 13:14:12] cmd: /sbin/ifconfig eth0 0.0.0.0
[2016-03-03 13:14:12] s_check_default_gateway()
[2016-03-03 13:14:12] default_gw=eth0, auto_gw_mode=prefer, prefer_gw=eth0
[2016-03-03 13:14:12] ss_set_default_gateway()
[2016-03-03 13:14:12] cmd: /bin/ip route add default via イーサネット2IPアドレス dev eth1 tab main 

って感じの事が書いてあって、さらに /var/log/network/main.logの中に

 [2016-03-03 13:14:06] # "network.sh linkdown eth0" called.
[2016-03-03 13:14:11] --> set eth0 down.
[2016-03-03 13:23:06] # "network.sh linkup eth0" called.
[2016-03-03 13:23:06] --> set eth0 up.
[2016-03-03 13:23:09] # "network.sh linkdown eth0" called.
[2016-03-03 13:23:10] # "network.sh linkup eth0" called.

それと、上記の/var/log/network/main.log前の方に、

[2016-03-03 12:52:11] default_gw=eth0, auto_gw_mode=auto, prefer_gw=eth0
[2016-03-03 12:52:11] default gateway = eth0, no changed

 

auto_gw_mode=auto, これって・・・・ これが原因だ~!!って思ってここから色々調べました。autoにしなければよいという事で、

以下のコマンドを実行しました。

setcfg "Network" "Default GW Device" "eth0"
setcfg "Network" "Auto GW Mode" "prefer"
setcfg "Network" "Prefer GW Device" "eth0"

 

これを実行すると、/etc/config/uLinux.conf に2行追記されます。

[Network]
Interface Number = 2
DNS = 0.0.0.0
WINS IP = 0.0.0.0
WINS Enable = False
BONDING Support = False
BONDING NICs = 0
BONDING01 = Interface1
BONDING02 = Interface2
Domain Name Server 1 = "IPアドレス"
Domain Name Server 2 = "IPアドレス"
Advanced Bonding Support = TRUE
Script Version = 210
uLinux Upgrade = TRUE
DNS type = manual
Default GW Device = eth0
Auto GW Mode = prefer        ※この2行が追記
Prefer GW Device = eth0

これで、ゲートウェイが勝手に変更されることはなくなりました。

参考サイト:http://forum.qnap.com/viewtopic.php?t=119538

しかし、QNAPって、debianベースっぽいな~って感じました。(違うかもしれませんけどね)

なんかすぐに気が付いたからよかったけど、お客様から、NASへのアクセスがうまくいかないって申告があって、見てみたら、通常のファイルは普通に開くけど、Accessで何かやっているのがうまく動作しないって事でした。

 

そこで、ふと思い出したのが、タイトルにあるoplocl(Opportunistic Locking)の事を書いている記事を見たのをふと思い出しました(偶然トラブルの近辺に見た記事でした)

記事:Windows7でsambaのファイルがうまく開けない件について(oplocks死すべし)

 

ここによると、oplockは

「ネットワークの効率化を狙う、Windows固有の機能。複数のプロセスが同じファイルをロックでき、なおかつクライアントがデータをキャッシュできる。」

 

って事と、そこの少し下に、

****************************

Oplocksの危険性

Oplocksが狙い通りに動けば、目的通りネットワークの効率化が図られる。
問題なのはネットワークに何か問題が起こり、キャッシュが適切にフラッシュされない場合。ともするとファイルの破壊を引き起こす。
とくにデータベースが危険。

**********************

ってあるじゃないですか~~~(゚Д゚)

 

 

NASのマニュアルを見直すと、こんな記載も発見

『便宜的ロッキングは、クライアントのパフォーマンス向上を図ってデータをローカルにキャッシュする目的で、サーバーに置かれたファイルに便宜的ロック (oplock) をかける Windows のメカニズムです。Oplock は日常使用のためにデフォルトで有効になっています。複数のユーザーがデータベースなどの同じファイルに同時にアクセスする必要があるネットワークの場合、oplock を無効にする必要があります。

 

・・・・・・・・・・・気が付かかなった(-_-;)    そこで、oplockを無効にして、無事お客様の求める動きに戻りました。

 

Accessのデータとか、データベースとか使う可能性があると思うので、これからは最初から、oplockは無効にしておこうと思います。

 

しかし、この話は有名な話だったんですね。知らかなかったのが恥ずかしいです。また勉強になりました

 

2か月ぶり!!!

 

忙しさにカマかけて、全然書いていませんでした、今あるお客様の社内ネットワークを構築しているのですが、ファイルサーバの構築もしていて、NASでファイルサーバを構築しています。

 

セキュリティ的に固くしてほしいという事で、どうしようかな・・・・・って思っていたら、NASでも2段階認証の物が最近出始めているのを発見!!

 

2段階って何?って所ですが、通常のパスワード認証+Google authenticator(goolge認証っていう、スマホアプリ)で、2つがそろって初めてNASにログインできる形です。

 

google authenticatorは、NASで設定した時に、スマホに入れたアプリとの連携設定した後、ワンタイムパスワードを発行するタイプのもので、時間によって、どんどん変化していきます。

 

その為、固定のパスワードとランダムに変化するパスワードをいれて初めて入れるという代物です。

 

会社に勤めていた時に、VPN用のワンタイムパスワードの機械があって、やっているのを見たことあったのですが、今はこんな感じでできるんだ~~~って妙に感動しました。

 

今は管理者用のアカウントのみ、2段階認証を設定していますが、どこまでやるかは、お客様と相談って感じです。

 

 

このページの上部へ

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

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

 

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

ホームページ

 

facebook

 

icon icon

 

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

サイト内検索

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

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

最近のピクチャ

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