3322.org动态DNS
2009-05-13 00:47:44来源:未知 阅读 ()
基本情况描述
先看一下拓扑
在Linux or FreeBSD的平台下在上面的拓扑的时候可能回出现 从3322.org下的软件不能用的情况。
具体情况如下。
上面的路由器向SP 通过PPPoE的拨号后,得到一个公网的IP地址。并且配置NAT使下面的LAN上网。这样下面的这个服务器是没有公网IP地址的。
但是这个时候可能需要这个服务器来提供一个3322.org的动态DNS的更新。
但是在 ez-ipupdate 的配置文件里面一定要制订一个interface的参数。如果在配置文件中,制定一个接口,那么在 3322.org上看到的就是一个Private的IP。
思路
看了3322.org上面关于DDNS的协议标准(
http://www.3322.org/dyndnspage/protocol.html
),然后有看了google上一些人的一些文章。
其实,他就是通过访问members.3322.org的web服务器,然后通过URL来传递一些参数来实现DDNS的更新。并且,
==================================================================================
myip=ipaddr System:All Optional: Yes
域名对应的IP。如果不指定,则服务器将选择最佳的IP(一些Proxy会传递客户端的IP,
这会被服务器检测到)。如果传递的地址格式错误,则忽略这个参数,而用服务器检测
到的IP。
==================================================================================
这个部分和有用。原来的程序是通过在配置文件中指定interface来拿到这个myip的参数的。其实,我现在不想让他拿到这个IPaddr。
很久以前还在大学的时候看过一些Perl的东西,可以通过Perl来实现 DDNS的更新。
由于编程水平有限,下面的script是没有一点错误处理的。毕竟是想自己用么。不想形成一个Perl的软件。(也没有必要写的太完美)。
Perl的脚本如下:
#!/usr/bin/perl
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$ua->agent("MyApp/0.1 ");
# Create a request
my $req = HTTP::Request->new(POST => 'http://username:password@members.3322.org/dyndns/update');
$req->content_type('application/x-www-form-urlencoded');
$req->content('system=dyndns&hostname=host.3322.org&myip=abc&wildcard=OFF');
# Pass request to the user agent and get a response back
my $res = $ua->request($req);
# Check the outcome of the response
if ($res->is_success) {
print $res->content;
}
else {
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- netbsd启动gnome失败! 2009-05-13
- 提示:bad kernel: arp : 内网IP地址 is on em0 but got rep 2009-05-13
- 问一下:ipfw+natd 如何实现回流端口映射 2009-05-13
- spawn-fcgi启动问题,亟待解决!!! 2009-05-13
- 请问在FreeBSD6.2下如何编写监控脚本!!!!!!!!!!! 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash