IPv6 内网穿透(二)

前言

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

1.设置阿里云解析DNS

1.1购买域名

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

1.2设置云解析DNS

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

在这里插入图片描述

1.3 获取Accesskey ID与Secret

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

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

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

在这里插入图片描述

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即可变为活动.

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

3.2设置ikuai初始化参数

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

3.3 配置iKuai

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

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

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

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

3.4 配置DDNS

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

服务商:aliyun.com

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

主域名:你购买的域名

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

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

记录类型:AAAA(ipv6)

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

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

4.配置无线路由器

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

4.1 修改工作模式为AP

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

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

4.3 验证

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
群晖内网穿透是一种通过IPv6实现的网络连接技术,可以让用户在不同网络环境下通过公网IP访问到位于内部局域网中的群晖设备。 首先,要实现IPv6内网穿透,我们需要确保网络接入点(如路由器)支持IPv6协议。如果你的网络环境还未支持IPv6,需要联系网络服务提供商或者更换路由器等设备。 接下来,我们需要针对群晖设备进行一些设置。首先,在群晖控制面板中找到“网络”选项,然后点击“DSM设置”进入配置页面。在IPv6设置中,选择“启用IPv6”,然后选择你的IPv6连接类型(如ADSL或PPP连接),并填写相关信息。保存设置后,群晖将会根据你的网络环境自动获取IPv6地址。 在群晖设置完成后,我们需要进行端口转发配置。进入路由器的管理界面,找到“端口映射”或“端口转发”选项,进行相应配置。在配置过程中,我们需要指定群晖设备的内网IP地址,并将需要穿透的端口进行转发。 最后,我们需要在群晖上安装和配置相应的内网穿透软件。有一些第三方软件可以实现IPv6内网穿透功能,例如frp或ngrok。下载并安装这些软件后,进行相关配置,指定需要穿透的内网端口和域名等信息。 完成以上步骤后,我们就可以通过IPv6地址和相应的端口访问群晖设备了。注意,为了确保安全性,建议设置强密码并定期更新,避免不必要的风险。 总结而言,群晖IPv6内网穿透需要确保网络环境支持IPv6协议,进行相应的群晖设置和端口转发配置,并安装和配置内网穿透软件。这样,我们就可以实现通过公网IP访问到群晖设备的目的。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值