我希望将git-daemon通过永久的ssh隧道进行传输。我完成了这个任务。如何阻止任何未经过隧道的远程连接到GIT_DAEMON端口(在我的情况下为9418)?
我已经尝试了iptables中的简单规则(除本地主机外,拒绝一切):
但是它也会阻止一个隧道(因为它保存源IP地址)。如果我有一个额外的防火墙主机,可以通过阻止任何远程连接到此端口来简单地完成此操作,但我需要这个主机来完成此工作。
隧道可以通过以下两种方式之一创建:
对于Windows:
我已经尝试了iptables中的简单规则(除本地主机外,拒绝一切):
$ 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