MacをDNSサーバにして、iOSアプリの開発を楽にしたかった
目的
iPhoneのhostsは通常書き換えられないので、iOSアプリ開発中に本番サーバと開発用サーバのどっちを見るかを切り替えるのにいちいちコードを書き換えないといけなくてムカつく。
DNSサーバがあれば、本番用のドメインを開発用にすり替えればアプリ自体に手を入れなくて幸せになる。
方法
BINDの起動
Mac OS X で DNS サーバを構築する - maruko2 Note.
上記を参考に、BINDを動かす。
設定ファイル
BIND自体が動くことを確認したら設定を変更して、本番のドメインを尋ねられたら開発用サーバのIPを返すようにする。
以下のmy.domainは本番のドメインに読み替えること。INSERT_*は適宜読み替えること。
/etc/named.conf
以下を追加
zone "my.domain" { type master; file "my.domain.zone"; };
my.domainについては、fileのゾーンファイルの中身を参照してくれよなという気持ちをこめた文。
/var/named/my.domain.zone
新規作成して以下の内容を記載。
$TTL 86400 @ IN SOA dns.my.domain. mailaddress.my.domain. ( 2014030601 3H 1H 1W 1D ) ; IN NS dns.my.domain. IN A <INSERT_DEVELOPMENT_IP> dns IN A <INSERT_SELF_IP>
何がかいてあるか
@IT:DNS Tips:SOAレコードには何が記述されている?
上記サイトに詳しく書いてある。
NSレコード
ドメイン担当のネームサーバはどいつかの指定。