我正在尝试在 VirtualBox Debian 7 机器上安装 fwknop。
它安装时没有错误(apt-get install fwknop-server -y
),我在文件中进行了修改,/etc/default/fwknop-server
因此守护进程运行。我制作了一个节用于测试目的。然后我重新启动了 fwnop /etc/init.d/fwknop-server restart
。我做了一个fwknop -S
来查看状态,一切都在运行。
我也尝试apt-get remove --purge fwknop-server -y
用 卸载它然后重新安装aptitude install fwknop-server -y
。
但是,在这两种情况下,它似乎都无法正常运行。我尝试运行命令以打开端口(在客户端中),因为 stanza 已配置,但没有打开配置的端口。如果我在服务器中运行,iptables -vL
我会在链的上部看到由 fwknop 制定的规则INPUT
,我还会看到链FWKNOP_INPUT
是空的。如果我运行 a,netstat -nulp | less
我找不到fwknop
正在监听的port udp/62201
或任何其他端口。
问题 1:fwknop 不应该监听 udp 62201 并出现在netstat -nulp
输出中吗?
第二季度:我该如何调试这个问题?
更新 2014-02-19
关于设置的一点信息:Debian 7 机器在 VirtualBox 上。我的主机在 192.168.1.101 上,Debian 在 192.168.56.101 上。网络配置为仅主机适配器。
该/etc/network/interfaces
文件配置如下:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.56.101
netmask 255.255.0.0
gateway 192.168.56.1
dns-nameservers 192.168.56.1
network 192.168.56.0
broadcast 192.168.56.255
甚至尝试使用 pgp。但在 Windows 下,客户端无法与 pgp 配合使用。
回到 Rijndel 密钥。
所以,问题出在发送的数据包上。服务器似乎运行正常。
sanza 非常简单:
SOURCE: ANY;
OPEN_PORTS: tcp/22;
FW_ACCESS_TIMEOUT: 30;
REQUIRE_SOURCE_ADDRESS: N;
KEY: 1234567890;
然后在 Windows 客户端我有 fwknop 客户端二进制文件并运行fwknop.exe -A tcp/22 -a 192.168.56.1 -D 192.168.56.101 --verbose
FKO Field Values:
=================
Random Value: 8856223091859216
Username: Bogdan
Timestamp: 1392826691
FKO Version: 2.0
Message Type: 1 (Access msg)
Message String: 192.168.56.1,tcp/22
Nat Access: <NULL>
Server Auth: <NULL>
Client Timeout: 0 (seconds)
Digest Type: 3 (SHA256)
HMAC Type: 0 (Unknown)
Encryption Type: 1 (Rijndael)
Encryption Mode: 2 (CBC)
Encoded Data: 8856223091859216:Qm9nZGFu:1392826691:2.0:1:MTkyLjE2OC41Ni4xLHRjcC8yMg
SPA Data Digest: CBjwLFaaNxitUlJPZqpx3xIPE+3pbi3o4QH8D16DC9I
HMAC: <NULL>
Plaintext: 8856223091859216:Qm9nZGFu:1392826691:2.0:1:MTkyLjE2OC41Ni4xLHRjcC8yMg:CBjwLFaaNxitUlJPZqpx3xIPE+3pbi3o4QH8D16DC9I
Final Packed/Encrypted/Encoded Data:
9tkJaoeN8qetZ+zQUiQHNL2SI57wRIs4LFEjRXNQKbEncxQ5/4KCCKm1knvcyH4kTdAdNch8kLAmExbHgpTcq/N9qf+OMLHnrD8tqKGHF2uKCAJIE3THgTr4LvBZWMAz/xTxXoAQf0jo5EjwsK6gOx9MEyEUAQB+Do69BvbG4kONUeW
YgiTvJr
Generating SPA packet:
protocol: udp
source port: <OS assigned>
destination port: 62201
IP/host: 192.168.56.101
send_spa_packet: bytes sent: 182
服务器上的详细结果是:
SPA Packet from ip 192.168.56.1 received.
Error creating fko context: Decryption failed or decrypted data is invalid
请帮我进一步调试。
答案1
Q1:不,fwknopd 不监听端口。它作为以太网嗅探器运行,因此不能用作普通“服务器”,因为它不监听端口。
Q2:调试 fwknopd 发生的情况的最佳方法是按如下方式运行它:
fwknopd -f -v -i eth0
...这将针对 eth0 启动 fwknopd(您可能需要根据您的设置进行更改)但不会启动 fork() 成为守护进程,以便您可以在控制台上看到调试输出...
现在,fwknopd 正在运行,然后继续运行 fwknop 客户端。如果它进行身份验证/解密,您将看到有关 SPA 数据包详细信息以及 fwknopd 执行的相应 iptables 命令,以授予对您使用客户端请求的任何服务的访问权限。
关于 fwknop 的全面教程可以在这里找到:
答案2
经过 5 个多小时的尝试,Michael Rash 先生的回答让我意识到这fwknop
不起作用,因为守护进程已被关闭。:/
在 Ubuntu 上启动 fwknop-server 守护进程:
在Ubuntu15.10(可能还有其他版本),该服务默认未启用,因此应该:
编辑文件:
/etc/default/fwknop 服务器
将第 5 行从:
START_DAEMON="否"
猜猜是什么?至:
START_DAEMON="是"
然后停止它(即使它已经停止)并重新启动,使用以下命令:
sudo service fwknop-server stop
并使用以下命令重新启动它:
sudo service fwknop-server start
显然该命令
service fwknop-server restart
不起作用。
检查服务是否正在运行
如果您想查看守护进程是否正在运行,请使用以下命令:
sudo fwknopd-S
当它不运行时它会显示:No running fwknopd detected.
运行时显示:Detected fwknopd is running (pid=PID_NUM).
所以我认为 Michael 先生的答案应该被标记为正确答案,以利于社区,因为其他人的设置可能存在其他问题。感谢 Michael 先生提供这款出色的软件!