pfSense提供了多种动态域名的绑定服务,但没有对3322动态域名提供直接的支持。Pubyun官方实际上提供了动态域名绑定的方法 ,现在把具体的使用方法介绍如下。
修改访问端口
由于国内运营商大多数都关闭了公网的80和443端口,如果使用动态域名进行访问,需要修改防火墙的默认访问端口。
导航到防火墙的系统>高级设置>管理员访问菜单,将默认访问端口80改为自定义的端口,本示例修改为5678。修改后保存设置,用新设置的端口重新登录防火墙。
安装程序包
在pfSense中绑定3322动态域名需要运行脚本,必须使用lynx来运行,由于pfSense中并没有包含该程序,我们需要下载基于FreeBSD的lynx程序包和libidn依赖包。可以在pkgs.org搜索下载,文章末尾也提供了下载地址。
使用Winscp将下载的两个扩展名为txz的文件上传到pfSense的tmp目录,然后进入防火墙的shell环境,使用pkg add xxx.txz命令进行安装。如下图所示。
运行脚本代码
在运行代码以前,确保你已经注册了3322帐号,并设置好了动态域名。代码如下:
lynx -mime_header -auth=用户名:密码 "http://members.3322.net/dyndns/update?system=dyndns&hostname=域名"
运行以后,如下图所示,箭头所指的地方已经正确解析了IP地址。
在3322的域名管理界面,可以看见防火墙的公网IP被正确解析。
访问测试
现在使用域名加端口号就可以访问防火墙了,本示例为http://pfs.f3322.net:5678。使用该地址访问时,可能会出现以下出错提示:
这是因为DNS重绑定检查起作用了,还需要修改防火墙的DNS重绑定检查设置。
导航到防火墙的系统>高级设置>管理员访问,找到重绑定检查和备用主机名选项,这两个选项设置其中一个,就可以解除重绑定的安全检查。本示例中,在备用主机名处填入动态域名。
再次访问,一切正常。
其他设置
由于是命令行输入,防火墙重启以后,绑定会自动失效。为了让防火墙在启动时自动运行命令,我们可以安装shellcmd插件,并添加命令来实现自启动。
如下图所示:
OPNsense的操作基本一致,但开机启动脚本目前还没找到办法。
相关程序包:lynx
你好,我想问一下,这边配置了防火墙带有no-ip的动态域名服务之后,为什么不会同步IP地址呢,刚开始能用,现在完全不会同步更新了