赞
踩
书接上回,ipv6能实现远程访问了,但地址太长且地址不固定,本来打算用华硕路由器自带的DDNS,试了一下发现好像不支持ipv6的,查了下官网,发现固件版本:3.0.0.4.386.46061后才支持ipv6 DDNS,然后我打算升级固件,发现我的RT-ACRH17无法升级(可能华硕觉得穷比不配吧)。现在只能用外部的域名解析了,正好之前接触过阿里云域名解析,打算使用阿里的域名解析+Python脚本实现DDNS。
通过阿里云控制台,进入域名买卖界面,按照需求筛选你想要的域名,注意:购买域名需要上传身份信息,实名认证。
通过控制台,进入”云解析DNS“—”解析设置“—”添加记录“,你就可以手动添加域名解析了,这里不用手动添加,我们后续通过脚本或者软路由添加。
鼠标悬浮头像,点击:”AccessKey管理“
这里你可以选择:”子账号accesskey”通过设置细分权限来增加安全性,这里我图省事选择所有执行权限的AccessKey
点击左上角:创建AccessKey,通过安全验证后,你就获取到一个AccessKey ID和Secret。注意:保存好这个!
大体思路就是通过IP.SB的url返回值获取到当前设备的外网地址,而ipv6地址就是设备自身ip,再通过阿里云的DNS的api接口去自动更新域名解析记录。
# -*- coding: utf-8 -*- from urllib.request import urlopen from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_alidns20150109 import models as alidns_20150109_models from alibabacloud_alidns20150109.client import Client as Alidns20150109Client # 使用IP.SB的接口获取ipv6地址 ip = urlopen('https://api-ipv6.ip.sb/ip').read() ipv6 = str(ip, encoding='utf-8') print("获取到IPv6地址:%s" % ipv6) # 需要解析的域名 sub_domain_name = '你的域名' def create_client(access_key_id: str, access_key_secret: str, ) -> Alidns20150109Client: """ 使用AK&SK初始化账号Client @param access_key_id: @param access_key_secret: @return: Client @throws Exception """ config = open_api_models.Config( # 您的AccessKey ID, access_key_id=access_key_id, # 您的AccessKey Secret, access_key_secret=access_key_secret ) # 访问的域名节点,固定配置无需调整 config.endpoint = f'alidns.cn-hangzhou.aliyuncs.com' return Alidns20150109Client(config) # 传入参数:access_key_id,access_key_secret client = create_client('你的access_key_id', '你的access_key_secret') def query_subdomain_records(): """查询当前的域名解析结果""" describe_sub_domain_records_request = alidns_20150109_models.DescribeSubDomainRecordsRequest( sub_domain=sub_domain_name) domain_search_result = client.describe_sub_domain_records(describe_sub_domain_records_request) domain_list = domain_search_result.body.domain_records.record[0] return domain_list def update_subdomain_records(): """更新域名解析:通过ip.sb拿到的地址与阿里云解析的地址进行对比,若发生变化则update域名解析记录""" if ipv6.strip() == query_subdomain_records().value.strip(): print("ipv6地址未发生变化") else: update_domain_record_request = alidns_20150109_models.UpdateDomainRecordRequest( record_id=query_subdomain_records().record_id, rr=query_subdomain_records().rr, type=query_subdomain_records().type, value=ipv6 ) client.update_domain_record(update_domain_record_request) if __name__ == '__main__': query_subdomain_records() update_subdomain_records()
搜索资料的时候发现ikuai软路由支持阿里的DDNS,且支持ESXI安装,这不巧了,果断使用软路由。但发现服务器的网卡少了,斥巨资(150大洋)买了块双千兆网口的Intel82576,购买时询问卖家是否支持Esxi,或者通过https://www.vmware.com/resources/compatibility/search.php 查看是否支持。
这里注意下提前将网口直通给到ikuai虚拟机,下图网卡默认是禁用状态,选择直通后,重新引导Esxi即可变为活动.
其他的安装步骤于创建虚机并无太大差异,选择“添加其他设备”—“Pcie设备”,即添加网卡。
按照“设置网卡绑定”—“设置lan/wan地址”的顺序,设置好端口绑定关系,其中lan1口地址为网关地址,wan口地址无需设置,通过后续PPPoE拨号获得。通过设置的lan1地址+端口号访问iKuai管理界面。
设置路由模式:选择“系统设置”—“基础设置”,上网模式改为:路由模式,链路模式:主干模式。
设置PPPoE拨号:选择“网络设置”—“内外网设置”—“wan1”,填入拨号方式、账号、密码即可
设置DHCP服务:选择“网络设置”—“DHCP设置”—“DHCP服务端”—“添加”,客户端地址为lan1地址同网段即可,网关选择lan1地址。
设置ipv6:选择“网络设置”—“IPv6”—“IPv6设置”—“外网配置”—“编辑”,勾选ipv6开启,即可
设置动态域名:选择“高级应用”—“动态域名”—“添加”;
服务商:aliyun.com
域名:你购买的域名下的二级域名
主域名:你购买的域名
Access Key ID和Access Key Secret:前面保存的阿里云api授权账号、密码。
解析设置:选择MAC地址或者DUID(DHCPv6全局唯一标识符),可以通过DHCP终端列表获取到
记录类型:AAAA(ipv6)
配置完成后,你将看到“更新结果:成功”,此时你就可以通过域名进行访问了!
至此,有线设备可以通过ikuai的直通lan口进行互联网访问,而无线则可以通过软路由+无线AP形式访问互联网。
通过ikuai软路由进行拨号后,无线路由器不再需要路由功能,我们通过修改工作模式为ap,即可实现手机,笔记本电脑等无线终端通过无线访问。下面以华硕路由器为例:
勾选自动获取后,可能导致你无法获取到正确的路由器管理地址,可以通过在终端安装ASUS Device Discovery程序扫描无线获取管理地址,详情见:https://www.asus.com.cn/support/FAQ/1037094
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。