カテゴリー別アーカイブ: Linux

IPv6対応とDNSサーバの引っ越し

環境

  • 自宅(eo光、キャッシュDNSサーバ、自前のDDNSクライアント)
  • ムームードメイン、権威DNSサーバ(Kagoya VPS)

はまったところ

  • キャッシュDNSサーバの/etc/resolv.confにIPv6を追加していなかった。
  • 新しいレンタルルータに替えるだけでIPv6で外から繋げられるかをeoに問い合わせても、回答がはっきりとしなかった。結局は、ルータの交換でいけた。自分の聞き方がわるかったのか何だったのかよくわからない。
  • ムームードメインの設定画面からでは一つのネームサーバに対して一つのレコードしか登録できず、A、AAAAの二つを設定できない。その為、サポートに設定内容を渡し、情報編集手続きを代行してもらう必要があった(依頼から二営業日内に完了)。

対応前の状況

自宅(eo光)

  • IPv6は以前に申し込み済みで、各端末にグローバルなIPv6アドレスが割り振られているが、ルータかどこかで弾かれている(プロトコル関係なしにLAN側発信の通信は確立できるが、外側からは確立できない)。
  • キャッシュDNSサーバ(Debian9)あり。

旧権威DNSサーバ(CentOS6)

  • IPv4アドレスのみ割り振られている。

作業概要

自宅

  • eoに申し込み、レンタルルータを新しいものに変更する(二千円)。
  • DDNSクライアントの修正。
  • キャッシュDNSサーバの設定変更。

新権威DNSサーバ

  • 新しくIPv4、IPv6アドレスが割り振られるサーバを立ち上げ、そちらに移行する。

作業詳細

自宅

  • 新しいレンタルルータと置き換える。
  • 管理画面よりIPv4のNAPT設定、IPv6のフィルタリング設定を行う。
  • DDNSクライアントを、IPv4、IPv6アドレスを取得し、A、AAAAレコードを更新できるように修正。
  • キャッシュサーバの/etc/resolv.confに自身のIPv6アドレスを追加。

権威DNSサーバ

  • 新サーバ用に新しくインスタンスを立ち上げる(CentOS7)。
  • bind namedインストールし、設定。
    DNSサーバーの引っ越し~トラブル発生を未然に防ぐ手順とポイント~
    を参考に旧サーバ、新サーバを設定。
  • ムームードメインにてネームサーバに対し、A、AAAAレコードを設定。
    上記完了後、グルーレコードにA、AAAAレコード両方に正しいアドレスが設定されている事を確認。
  • 念のため、IPv4を無効にし、IPv6のみの環境で名前解決が行えることも確認。
  • 旧サーバに問い合わせが来ていないことを確認後、旧権威DNSサーバを停止する。

参考資料
JPRS トピックス&コラム No. 019(2011)https://jprs.jp/related-info/guide/019.pdf
JPRSの方たち著(2011)「実践DNS」ASCII

AWStats, GeoIPのインストール

CentOS6.4
$sudo yum install perl-libwww-perl
$sudo rpm -ivh http://prdownloads.sourceforge.net/awstats/awstats-7.2-1.noarch.rpm

GeoIPプラグインを使う場合は、Perl Geo::IPモジュールを入れておく。
http://blog.rino-server.jp/?p=3139
LoadPlugin="geoip GEOIP_STANDARD /opt/geoip/share/GeoIP/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /opt/geoip/share/GeoIP/GeoLiteCity.dat"

cronとlogrotate

$ cat /etc/cron.hourly/00awstats.cron
#!/bin/bash
perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl config=blog -update
$cat /etc/logrotate.d/httpd
/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    delaycompress
    prerotate
        perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl config=blog -update
    endscript
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

GeoIP C APIのインストール

CentOS6.4

必要なツールのインストール
$sudo yum install automake autoconf libtool zlib-devel make

ソースファイル取得
$git clone https://github.com/maxmind/geoip-api-c

GeoLiteデータベース取得
$cd geoip-api-c/data
$wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
$gzip -d GeoIP.data.gz

configurationスクリプト生成
$cd ../
$aclocal
$libtoolize
$automake -a
$autoreconf --force --install

インストール
$./configure --prefix=/opt/geoip --enable-shared
$make
$sudo make install

GeoLiteCityデータベース取得
$wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
$gzip -d GeoLiteCity.dat.gz
$mv GeoLiteCity.dat /opt/geoip/share/GeoIP/