当服务器和客户端位于两个 NAT 之后时如何使用 XDMCP?

当服务器和客户端位于两个 NAT 之后时如何使用 XDMCP?

网络结构为:

服务器 -> NAT 路由器1 -> 交换机 <- NAT 路由器2 <- 客户端

我无法解决的部分是,在xserver连接到xdm的177/udp后,xdm连接回xserver,比如6001/tcp。因此服务器网络不知道如何连接到另一个 NAT 内的 IP。

NAT 路由器的功能并不丰富(就路由而言),只是公开任何必要的端口。例如,我从服务器暴露了22/tcp和177/udp。

我尝试了 xqproxy,xdm 只是拒绝会话 id。

答案1

暂定答案,无需查看协议细节:

从您的描述来看,似乎存在协议级别的混乱,其中“真实”IP 在协议内部传输,而 NAT 后的 IP 在外部使用。

解决此问题的正确方法是在“NAT 路由器 1”上运行某些程序,当它将 IP NAT 到其他内容时,该程序会重写 XDMCP 数据包内的 IP。

我不知道是否存在这样的事情。您始终可以自己编写这样的代理,但可能会更改网络拓扑或使用 VPN更简单的选择。

请记住,网络 X 始终是用来使用的里面特定网络,因为它本质上是不安全的。因此 NAT 化的 XDMCP 不会有很多用例。

因此,如果您的意思是让带有 X 服务器和 X 客户端的两个网络形成这样一个网络,那么最好在网络拓扑中反映这一点。

相关内容