请教一下fwknop的两个问题,我的webserver和spaserver部署在统一局域网,有什么办法让不在该局域网的客户机能够成功单包授权吗?还有客户端生成密钥文件时,一定要指定客户端IP吗?
补充:webserver与spaserver是同一内网上的两台机器,spaserver同时作为webserver的反向代理,同时部署在公网上,我想达成的效果是客户机可由任意网络对spaserver进行敲门访问,并且能否实现将该客户机生成的配置拿到其他客户机进行使用
单包授权fwknop的使用
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
25条回答 默认 最新
关注 获得0.45元问题酬金 引自免费微信小程序:皆我百晓生
要解决您的问题,首先我们需要了解fwknop的基本概念。FWKnop是一个用于NAT穿透的安全工具,它允许外部主机通过发送特定的UDP数据包到防火墙(通常是内网服务器的端口)来临时打开防火墙上的端口。这通常用于远程管理目的,比如SSH访问。
对于您的第一个问题,如何让不在同一局域网的客户机能够成功进行单包授权,您可以通过以下几个步骤实现:
- 在Web server上配置fwknopd服务。
- 在路由器上设置端口转发规则。
- 客户端生成密钥并配置fwknop客户端。
以下是详细的步骤:
步骤1:在Web server上安装和配置fwknopd
确保Web server上已经安装了fwknopd。如果没有,可以使用以下命令(基于Debian/Ubuntu系统)进行安装:
sudo apt-get update sudo apt-get install fwknopd
然后编辑
/etc/fwknop/fwknopd.conf
文件,添加一个新的策略。例如,为端口80创建一个策略:[Policy_1] Command = /usr/bin/service apache2 restart Port = 80 Protocol = tcp AllowedHosts = *
保存并退出后,启动fwknopd服务:
sudo service fwknopd start
步骤2:在路由器上设置端口转发规则
在您的路由器上,将公网端口(例如,你可以选择56789)映射到内部网络中的Web server的端口(80)。具体操作取决于您的路由器型号,通常可以在路由器的管理界面找到“端口转发”或“虚拟服务器”选项。
步骤3:在客户端生成密钥并配置fwknop
在客户端机器上,同样需要安装fwknop。然后使用以下命令生成密钥文件,并提供Web server的公共IP地址以及之前定义的策略名:
fwknop-genkey -H <public_ip_of_web_server> -P Policy_1 > client_key_file.key
接下来,配置fwknop客户端。安装完成后,运行以下命令以连接到Web server并执行策略中的命令:
fwknop-client -H <public_ip_of_web_server> -P Policy_1 -f client_key_file.key
这样,当客户端执行上述命令时,会向Web server发送一个UDP数据包,触发策略中定义的服务重启。
至于您的第二个问题,客户端生成密钥文件时,不一定非得指定客户端IP。在上面的示例中,我们没有指定客户端IP,而是使用了
*
作为通配符,这意味着任何主机都可以使用这个密钥来触发策略。然而,为了提高安全性,您可以将AllowedHosts
字段设置为允许的特定IP列表。例如:[Policy_1] Command = /usr/bin/service apache2 restart Port = 80 Protocol = tcp AllowedHosts = 192.168.1.100,192.168.1.101
在这个例子中,只有来自192.168.1.100和192.168.1.101的请求会被接受。
注意:在实际生产环境中,为了安全考虑,建议使用SSL/TLS加密通信,并且限制密钥文件的权限,仅允许被信任的用户访问。同时,定期更换密钥也是一个好的实践。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
- ¥15 C语言使用vscode编码错误
- ¥15 用KSV5转成本时,如何不生成那笔中间凭证
- ¥20 ensp怎么配置让PC1和PC2通讯上
- ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
- ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
- ¥15 请各位帮我看看是哪里出了问题
- ¥15 vs2019的js智能提示
- ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
- ¥15 uniapp的h5项目写一个抽奖动画