현재 BioinfoSarangNet의 문제. 저 유동[IP]를 어떻게 [Domain]에 연결할것인가.
IP공유기를 설치한 이후로, IP가 계속 바뀐다. 왜 예전엔 안바뀌였던거지? 어쨌건, 대략 하루내지는 이틀에 한번꼴로 아이피가 바뀐다. 대안은? 이 경우 어떻해야 하는가. --[yong27]
http://www.codns.com 등의 서비스는 어떨까요? --JuNe
p.s. 제 아이디가 [windist]로 되어있네요. 모인모인에서 user 객체를 새로 생성하지 않아서 생기는 문제인 듯 한데...
네, 현재 [DDNS]서비스를 알아보는 중입니다. 대부분 유료서비스인데, 무료로 이용하는 방법을 모색중... ; 그리고, 로그인문제는 며칠전까지의 MoinMoinOnScgi 구현상 버그였던 부분이였는데, 일단은 해결했고요. 방금의 그 문제는 이전에 쏜 [Cookie]가 남아서 그런겁니다. (계속 쏘도록 설정되있었답니다.) 쿠기삭제하시고, 다시 들어오시면 될듯합니다.
일단 무료 [DDNS]를 하나 얻었다. yong27.dyndns.org 이 [Domain]은 바뀔때마다 바뀐 [IP]를 기억하고 있는 [Domain]. 따라서, 내가 쓰는 다른 네임들을 다 저곳으로 포워딩하면 될듯한데... 아니 그전에 ns.biohackers.net [DNS]서버는 어쩔것인가 고민중.
집에와서 다시 해보니 저 IP공유기에서 저 [DDNS] 설정이 안되더만. 이래저래 방법을 모색중이긴 하나, 뾰족한 수가 떠오르지 않는다. 만일의 경우에는 메가패스에 고정아이피를 신청해야할듯. 그러나... 메가패스 ntopia서비스는 고정아이피를 지원하지 않는단다. 어쩌지...
지금보니 바뀐 IP가 제대로 [DDNS]에 전달된듯... 어쨌건 yong27.dyndns.org 는 제대로 된 [IP]를 항상 들고 있다는 얘기. 저걸 어떻게 잘 이용할 방법이 없을까...
[Twisted] 네트워크 데몬 프로그램 구상중. --> 이 방법은 바뀐 후 몇시간동안의 작동을 보장하지 않는다.
- 바뀌는 [IP]탐지.
- 바뀌는 [IP]를 이용하여 직접 [DNS]서비스를 한다.
- [IP]가 바뀌였을때 직접 가비아에 변경요청을 한다.
dnsever의 [DDNS]서비스 이용으로 일단 해결봤슴.
사랑넷 [Domain]이 가동된다. 한동안 먹통이였던 이유가 무엇이였을라나... 암튼, 이참에 싹 옮기느냐, 아님 두개를 다 유지하느냐...
dig로 확인해보면,
bioinfo.sarang.net. 17619 IN CNAME ns.biohackers.net.
ns.biohackers.net 이 DynamicIpProblem으로 바뀔수도 있기에, 그때그때 네임서버를 재시작해줘야 한다는 문제는 여전히 존재함. --[yong27], 2005-01-10
따라서, IP가 바뀔경우의 [DNS]재시작 스크립트
1 #!/usr/local/bin/python
2
3 import socket, os, time
4
5 currentIp = file('/etc/currentip').read().strip()
6 newIp = socket.gethostbyname('yong27.dyndns.org')
7 currentTime = time.ctime(time.time())
8
9 if currentIp != newIp:
10 os.system("""wget 어쩌고저쩌고 to dnsever.com""")
11
12 bhn = '/var/named/chroot/zone/local/bhn.zone'
13 bsn = '/var/named/chroot/zone/local/bsn.zone'
14 n_bhn = file(bhn).read().replace(currentIp, newIp)
15 n_bsn = file(bsn).read().replace(currentIp, newIp)
16 file(bhn,'w').write(n_bhn)
17 file(bsn,'w').write(n_bsn)
18 os.system("/etc/rc.d/init.d/named restart")
19 file('/etc/currentip','w').write(newIp)
20 file('/etc/currentip.log','a').write('%s at %s\n'%(newIp, currentTime))
21 else:
22 print '%s is not changed at %s'%(currentIp, currentTime)
윗 스크립트를 crontab으로 10분마다 한번씩
0,10,20,30,40,50 * * * * /etc/cron.hourly/ipcheck.py
현재 DynamicIpProblem은 다 해결되었지만,,, 한가지. 최초 lookup시 시간이 좀 걸리긴 하다. 생각해보면, bioinfo.sarang.net의 [IP]를 얻기위한 절차는
net 에다가 ns.sarang.net을 물어본다. (->) ns.sarang.net 의 ip 획득
ns.sarang.sarang 에다가 bioinfo.sarang.net 을 물어본다. (->) cname으로 ns.biohackers.net 에 있다고 알게됨.
net 에다가 ns.biohackers.net 을 물어본다. (->) cname으로 ns.dnsever.com 에 있다고 알게됨
ns.dnsever.com 에다가 ns.biohackers.net 을 물어본다. (->) [DDNS]로 연결된 [IP]를 알게됨
ns.biohackers.net 에다가 bioinfo.sarang.net 을 물어본다. (->) BioinfoSarangNet [DNS]가 현재 [IP]를 알려줌.
이러니... 오래걸릴수밖에, 게다가 [DDNS]로 인해 캐쉬에 있는 시간을 최대한으로 줄였으므로, 시간은 더 걸린다. --[yong27], 2005-01-17