firewalld 中需要允许什么,以便 WireGuard 客户端可以通过 SSH 相互连接?
设置
我在 WireGuard VPN 网络上有两个客户端和一个服务器。他们都在运行 Debian 11。
CLIENT A -------- SERVER -------- CLIENT B
10.0.1.2 10.0.1.1 10.0.1.3
可以做什么
- 我可以从任一客户端通过 SSH 连接到服务器。
- 我可以从服务器通过 SSH 连接到任一客户端。
问题: 但是当我尝试 SSH 客户端到客户端时,我得到“ssh:连接到主机 10.0.1.2 端口 22:没有到主机的路由”
故障排除
- 机器之间的路径已启动,因为我可以 ping...
- 客户端到服务器,
- 服务器到客户端,
- 和客户对客户。
- 这些端口是可访问的,因为我可以远程登录...
- 从服务器到端口 22 上的任一客户端。
- 从任一客户端到端口 22 上的服务器。
问题: 但是当我尝试 telnet 客户端到客户端时,我得到“telnet:无法连接到远程主机:没有到主机的路由”
已确认的内容
- SSH 是 firewalld 上列出的服务:
firewall-cmd --list-services
返回ssh
- ip-foward 在内核上设置:
sysctl -a
返回net.ipv4.ip_forward = 1
- 在 iptables 上设置转发:
iptables-save
返回-A FORWARD -i wg0 -o wg0 -j ACCEPT
- 在服务器上禁用 firewalld 确实允许两个 WireGuard 客户端之间的 SSH 连接。
感谢您的帮助和指点。