So-net無料ブログ作成
検索選択
スポンサードリンク

USBの無線LANアダプタ(WLI-UC-GNM)が時々遅くなる時にやってみたこと。 [Network]

クライアントPC(デスクトップ)に無線LAN子機を接続して、WiFi環境で利用していると時々遅くなるときが有る。
電波の状態は悪くなく、速度が早い(70Mbps位)ときと同じくらいの状態でも、遅くなると1Mbpsまで落ち、しばらくこの状態になり、またしばらくすると元の速度に戻ったりする。
速度が遅くなった時に、一度無線LAN子機を外して再取り付けすると回復したりもするが、しばらくすると遅くなる。
無線LAN親機との間に障害物は無い。
電子レンジは有るけど、使用に関係なく現象が出たりする。

どのタイミングで現象が出るかが分からないため原因は不明でしたが、色々調べてみると無線LAN子機の電源管理が怪しそう。

「コントロール パネル」→「ネットワークとインターネット」→「ネットワーク接続」で、
該当のアダプタのプロパティを開く。
「接続方法:」の「構成」を開き、「電源の管理」を開く。

電力の節約のために、コンピュータでこのデバイスの電源をオフにできるようにする(A)」
のチェックボックスにチェックが入っていたら、チェックを外しオフにする。

この設定変更をしたら、速度が遅くなることがなくなりました。
他の無線LANアダプターも該当するかもしれないので、遅くなるようなことが有れば
確認したほうが良さそうです。
OSはWindows10で確認しましたが、Windows7やWindows8などのWindowsOSやLinuxでも有りそうです。

Linuxの場合は、ifconfigでインターフェースの状態を確認し、
wlan0などの設定で、
Power Management:on
が表示されれば、これをoffにすれば、良いそうです。

無線LAN使用時で、遅くなるときは要確認ですね。

postfixでやっておいた方が良さそうな設定のメモ [postfix]

メールサーバでメジャーなのがsendmailですが、設定が手軽なpostfixもかなり使われてきていると思います。
設定が分かりやすいのと、すぐに利用出来るので手軽で良いのですが、デフォルトだと好ましく無い状態になっていると思うので、利用前にやっておいた方が良さそうな設定のメモです。

・インターフェースの設定
inet_interfaces = localhost
デフォルトは自ホストのみ受け付けています。
メールサーバで利用するのであれば、
inet_interfaces = all
にすれば、全てのインターフェースで受付可能となります。

・IPv4、IPv6指定
inet_protocols = all
デフォルトでは両方共サポートしていますが、IPv6を使用していない場合は
エラーログが出力されます。
IPv4のみを使用している場合は
inet_protocols = ipv4
と設定すればエラーログが出なくなります。

・許可するネットワーク指定
接続を許可するネットワークの設定です。
192.168.1.0/24のネットワークからの接続を許可する場合は
mynetworks = 192.168.1.0/24, 127.0.0.0/8
と設定ですね。

・ドメイン指定
mydestination = $myhostname, localhost.$mydomain, localhost
デフォルトでは自ホストのみとなっているので、自ドメインを追加する場合は
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
後ろに「, $mydomain」を追加ですね。
この設定をする場合は、最初の方の行にある
mydomain
の設定が必要ですね。

・再送の設定
postfixの再送設定が、かなりノンビリしているので、短くした方が良さそうです。
minimal_backoff_time = 1000s → 300s位
maximal_backoff_time = 4000s → 1500s位
maximal_queue_lifetime = 5d → 12h位
bounce_queue_lifetime = 5d → 12h位
デフォルトでは再送エラー結果が5日掛るようになっているみたいです。
5日前に送信したエラーが返ってきても意味があまり無さそうなので、短くしたほうが良いですね。
短くしすぎてもサーバメンテなどで一時的に利用不可の場合でも、エラーで返ってくるようになるので、
環境に合わせて設定をしたほうが良さそうです。

・メッセージサイズ
メッセージ最大サイズの指定です。
message_size_limit = 10240000
デフォルトは10MBになっているので、現在のネットワーク環境では
それほど問題は無いかもしれませんが、規制しているところも有るので、
環境に合わせて設定をしたほうが良いですね。

他も有るかもしれませんが、上記設定はしておいた方が良さそうです。

シェルスクリプトは動くけど、cronで動作するとエラーになる原因。 [Linux]

シェルスクリプトは動くけど、cronでは動作せずエラーが出るときの原因メモ。

ユーザでログインし、シェルスクリプトで動作テストは問題なく動作する。
$ test.sh
OK

