一、LAN口作虚拟的WAN口
1、首先需要新建vlan,Network -> Switch 。
比如下图中,我将LAN1口独立作为一个vlan,用于模拟WAN口。
需要注意的是,cpu接口需要选择为tagged,这样才能同时存在于两个vlan中。会出现的问题是,一旦将正在使用的vlan修改设置之后,可能你的电脑已经和路由器不在一个vlan了,这样会导致无法访问。因为br-lan桥接了默认的vlan和wlan0,所以可以通过wifi连接进去,修改br-lan设置。当然,如果你提前修改好br-lan的设置那就更好了。
还有,有的版本固件中如果出现修改vlan失败的情况,建议通过配置文件修改。
图片里的vlan设置对应的配置内容为:
1 2 3 4 5 6 7 8 9 10 11 12 |
vim /etc/config/network ################################ config switch_vlan option device 'eth1' option vlan '1' option ports '1 2 3 5t' config switch_vlan option device 'eth1' option vlan '2' option ports '0 5t' ################################# |
2、新建interface。
方法一
建立自己的网络接口。在Physical Settings里面选择对应的vlan,之后在Firewall settins里面添加到wan/wan6区。
另一个方法:
Dreambox版本在Network -> Virtual WAN里面可以新建虚拟WAN接口,然后同样是修改Physical Settings ,选择对应的vlan。
这个方法的好处是,在Network -> Load Balancing里面可以方便地进行负载均衡设置,包括多拨的支持。但是问题在于好像很不稳定!
包括某些默认就有WAN接口的路由器,在使用dreambox固件时,如果发现wan接口不稳定,请删除并按照方法一重新建立新的wan接口。
二、DDNS设置
首先需要安装软件:
1 2 |
opkg update opkg install ddns-scripts luci-app-ddns |
重启之后,可以看到有Services菜单。展开菜单即可看到DDNS设置菜单。下面附送截图一张:
具体设置不再赘述。我想说的是我说使用的花生壳DDNS折腾经历。。。
下拉菜单里并没有oray的选项,随后百度了一下,得到了这样一行代码:
1 |
http://[username]:[password]@ddns.oray.com/ph/update?hostname=[your hostname] |
当然也可以这样:
1 |
http://[username]:[password]@ddns.oray.com/ph/update?hostname=[your hostname]&myip=x.x.x.x |
oray官网针对DDWRT给出了一种配置方法,和图片里的配置内容都差不多,应该是可行的,但是由于我是移动宽带,那种方法总是失败。。。不多说了,全是泪。
然后我就打算写脚本自己实现。可是现在太晚了,明天还要早起收拾收拾回学校,有时间再写吧。
其实也就几行代码的事,首先
1 |
wget ”http://checkip.dyndns.com“ |
处理一下得到实际IP,然后再
1 |
wget ”http://[username]:[password]@ddns.oray.com/ph/update?hostname=[your hostname]&myip=x.x.x.x“ |
再用cron定时运行就ok了。
下面内容更新于2015-02-28
针对oray花生壳的ddns脚本已经写好了。
我的具体情况是:
1、传统路由器固件自带的oray ddns更新总是出错。
2、http://ddns.oray.com/checkip/ 上面显示的IP并非我的真实公网IP。(移动宽带有一堆NAT设备。。。)
3、http://checkip.dyndns.com/ 能够显示我的真实IP(后期已失效)。
脚本如下:(最新更新与2016-01-24)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#!/bin/sh cd /root echo \######################################### >> /root/ddns.log echo $(date -Iseconds) >> /root/ddns.log #curl "http://checkip.dyndns.com" > ddns.tmp #curl "216.146.43.70:80" > ddns.tmp curl http://183.238.101.232/ic.asp -H 'Host:1111.ip138.com' > ddns.tmp 2>>/dev/null IP_ADDR=$(grep -o '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}' ddns.tmp |sort -d | uniq) #echo "IP: "$IP_ADDR echo \****** IP: $IP_ADDR \****** >> /root/ddns.log wget "http://[username]:[password]@ddns.oray.com/ph/update?hostname=[your hostname]&myip=$IP_ADDR" -O ddns.tmp -q echo Result: $(cat ddns.tmp) >> /root/ddns.log |
如果http://checkip.dyndns.com/ 不能显示你的真实IP,换一个适合你的就好了。
然后设置cron守护进程开机启动:
1 |
/etc/init.d/cron enable |
配置crontab:
1 2 |
crontab -e */15 * * * * /root/ddns.sh #这里设置为每15min执行一次 |
请问您移动宽带获取的是公网IP还是内网IP?
目前我所处城市的移动宽带不管如何投诉都没法获取公网IP,使用您的方法是否能解决nat ddns?
盼回复
我那边移动是有外网ip的。。。