IPv6 内网穿透(二)

前言

书接上回,ipv6能实现远程访问了,但地址太长且地址不固定,本来打算用华硕路由器自带的DDNS,试了一下发现好像不支持ipv6的,查了下官网,发现固件版本:3.0.0.4.386.46061后才支持ipv6 DDNS,然后我打算升级固件,发现我的RT-ACRH17无法升级(可能华硕觉得穷比不配吧)。现在只能用外部的域名解析了,正好之前接触过阿里云域名解析,打算使用阿里的域名解析+Python脚本实现DDNS。

1.设置阿里云解析DNS

1.1购买域名

通过阿里云控制台,进入域名买卖界面,按照需求筛选你想要的域名,注意:购买域名需要上传身份信息,实名认证。

IPv6 内网穿透(二)_第1张图片

1.2设置云解析DNS

通过控制台,进入”云解析DNS“—”解析设置“—”添加记录“,你就可以手动添加域名解析了,这里不用手动添加,我们后续通过脚本或者软路由添加。

IPv6 内网穿透(二)_第2张图片

1.3 获取Accesskey ID与Secret

鼠标悬浮头像,点击:”AccessKey管理“

IPv6 内网穿透(二)_第3张图片

这里你可以选择:”子账号accesskey”通过设置细分权限来增加安全性,这里我图省事选择所有执行权限的AccessKey

IPv6 内网穿透(二)_第4张图片

点击左上角:创建AccessKey,通过安全验证后,你就获取到一个AccessKey ID和Secret。注意:保存好这个!

IPv6 内网穿透(二)_第5张图片

2.Python脚本

大体思路就是通过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()

3.iKuai 软路由

搜索资料的时候发现ikuai软路由支持阿里的DDNS,且支持ESXI安装,这不巧了,果断使用软路由。但发现服务器的网卡少了,斥巨资(150大洋)买了块双千兆网口的Intel82576,购买时询问卖家是否支持Esxi,或者通过https://www.vmware.com/resources/compatibility/search.php 查看是否支持。

3.1安装ikuai

这里注意下提前将网口直通给到ikuai虚拟机,下图网卡默认是禁用状态,选择直通后,重新引导Esxi即可变为活动.

IPv6 内网穿透(二)_第6张图片

其他的安装步骤于创建虚机并无太大差异,选择“添加其他设备”—“Pcie设备”,即添加网卡。

3.2设置ikuai初始化参数

按照“设置网卡绑定”—“设置lan/wan地址”的顺序,设置好端口绑定关系,其中lan1口地址为网关地址,wan口地址无需设置,通过后续PPPoE拨号获得。通过设置的lan1地址+端口号访问iKuai管理界面。

IPv6 内网穿透(二)_第7张图片

IPv6 内网穿透(二)_第8张图片

3.3 配置iKuai

设置路由模式:选择“系统设置”—“基础设置”,上网模式改为:路由模式,链路模式:主干模式。

IPv6 内网穿透(二)_第9张图片

设置PPPoE拨号:选择“网络设置”—“内外网设置”—“wan1”,填入拨号方式、账号、密码即可

IPv6 内网穿透(二)_第10张图片

设置DHCP服务:选择“网络设置”—“DHCP设置”—“DHCP服务端”—“添加”,客户端地址为lan1地址同网段即可,网关选择lan1地址。

IPv6 内网穿透(二)_第11张图片

设置ipv6:选择“网络设置”—“IPv6”—“IPv6设置”—“外网配置”—“编辑”,勾选ipv6开启,即可

IPv6 内网穿透(二)_第12张图片

3.4 配置DDNS

设置动态域名:选择“高级应用”—“动态域名”—“添加”;

服务商:aliyun.com

域名:你购买的域名下的二级域名

主域名:你购买的域名

Access Key ID和Access Key Secret:前面保存的阿里云api授权账号、密码。

解析设置:选择MAC地址或者DUID(DHCPv6全局唯一标识符),可以通过DHCP终端列表获取到

记录类型:AAAA(ipv6)

IPv6 内网穿透(二)_第13张图片

配置完成后,你将看到“更新结果:成功”,此时你就可以通过域名进行访问了!

IPv6 内网穿透(二)_第14张图片

至此,有线设备可以通过ikuai的直通lan口进行互联网访问,而无线则可以通过软路由+无线AP形式访问互联网。

4.配置无线路由器

通过ikuai软路由进行拨号后,无线路由器不再需要路由功能,我们通过修改工作模式为ap,即可实现手机,笔记本电脑等无线终端通过无线访问。下面以华硕路由器为例:

4.1 修改工作模式为AP

IPv6 内网穿透(二)_第15张图片

4.2 选择自动获取内网ip地址

勾选自动获取后,可能导致你无法获取到正确的路由器管理地址,可以通过在终端安装ASUS Device Discovery程序扫描无线获取管理地址,详情见:https://www.asus.com.cn/support/FAQ/1037094

IPv6 内网穿透(二)_第16张图片

4.3 验证

IPv6 内网穿透(二)_第17张图片

你可能感兴趣的:(网络,网络)