しかし、そのシェルスクリプトをcronで設定すると動作しない。
crontab -l
10 * * * * /home/test.sh
NG

どうやら、ログインしてシェルスクリプトを実行するのと、cronでシェルスクリプトを起動するのでは
環境が違うもよう(当たり前ですが)。
特にありそうなのが、PATHと文字コード。
まずはシェルスクリプトが動作する環境のPATHを確認。
$ echo $PATH

出てきた結果をcrontab -eで最初の方に記載する。
crontab -l
PATH=/usr/local/bin:/usr/sbin/:・・・・

文字コードの確認をする。
$ echo $LANG

出てきた結果を、実行スクリプトの前に記述する。
crontab -l
10 * * * * export LANG=ja_JP.UTF-8; /home/test.sh
※日本語、UTF-8の場合。

全部のスクリプトに割り当てる場合は先頭に設定を入れる。
crontab -l
LANG=ja_JP.UTF-8
※日本語、UTF-8の場合。

で、動作するようになるはず。
基本的にはデフォルト設定で問題無く動作すると思うのですが、後からインストールしたものや
追加した環境が有るとなりやすいかも。
OSを英語環境でインストール後に日本語環境を追加とか、rubyやpython3を追加しそのプログラムを
実行したときや、サードパーティー製アプリをインストールしそのプログラムを実行するなどかな。

それ以外のcronのメモ。
cronの結果メールが不要な場合。
crontab -l
MAILTO=""
メール送信先を変更する場合。
MAILTO="hogehoge@hogehoge.jp"

特定のスクリプトだけログを出さないようにする場合。
crontab -l
10 * * * * /home/test.sh > /dev/null 2>&1

個別のログへ出力する場合。
10 * * * * /home/test.sh >> /tmp/ok.log 2>>/tmp/error.log
標準出力はok.logへ、標準エラーログはerror.logへ出力する。

個別でメール送信をする場合。
10 * * * * /home/test.sh 2>&1 | Mail hogehoge@hogehoge.jp

cronで実行するものによって、使い分けるようにしたほうが良さそうですね。

うるう秒対策 [その他]

何年かに一度行われる「うるう秒」の挿入ですが、昔はそれなりに対策が必要だったりしていますが、
最近は対策されているものも増えているようです。
ですが、忘れそうなので、メモレベルで残しておく。

WindowsOS(Windows7、Windows10、WindowsServerなど)
マイクロソフトのWindowsはうるう秒が挿入されないようです。
https://support.microsoft.com/ja-jp/kb/2722715
なので、特別な対策は必要なしのようですね。
ただし、サポート切れしているWindowsXPやWindowsServer2003以前のOSは不明です。
あと、アプリケーションについては、提供しているメーカーなどに確認は必要ですね。

Linux(CentOS)
CentOS5とCentOS6はKernelが最新バージョンだと対策済みのようです。
CentOS7はKernelのバージョンに関係なく、対策済みですね。
Kernelのバージョンが低いけど、何らかの要因でアップデート出来ない場合は、
NTPサーバで対策が可能ですね。
こちらも最新にバージョンアップをして、動作モードがstepではなく、
slewモードで動作しているなら問題が無さそう。
設定方法は以下のファイルを修正
/etc/sysconfig/ntpd
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"
で、ntpdを再起動でOK
psコマンドで、ntpdに-xが付いていれば良いようです。

pingやdigの応答は早いけど、tracerouteやtelnetなどの応答が遅いときは [Linux]

名前解決でDNSサーバを利用する時に、pingdigはDNS応答は早いけど、traceroutetelnetなどはDNS応答が遅くなるパターンが有ります。
OSもCentOS5までは問題無く早い応答が有るけど、CentOS6以降は遅くなります。
遅延は5秒位で環境にもよるみたいですが、DNSサーバと利用するサーバ間にFWが有ると発生するようです。
特にFWがIPv6に対応していないとなるみたいですね。
OS側でIPv6を無効にすれば良いみたいですが、改善しないことも有るようです。

対応方法は
同一セグメントまたはFW配下にDNSサーバを構築し利用するか、
ネットワーク設定の
/etc/resolv.conf

options single-request-reopen
を追加すれば良いようです。

DNS応答が少々遅延しても良いシステムやクライアント利用の場合は問題無さそうですが、
squidなどのproxyサーバpostfixsendmailなどのメールサーバなど名前解決を多用するシステムは設定したほうが良さそうです。

スポンサードリンク
シャンパン酵母エキス