目前使用三大运营商宽带服务都会下发公网IPv6地址,这样我们想要在外网访问家里的路由、NAS等设备就可以直接通过IPv6地址来访问了。但是每次重新拨号后IPv6地址都会改变,而且IPv6的地址很长,这样就引出了动态域名服务,即DDNS。

其实DDNS的原理就是将本地获取到的公网IP地址告诉域名服务商,并且在IP地址发生变化时也会同步新的IP地址到域名服务器程序,这样我们只需使用域名就可以随时随地去访问家里的设备了。

为了安全起见,路由器的防火墙策略默认是禁止从外网主动访问内网的设备的,我们需要将被访问的设备上的服务对应的端口开放出来。

归纳起来其实就两步:1)DDNS;2)开放端口。

下面我们就来实际操作一下吧

一、配置IPv6 DDNS

以下是两种DDNS方法,任选其一即可

1.使用每步DDNS

首先去免费动态域名解析服务器IPV6内网穿透软件监控源码下载-青岛每步 (meibu.com)这个网站注册一个域名,如:xxxxxx.noip.cn,并且复制出注册时设置的登陆密码备用。

下载meibu.sh这个脚本,将第35行中xxxxxx.noip.cn和123456改为你自己申请的域名和登陆密码。

将meibu.sh脚本使用WinSCP等工具上传至需要做域名解析的设备中,此处以我的OpenWrt为例

SSH登陆设备

创建目录

mkdir -p /usr/share/meibu

将脚本上传至此目录(/usr/share/meibu)

赋予脚本执行权限

chmod +x /usr/share/meibu/meibu.sh

执行脚本

/usr/share/meibu/meibu.sh

查看ip.txt文件内容

ll /usr/share/meibu
cat /usr/share/meibu/ip.txt

查看域名解析到的地址是否和ip.txt中的匹配

nslookup xxxxxx.noip.cn 8.8.8.8

如果两个地址一致则表明解析成功

添加定时任务

crontab -e

添加以下内容

* * * * * /bin/sh /usr/share/meibu/meibu.sh

这样每分钟就会查询一次IP地址,有变化时就将新的IP地址绑定到域名上

2.使用dynv6 DDNS

Free dynamic DNS for IPv6 (dynv6.com)这个网站注册一下,使用邮箱确认(注:邮箱链接确认可能需要梯子)后登陆

dynv6这儿创建一个域名

创建好后切换到instructions标签,如下图,复制域名和token备用

下载dynv6.sh这个脚本文件

SSH登陆设备

创建目录

mkdir -p /usr/share/dynv6

上传脚本至/usr/share/dynv6目录中

赋予脚本执行权限

chmod +x /usr/share/dynv6/dynv6.sh

输入以下命令进行解析(注意将红字部分替换为自己的token和域名)

token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /bin/sh /usr/share/dynv6/dynv6.sh xxxxxx.v6.navy

查看域名解析到的地址

nslookup xxxxxx.v6.navy 8.8.8.8
cat /usr/share/dynv6/.dynv6.addr6

两个地址一致则域名解析成功

添加定时任务

crontab -e

添加以下内容

* * * * * token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /bin/sh /usr/share/dynv6/dynv6.sh xxxxxx.v6.navy

二、开放外网访问端口

防火墙的设置都是在主路由上进行的,这里分别以主路由是Padavan和OpenWrt开放8088端口为例。

1.Padavan开启IPv6外网访问端口

(1)开启路由器自身端口

ip6tables -A INPUT -p tcp --dport 8088 -j ACCEPT
ip6tables -A OUTPUT -p tcp --sport 8088 -j ACCEPT

(2)开启局域网其他设备端口

ip6tables -A FORWARD -p tcp --dport 8088 -j ACCEPT

(3)开机自动开放端口

在“高级设置”->“自定义设置”->“脚本”->“在防火墙规则启动后执行:”最后添加以下内容

# 开启路由器自身端口
ip6tables -A INPUT -p tcp --dport 8088 -j ACCEPT
ip6tables -A OUTPUT -p tcp --sport 8088 -j ACCEPT
# 开启局域网其他设备端口
ip6tables -A FORWARD -p tcp --dport 8088 -j ACCEPT

点击最下面的“应用本页面设置”

2.OpenWrt开启IPv6外网访问端口

(1)开启路由器自身端口

ip6tables -I INPUT -p tcp --dport 8088 -j ACCEPT
ip6tables -I OUTPUT -p tcp --sport 8088 -j ACCEPT

(2)开启局域网其他设备端口

ip6tables -I zone_wan_forward -p tcp -m tcp --dport 8088 -m comment --comment Allow-8088 -j zone_lan_dest_ACCEPT

(3)开机自动开放端口

vim /etc/rc.local

在exit 0上面添加

# 开启路由器自身端口
ip6tables -I INPUT -p tcp --dport 8088 -j ACCEPT
ip6tables -I OUTPUT -p tcp --sport 8088 -j ACCEPT
# 开启局域网其他设备端口
ip6tables -I zone_wan_forward -p tcp -m tcp --dport 8088 -m comment --comment Allow-8088 -j zone_lan_dest_ACCEPT

保存退出

附:使用socat转发内网IPv4服务

如果不是访问局域网NAS这类对传输速度要求特别高的设备,可以在主路由上使用socat来进行转发,这样就只需要在主路由上配置一次DDNS,然后想访问局域网哪个设备只需配置socat转发并开启主路由自身的外网访问端口即可,如外网访问主路由的IPv6 8088端口时转发至内网设备的192.168.2.110:80这个服务,只需执行以下命令即可:

