我已经在服务器10.1.1.1:ssh -f -N -o -L 8789:10.2.2.2:22 user@10.2.2.2上创建了这个隧道
这允许我通过端口8789从本地服务器连接到远程服务器,如:ssh -p 8789 user@localhost
我想要实现的是,也让其他服务器通过这个端口连接到远程服务器10.2.2.2,所以我附带了以下内容:
ssh -f -N -o -L 10.1.1.1:8789:10.2.2.2:22 user@10.2.2.2
这样,其他服务器,如10.1.1.2或10.1.1.3 (它们能够将ssh转换为10.1.1.1),可以通过隧道连接到10.2.2.2:
ssh -p 8789 user@10.1.1.1
问题是这样,每个访问10.1.1.1的人都可以使用那个隧道,我不想那样做。假设我只希望10.1.1.2和10.1.1.3能够使用该隧道。我怎样才能做到这一点?谢谢。
发布于 2021-03-12 14:09:59
这可以通过防火墙规则来完成。例如,Iptables。首先,我们允许特定IP上的流量:
iptables -A IN_public_allow -s a.b.c.d -p tcp -m tcp --dport abcd -m conntrack --ctstate NEW -j ACCEPT
然后整个交通都被限制在港口上:
iptables -A IN_public_allow -p tcp -m tcp --dport abcd -m conntrack --ctstate NEW -j DROP
这样,除了ip a.b.c.d之外,每个人都被阻塞在端口上。
https://askubuntu.com/questions/1316797
复制相似问题