FTPを使って1812jからMyDNSを更新する
最近独自ドメインを取得し直したんですが、
それに合わせてDDNSサービスをDynDNSからMyDNSに変更してみました。
HTTP-BASICで更新ができなかった
1812jからIPを更新をしてる記事もいくつか見つかったので楽勝だと思ってたら問題が発生しました。
最初に設定してたのは以下のようなコンフィグ。
ip ddns update method mydns HTTP add http://mydnsid:password@www.mydns.jp/login.html interval maximum 7 0 0 0 int Di0 ip ddns update hostname hoge.net ip ddns update mydns
debug ip ddnsしてデバッグを有効にしたあと
上のコンフィグで実際に動かしてsh loggingしてみると、
エラーページが取得されており正しく動いていませんでした。
動かない原因
実はまだよくわかってないです。
kdnsでの設定の話になりますが、
バージョンによってddns updateが動かない場合があるようなので、
それかな?と勝手に思っています。
ちなみにうちの1812jのバージョンは12.4(11)T、DRAM/Flashがそれぞれ128MB/32MBです。
バージョンアップしようとしたら、12.4(20)T以上は256MB/64MBが必要でできませんでした……。
とりあえず解決策
MyDNSはHTTP-BASIC以外にもPOPとFTPに対応してるとのことでした。
なので1812jで使えるFTPとEEMを使ってIPの更新を試みます。
EEMはEmbedded Event Managerの略で、
いろんなイベントをトリガとしてコマンドの実行などができる仕組みです。
今回はタイマーをイベントとすることで日曜AM3時に実行しています。
applet名やcronのエントリー名、MyDNSのユーザ/パスワードは適当に変更してください。
syslogへの出力はお好みで。
event manager applet ddns event timer cron name ddns-batch cron-entry "0 3 * * 0" action 1.0 syslog msg "# DDNS Update Begin" action 2.0 cli command "enable" action 3.0 cli command "copy ftp://mydnsid:password@www.mydns.jp/login.html null:" action 4.0 cli command "exit" action 5.0 syslog msg "# DDNS Update End"
まとめ
とりあえず汚い方法ですが動かすことができました。
IOSのバージョンをいろいろいじれるようHW性能を上げたいです。
まあ早く固定IPにしろって話なんですが。
1812jでdyndnsを使ったDDNSの設定
最近ネットワークいじりたい欲が強いのでまたciscoネタ。
設定項目は少ないのでらくちんです。
DDNSの設定
DDNSの更新方法を指定します。
dyndnsのところは名前を適宜変更すること。
usernameとpasswordにはそれぞれdyndnsのユーザ名・パスワード名を入れます。
<h>と<a>はホスト名とIPアドレスのプレースホルダです。
ちなみに、URL中の?は^vでエスケープできます。
(config)#ip ddns update method dyndns (DDNS-update-method)#HTTP (DDNS-HTTP)#add http://username:password@members.dyndns.org/nic/update?system=dyndns&hostname=<h>&myip=<a> (DDNS-HTTP)#exit (DDNS-update-method)#interval maximum 7 0 0 0
インターフェースへの適用
自分の環境ではPPPoEを使っているため、Di0が外向けのインターフェースです。
そこに先ほど設定したDDNSの更新方法を適用します。
ホスト名のhoge.dyndns.infoはdyndnsで取得したホスト名を入れてください。
(config)#int Di0 (config-if)#ip ddns update hostname hoge.dyndns.info (config-if)#ip ddns update dyndns
適用されてるか確認
reloadした後、dyndnsのhostページで更新されてることを確認すれば完了。
ちょっと反映に時間がかかりました。
1812jでVPNを構築してみた
ネットワークの勉強のために、前からやろうと思って放置してたVPNの構築をやります。
調べつつ書いてるので、間違いがあればご指摘いただけると嬉しいです。
やること
AAA(認証、許可、アカウンティング)の設定
ローカルで認証するようにします。
userauthとgroupauthの部分は適当に名前を付けてください。
aaa new-modelにする前にはコンフィグを保存したほうがよさそう。
(config)# aaa new-model (config)# aaa authentication login userauth local (config)# aaa authorization network groupauth local
IKEポリシーの設定
ここでVPNの暗号方式や認証方式を設定。
policy 1は優先度が一番高いポリシーです。
Diffie-Hellman鍵共有グループの暗号強度は5(1536bit)がもっとも高いようですが、負荷を考えて2(1024bit)を選択する場合が多いみたいです。
(config)# crypto isakmp policy 1 (config-isakmp)#encr 3des (config-isakmp)#auth pre-share (config-isakmp)#group 2
VPNクライアントグループの設定
ログイングループ名(vpnclient)や事前共有キー(hogehoge)、IPアドレスプールなどはここで指定します。
今回はスプリットトンネリングを使用するのでACLを指定しています。
(config)#crypto isakmp client config group vpnclient (config-isakmp-group)#key hogehoge (config-isakmp-group)#save-password (config-isakmp-group)#acl 100 (config-isakmp-group)#pool ezvpn-pool (config-isakmp-group)#dns 192.168.1.254 192.168.1.1 (config-isakmp-group)#exit (config)# access-list 100 permit ip 192.168.1.0 0.0.0.255 any
VPNクライアントグループとAAAの紐づけ
vpnclientとuserauthとgroupauthは設定した内容に変更してください。
(config)#crypto isakmp profile vpnclient-profile (conf-isa-prof)#match identity group vpnclient (conf-isa-prof)#client authentication list userauth (conf-isa-prof)#isakmp authorization list groupauth (conf-isa-prof)#client conf address respond
トランスフォームセットの設定
トランスフォームセット名(vpnset)は適宜変更してください。
(config)#crypto ipsec transform-set vpnset esp-3des esp-sha-hmac
ダイナミックマップの設定
vpnsetとvpnclient-profileは設定に合わせて変更してください。
reverse-routeをしているすると、VPNクライアントへのスタティックルートが自動で登録されるようです。
(config)#crypto dynamic-map dynmap 1 (config-crypto-map)#set transform-set vpnset (config-crypto-map)#set isakmp-profile vpnclient-profile (config-crypto-map)#reverse-route
暗号マップの設定
ezvpnmap、dynmapは適宜変更してください。
(config)#crypto map ezvpnmap 1 ipsec-isakmp dynamic dynmap
暗号マップを外部インターフェースに適用
自分の環境ではDi0でPPPoEを利用しているので、そこに暗号マップを適用します。
Di0をFa0にオーバーロードしてるので、Fa0に適用しても同じはず。
(config)#int di0 (config-if)#crypto map ezvpnmap
VPN Clientからつなぐ
WindowsではCiscoのメンバーページからダウンロードが必要だったと思いますが、macだとVPNクライアントが最初から入っています。
ネットワーク環境設定を開き、インターフェースをVPN、VPNタイプをCisco IPSecでサービスの追加を行います。
あとは、上記で設定したアカウント名やパスワード、サーバアドレスのほかに、認証設定で共有シークレットとグループ名も忘れず入力してください。
まとめ
以上でおしまい。長かった!
設定項目が多いから、全部理解して設定するのは難しそうだ。。。