fwknopd -f -v -i eth0

fwknopd -f -v -i eth0

我正在尝试在 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 的全面教程可以在这里找到:

http://www.cipherdyne.org/fwknop/docs/fwknop-tutorial.html

答案2

经过 5 个多小时的尝试,Michael Rash 先生的回答让我意识到这fwknop不起作用,因为守护进程已被关闭。:/

在 Ubuntu 上启动 fwknop-server 守护进程:

Ubuntu15.10(可能还有其他版本),该服务默认未启用,因此应该:

  1. 编辑文件:

    /etc/default/fwknop 服务器

  2. 将第 5 行从:

    START_DAEMON="否"

    猜猜是什么?至:

    START_DAEMON="是"

  3. 然后停止它(即使它已经停止)并重新启动,使用以下命令:

    sudo service fwknop-server stop

    并使用以下命令重新启动它:

    sudo service fwknop-server start

  4. 显然该命令service fwknop-server restart不起作用。


检查服务是否正在运行

如果您想查看守护进程是否正在运行,请使用以下命令:

sudo fwknopd-S

当它不运行时它会显示:No running fwknopd detected.

运行时显示:Detected fwknopd is running (pid=PID_NUM).


所以我认为 Michael 先生的答案应该被标记为正确答案,以利于社区,因为其他人的设置可能存在其他问题。感谢 Michael 先生提供这款出色的软件!

相关内容