それではうまくはじけません、という情報は既に入手済みですが、何事も自分で確認してみた方が学習効果は高いと思うので、まずは敢えてドメインネームではじくようにしてみます。
ドメインネームではじくためには、iptablesは使えません(使えないことはないらしいけど、iptables単体ではできないらしい)。iptablesというくらいだから、よくよく考えればIPアドレスで管理しているであろう事はわかりますね・・・(^-^;;
実際そうやって設定してきたんだし。
というわけで、さしあたっての問題はBLOGへの(無用なコメントの投稿という)アクセスを禁止したい、つまりWEBサーバへのアクセスが禁止できればOKなので、httpsd.confにて記述を行ってみることにしました。
ウチの環境では/etc/httpsd/conf/httpsd.confがパスになりますが、こいつを覗いてみると、いくつかセクションに分かれていて様々な設定が記述されています。その中で、ドキュメントルートディレクトリを設定しているあたりから、
<Directory “/var/www/html”>
#
# Possible values for the Options directive are “None”, “All”,
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that “MultiViews” must be named *explicitly* — “Options All”
# doesn’t give it to you.
#
# The Options directive is both complicated and important. Please see
# https://httpsd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be “All”, “None”, or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
となっている部分を探します。
<Drectory />〜〜</Directory>という部分、ということですね。
この中の、Controls who…のセクションにアクセスコントロールを記入します。
Order allow,deny
は動作順序。allow,denyなら、まずはallow(許可)して、それから除外するものをdeny(拒否)させる、という順序になります。
WEBサーバという特性から、基本的には全てのアクセスを受け付け、その中から今回の163data.com.cnをはじく、という風にしたいのでここはこのままです。
次の
Allow from all
はそのままですね。全てのアクセスを受け入れる(許可する)となります。
この下に、Deny from…を記入すると、全てのアクセスは受け入れるけれどもDenyに指定されたアドレスからのアクセスは受け入れませんよ、ということになるようです。
試しに
Order allow,deny
Allow from all
Deny from 192.168.1.0/24
として、LAN内からアクセスできなくなるかどうかを確認してみたところ、バッチリアクセスできないことを確認しました。
もちろんココに書いてアクセスが拒否されるのはApacheへのアクセスだけです(SSHなどはそのまま接続状態を保てます)。
では、本番。Deny from…のところに、163data.com.cnを入れてみることにしましょう。これはそのまま
Deny from 163data.com.cn
と記述すればいいようです。
これでhttpsDを再起動させて、2〜3日様子を見ることにしましょう!