SolarisやLinux、WindowsのTips集

DIGコマンドによるドメイン調査
国際ドメイン 変換・逆変換ツール
Whois ドメイン・IP調査
IPCalc IP・MASK計算
SSL Cipher Check 調査
SSL Cipher Check 調査 2
証明書の確認
第三者不正中継テスト

Tips集

whois コマンド

IPv6アドレスを持っていてもIPv6通信できない環境でwhoisコマンドを実行すると

$ whois itc-jp.tokyo
[Querying whois.internic.net]
[Unable to connect to remote host]

となってしまいますが、IPv4を優先に変更すると上手くいきました。

IPv4を優先にするには

# cp -p /usr/share/doc/glibc-common-2.17/gai.conf /etc/.
# vi /etc/gai.conf
# For sites which prefer IPv4 connections change the last line to 
#
precedence ::ffff:0:0/96 100

再度whoisコマンドを実行して確認してください、上手くいかないときは再起動が必要かもしれません。

Historyに日付を追加する方法

通常はhistoryコマンドで過去のコマンド履歴が表示されますが何時どのタイミングなのか調べるのに苦労します。
そこでヒストリーリストに時刻表示を付加するようにしました。
/etc/profile に以下を追加します。

HISTTIMEFORMAT='%F %T '

ログインし直して確認してみてください。

74 2015-05-23 20:58:09 sudo -s
75 2015-05-23 20:59:04 exit

の様に表示されるようになります。

cron

REHL6
デフォルトの「cronie-anacron」というパッケージは従来のcronのように決まりきった時間にジョブが実行されず、
設定された時間内(3時-22時)に、ランダムに設定された時間分(0分-45分)待って実行される様に変更になっている。
従来の指定時間にジョブを実行させるには「cronie-noanacron」に変更する必要が有ります。

# yum -y install cronie-noanacron
# yum -y remove cronie-anacron

/etc/cron.d/dailyjobs で実行時間を編集
cronとanacronの違い

cron
 指定された時間と間隔でジョブを実行する。分単位で指定できる。マシンが起動している間のみ、ジョブを実行する。
anacron
 指定された日数間隔でジョブを実行する。マシンが停止していたら、その間の日数を計算してジョブを実行する。

cronではジョブ実行時間帯にマシンが停止していればそのジョブは実行されないが
anacronであれば、日数間隔で大雑把にはなるが、マシンが起動したあとの最初のanacron実行時に、停止している間に実行されるべきだったジョブを実行できる利点があります。

バウンスメールの停止

存在しないメールアドレスにメールが届いた時に送信者にその旨を返信する機能を悪用しスパムメールを多量に送りメール遅延を発生させることがあります。
これを防ぐ為にこの返信メール(バウンスメール)を送らないでそのまま削除する様にします。ただし、スペルミスによる場合でも削除されるので注意が必要です。

vpopmailの場合

path-to/vpopmail/domains/ドメイン名/.qmail-default

| path-to/vpopmail/bin/vdelivermail '' bounce-no-mailbox
これを
| path-to/vpopmail/bin/vdelivermail '' delete
に変更するだけです。

qmailの場合

echo "#" > /var/qmail/alias/.qmail-default

Postfixの場合

/etc/postfix/main.cf
 luser_relay = unknown_user@localhost
/etc/postfix/aliases
 unknown_user: /dev/null
の様に設定してから

# postalias /etc/postfix/aliases

# /etc/init.d/postfix reload

特定ドメインの配送経路の指定

通常は宛先ドメインのMXレコードを参照して配送しますが、それを上書きして配送経路を指定するsmtp routeの設定方法です。
MXレコードから優先順位と配送先ホストが得られます。ISP等では複数のMailサーバーで運用されていて優先順位の高い方に配送を試み、失敗した場合は次の優先順位のホストに配送しようとします。
設定によっては[]を付けて優先順位を無視してピンポイントで指定ホストに配送します。

qmailの場合

# vi /var/qmail/control/smtproutes
 ドメイン名(FQDN):配送先ホスト名(FQDN)
 :配送先ホスト名(FQDN) <- 全てのドメインと言う意味になる

# systemctl restart qmail or /etc/init.d/qmail restart

Postfixの場合

# /etc/postfix/main.cf
 transport_maps = hash:/etc/postfix/transport

# vi /etc/postfix/transport
 ドメイン名(FQDN) smtp:配送先ホスト名(FQDN)
 配送先ホスト名を「[]」で括るとMXレコードを参照しない

# postmap /etc/postfix/transport
# systemctl reload postfix or /etc/init.d/postfix reload

sendmailの場合

# vi /etc/mail/mailertable
 ドメイン名(FQDN) smtp:配送先ホスト名(FQDN)

# cd /etc/mail
# makemap hash mailertable.db < mailertable
# systemctl restart sendmail or /etc/init.d/sendmail restart

Firewalld

CentOS7からファイアウォールサービスがiptablesからFirewalldに変更されました。
Firewalldは内部的に従来の iptablesを使用しているようなのですが、ファイアウォールルール数が増えて7000ぐらいになってからCPU使用率が異常に上がり、さらにはReloadに時間がかかってしまうようになりました。
そこで、旧来のiptablesに戻すことにしました。iptablesもルール数が4000を超えるとスループットが下がるそうですが、20000ルールエントリしてもCPU使用率が上がっていないので結果的ですがシステム全体のスループットが改善されました。

まずはiptablesを利用できるようにします。

# yum -y install iptables-services

基本的なルールを追加します。(詳細は割愛)

/etc/sysconfig/iptables  IPv4filter
/etc/sysconfig/ip6tables  IPv6filter

さらに特定の国からの通信をDROPするルールを追加しました。
― 世界の国別 IPv4 アドレス割り当てリスト ―を参考にさせて頂きました。(先人に感謝です)

# systemctl stop firewalld
# systemctl start iptables
# systemctl enable iptables
# systemctl disable firewalld

Windows Tips

存在しないネットワークアダプタを削除する方法

コマンドプロンプト(管理者)を起動する。
存在しないデバイスを表示させる

> set devmgr_show_nonpresent_devices=1

デバイスマネージャを起動する

> start devmgmt.msc

表示 をクリックして、 非表示デバイスの表示 をクリック
ネットワーク アダプタ を展開する
グレー表示になっているネットワークアダプタを削除する

以上