nohup socat TCP6-LISTEN:8088,reuseaddr,fork TCP4:192.168.2.110:80 > /dev/null 2>&1 &

开机自动执行转发

Padavan固件:找到“高级设置”->“自定义设置”->“脚本”->“在路由器启动后执行:”,添加以下命令

nohup socat TCP6-LISTEN:8088,reuseaddr,fork TCP4:192.168.2.110:80 > /dev/null 2>&1 &

点击最下面的“应用本页面设置”

OpenWrt固件:将上面的命令添加到/etc/rc.local文件(exit 0上面)中,保存退出。

配置IPv6公网地址DDNS并开放外网访问端口的更多相关文章

  1. windows server 2012 r2 8080外网访问端口发布设置

    windowser server 2012 r2 8080外网访问端口发布设置,在配置服务器时候,8080端口作为默认的web访问的端口,那么如何配置呢如下步骤: 工具/原料 windowser se ...

  2. 配置Internal Load balancer中VM的外网访问

    当在Azure中部署SQL VM时,处于安全考虑,不会配置VM的Public IP,会禁止外网的进出站访问,只允许从内部VNET,或者特定的内部IP访问.特别是当使用Azure Internal Lo ...

  3. 使用Xshell配置外网访问端口

  4. 腾讯云linux系统部署项目无法通过外网访问

    最近尝试使用了一下腾讯去的linux系统服务器,但是却遇到各种问题,下面记录的问题是项目部署完成后却无法通过外网访问. 服务器:腾讯云 系统 :CentOS 8.0 64位 处理思路:通过度娘百般摸索 ...

  5. Apache2.4.x版wampserver本地php服务器如何让外网访问及启用.htaccess

    http://www.jb51.net/article/61193.htm ———————————————————————————————————————————— 这篇文章主要介绍了Apache2. ...

  6. 设置openwrt路由器的防火墙_允许从外网访问内网的ipv6服务

    设置openwrt路由器的防火墙_允许从外网访问内网的ipv6服务 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-11-02. 参考文章: IPv6"内网"设备 ...

  7. 外网配置花生壳动态域名解析实现外网访问本地iis及vs实时调试

    描述:假如已连外网,具备一台路由器的情况下在路由器设置页面配置花生壳动态域名解析,使得外网可以访问到本地iis 托管的web服务,模拟真实环境调试应用程序. 网络运营商ip的动态分配,通常网络提供商给 ...

  8. 配置 redis 外网访问

    redis采用的安全策略,默认会只准许本地访问 1 2 3 4 5 6 7 8 9 10 通过简单配置,完成允许外网访问 [root@cache01 conf]# egrep "(^bind ...

  9. 配置多层NAT和端口映射实现外网访问内网

    配置多层NAT和端口映射实现外网访问内网 背景和原理 通过配置NAT可以实现内网中不能直接访问外网的主机通过NAT代理访问内网,配置方法这里不再赘述(前文有介绍).本文以两层的NAT代理做模拟,通过端 ...

随机推荐

  1. 前端小白的学习之路html与css的较量【一】

    html和css的较量 web结构的组成 html标签规则 快速生成一个html html的基本结构 标签的关系 标签 标题标签 段落 图片 超链接 a 属性 a标签里面的值 字符实体 新增的标签 1 ...

  2. Mac/Win录屏工具推荐-LICEcap

    轻小.便捷.操作简单 下载 LICEcap v1.30 for macOS LICEcap v1.28 for Windows 参考地址

  3. 更好的滚动体验>better-scroll

    认识better-scroll better-scroll是一款重点用于解决移动端(已支持PC)各种滚动场景需求的插件,可使页面滚动效果更加流畅且富有弹性 better-scroll是用纯JavaSc ...

  4. 剖析XAML语言

    这节剖析一下XAML(读作:zaml)--这一WPF中的UI设计语言. XAML 在wpf中,UI部分使用xaml语言来编写,xaml语言是由xml语言派生而来的语言,所以在xaml中我们可以看到很多 ...

  5. web自动化框架—BasePage 类的简单封装

    优秀的框架都有属于自己的思想,在搭建web自动化测试框架时,我们通常都遵循 PO(Page Object)思想. 简单理解就是我们会把每个页面看成一个对象,一切皆对象,面向对象编码,这样会让我们更好的 ...

  6. Windows反调试技术(上)

    写在前面 在逆向工程中为了防止破解者调试软件,通常都会在软件中采用一些反调试技术来防破解.下面就是一些在逆向工程中常见的反调试技巧与示例. BeingDebuged 利用调试器加载程序时调试器会通过C ...

  7. PE文件中的输入表

    前言 PE文件中的输入表含有三个重要结构IID,IDT,IAT.PE文件为需要加载的DLL文件创建一个IID结构,一个DLL与一个IID对应.IDT是输入名称表,IAT输入地址表,在没有绑定输入的情况 ...

  8. mysql注入getshell

    0x00 利用条件 root权限 secure_file_priv=为空或者在网站根目录下(网站根目录为d:\www,secure_file_priv=d:\也可以) 知道绝对路径 gpc关闭,这个应 ...

  9. Linux netperf网络性能测试

    Linux netperf网络性能测试 (2013-10-14 16:07:48) 转载▼     网络性能测量的五项指标 1. 可用性(availability) 测试网络性能的第一步是确定网络是否 ...

  10. ssh安全优化免密登陆

    ssh协议 为什么使用ssh协议? 在进行传输时,会对数据进行加密,保证会话安全:telnet协议不是加密传输,在传输过程中如果被抓包,就会造成信息泄露,telnet默认不支持root远程. # 常用 ...