在pfSense中使用3322动态域名的方法

pfSense提供了多种动态域名的绑定服务,但没有对3322动态域名提供直接的支持。经过查找相关资料,找到了使用3322动态域名的方法,现介绍如下。

修改访问端口

由于国内运营商大多数都关闭了公网的80和443端口,如果使用动态域名进行访问,需要修改防火墙的默认访问端口。

导航到防火墙的系统>高级设置>管理员访问菜单,将默认访问端口80改为自定义的端口,本示例修改为5678。修改后保存设置,用新设置的端口重新登录防火墙。

安装程序包

PubYun动态域名提供商提供了对3322域名客户端的技术支持,其中提到了使用lynx绑定的方法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插件,并添加命令来实现启动就运行脚本的目的。

如下图所示:

至此,在pfSense中设置3322动态域名的操作全部完成。OPNsense中的操作基本一致,但开机启动脚本目前还没找到办法。

相关程序包:lynx

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注