修改华硕路由器 hosts 搭建开发用的测试环境
一、起因
由于开发需要修改某个域名的IP地址用来测试,又没有权限直接修改域名的DNS,所以买了一个可以修改hosts的小路由器--极路由1S,但是随着团队人员越来越多发现,这个极路由的WiFi已经无法允许这么多人连接了,连接的人太多导致连不上WiFi的情况越来越多,所以又买了一个华硕路由器接到极路由上,作为一个子网,这样就满足了修改域名解析和团队WiFi的需要。
二、问题
有时候觉得网络有一点慢,我想可能是由于极路由这个小路由器性能不够导致的,所以我就想能否实现直接用华硕路由器修改域名解析,这样就避免了小马(极路由1)拉大车(华硕路由器)的情况,应该可以让网络的速度提升一些。
三、解决方法
经过研究终于找到一个方法,那就是给华硕路由器刷机,刷上开源的梅林系统,然后就可以通过修改系统的hosts文件来修改域名的解析了
四、华硕路由器刷机梅林固件
① 首先到梅林官网下载对应的刷机包
② 打开路由器管理界面
③ 系统管理->固件升级->新固件文件->点击上传
④ 稍等几分钟就可以刷机成功了
五、华硕路由器开启SSH连接
打开路由器管理界面
依次打开 系统管理->系统设置
Ruby
# Enable JFFS custom scripts and configs 这个选择“是”
# 启用SSH 选择 “LAN only”
# 如果你会配置密钥的话,那么把授权的公钥填写到“授权密钥”
# 如果你不会配置,那么 “允许密码登录”这一项选择“是”就好了
六、登录路由器修改hosts并使之生效
打开终端工具,执行:
Bash
ssh admin@router.asus.com
#连接到路由器后继续执行如下程序
cd /jffs
vi dnsmasq.conf.add # 创建一个名为 dnsmasq.conf.add
dnsmasq.conf.add 文件的内容:
Bash
addn-hosts=/jffs/configs/hosts #完成后 ESC,然后 :wq 保存退出
然后继续执行命令,到 /jffs/configs 目录下创建一个 hosts 文件
Bash
cd /jffs/configs
vi hosts # 编辑 hosts 文件
hosts文件的内容:
Bash
127.0.0.1 google.com
最后重启 dnsmasq
Bash
service restart_dnsmasq
这个时候就 google.com 的解析返回的IP就是 127.0.0.1 了吗?
不一定,还需要最后一点设置,看下一节
七、不要忘记修改路由器DHCP服务默认DNS为192.168.1.1
经过上面的设置可能连接路由器的电脑 ping google.com 的IP可能已经是127.0.0.1了,也可能不是
取决于你的路由器dhcp中分配给连接的设备的dns设置,这里只允许设置一个dns就是路由器的地址
如果这里的dns1你设置的是路由器的IP,dns2设置的是 114.114.114.114 那么,以上的设置可能不生效
具体设置:
打开路由器管理界面
内部网络(LAN)->DHCP服务器->DNS Server 1
这里只设置DNS Server 1为路由器地址就好了
DNS Server 2一定要空着
到这里用修改路由器hosts文件的方式来修改域名解析就可以正常使用了,
以后需要修改其他域名只需要修改hosts文件然后重启dnsmasq服务即可。