我想让一个 git-daemon 通过一个永久的 ssh 隧道。我完成了这个任务。如何阻止与 GIT_DAEMON 端口(在我的情况下为 9418)的任何远程非隧道连接?
我已经在 iptables 中尝试过简单的规则(阻止除 localhost 之外的所有内容):
$ iptables -A INPUT -p tcp -d ! localhost --destination-port 9418 -j DROP
但它也会阻塞隧道(因为它保存了源 IP 地址)。如果我有更多的防火墙主机,可以通过阻止与该端口的任何远程连接来简单地完成,但我需要这台主机来完成这项工作。
隧道是通过以下两种方式之一创建的:
对于 Windows:
plink.exe -N -i <key> -L 127.0.0.1:9418:192.168.1.69:9418 tunnel@192.168.1.69
对于 Linux:
ssh -N -i <key> -L 127.0.0.1:9418:192.168.1.69:9418 tunnel@192.168.1.69