首页 > 服务器 > 过年回家了,远程管理路由器

作者:ghostry 发布时间:2013-01-28 浏览: 12602

转载注明出处: https://blog.ghostry.cn/server/guo-nian-hui-jia-le---yuan-cheng-guan-li-lu-you-qi.html

马上就要过年 了.路由器我准备开着,说不定干点什么.但是远程管理是个问题
我以前只会在公司管理.公司又是固定ip设置简单.开放这个ip的权限就行了
回家了就不定在哪上网呢.这可麻烦了.
我又不愿意给所有网络开放路由管理登陆权限.
于是我想到了开放域名管理权限.然后ddns.
先在luci添加防火墙记录,上移到顶部,这样他就是防火墙的第一条了.下面这句是替换第一条记录.

iptables -R zone_wan 1 -s lime.ghostry.tk -j ACCEPT

我发现iptables,最少是我hg255d的iptables不支持这个.就算是写对域名的,最后记录下来的还是域名对应的ip.
于是我设置计划任务.让他每隔10分钟重新设置.这样应该可以反应域名对应ip的变换.
经过测试我的猜想是对的.
然后就是更新dns了.我用的dnspod.有接口可以动态dns.但是用户名密码是提交的必要数据.这到处输入太不安全了.
我又想到了php的curl
查了dnspod的api.他提供的动态dns更新接口不能设置ip.这样岂不是就提交了服务器的ip了.放弃这个.最后选用了修改记录的api.
然后用服务器取得客户端的ip提交过去.用户名密码也记录到服务器上,我想sae的人不至于觊觎我的用户名密码.相对来说还是安全的
具体实现如下,因为看到了sae的Fetchurl就没有用curl了.

<?php
//定义部分
function get_real_ip(){
	$ip=false;
	if(!empty($_SERVER["HTTP_CLIENT_IP"])){
		$ip = $_SERVER["HTTP_CLIENT_IP"];
	}
	if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
		$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
		if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
		for ($i = 0; $i < count($ips); $i++) {
			if (!eregi ("^(10|172/.16|192/.168)/.", $ips[$i])) {
				$ip = $ips[$i];
				break;
			}
		}
	}
	return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
$ip=get_real_ip();
$post=array(
	'login_email'	=>'用户名',
	'login_password'=>'密码',
	'lang'			=>'cn',
	'domain_id'		=>域id,
	'record_id'		=>记录id,
	'sub_domain'	=>'lime',
	'record_type'	=>'A',
	'record_line'	=>'默认',
	'value'			=>$ip,
	'ttl'			=>10,
);
$url='https://dnsapi.cn/Record.Modify';
//操作部分
if($ip){
	$f = new SaeFetchurl();
	$f->setMethod('post');
	$f->setPostData( $post );
	$ret = $f->fetch($url);
	//抓取失败时输出错误码和错误信息
	if ($ret === false)
        var_dump($f->errno(), $f->errmsg());
	echo $ret;
}


这样就实现了不用提交任何信息就更新域名对应ip了.
然后我就可以在任何地方操作我的路由器.又不担心别人也能操作了.
能同时和我一个ip又有坏心眼,又很巧的扫描到我的路由,这样的几率还是很小的.

标签: hg255d 折腾 dnspod 路由 远程管理

上一篇: 养了个小植物
下一篇: 买了个u盘,开始折腾

已有 10 条评论 »

  1. 不知道普通的路由器OPENWRt系统怎么远程控制,试过一直不成功

    1. 我的就是openwrt。

  2. 表示没搞过路由~只用hub挂过花生壳

  3. 不固定ip就难了。。虽然还没搞过

  4. 哈 高级应用了

  5. 表示不懂,但是连接打不开...

    1. 哪有什么连接?

      1. lime.ghostry.tk 难道我理解错了...?

        1. 这个必须打不开.这连接只是为了记录ip

添加新评论 »

*
*

欢迎评论!歡迎評論!Comments welcome!komentoj bonvenaj!댓글 오신 것을 환영합니다!
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: :cold: :cryy: :cute: :shy: :sleep: :struggle: :tea: :yahou: