通过 Ubuntu(16.04)DHCP 服务器允许远程桌面(rdesktop)

通过 Ubuntu(16.04)DHCP 服务器允许远程桌面(rdesktop)

因此,虽然我浏览了表格以查看是否有其他人遇到过同样的问题,但我觉得我的情况特别特殊。(无论如何我猜是这样)

我正在尝试通过我的调制解调器/路由器和我的 Ubuntu DHCP 服务器将 rdesktop/远程桌面应用程序运行到子网(或子局域网)上的系统。我已通过我的调制解调器/路由器转发端口 (3389),并让其将流量重定向到我的 Ubuntu DHCP 服务器。从那里,使用 netstat,端口 3389 未被阻止但已关闭(在我的 DHCP 服务器上)(不确定它是否需要监听?)。当我检查端口是否打开时(通过调制解调器/路由器和 DHCP 服务器),我得到的结果表明端口仍然关闭。我知道数据包正在通过路由器/调制解调器上的端口,因为我已通过调制解调器/路由器成功远程连接到局域网上的系统。但是由于我的设置,我希望从子局域网远程访问系统。(调制解调器/路由器 --> 局域网 --> DHCP 服务器 --> 子局域网/网络,以防术语看起来令人困惑。)

有人能提供解决方案吗?我可以解决这个问题,但我的理想设置应该是可行的吗?(至少我是这么认为的)

更新
这是我的 iptable 内容,谢谢!


/sbin/iptables -P 转发接受
/sbin/iptables -A 转发 -i enp5s0 -j 接受
/sbin/iptables --table nat -A POSTROUTING -o enp0s25 -j MASQUERADE

出口 0

答案1

您只设置了出站 NAT,这样通过系统的所有内容都会伪装成主 IP 地址并路由到互联网。您没有进行任何端口转发。就像在标准的现成路由器上一样,您需要配置 NAT 规则来处理来自外部和进入的流量。

iptablesTCP 流量的基本端口转发如下​​:

iptables -t nat -A PREROUTING -i [INTERNET_INTERFACE] -p tcp --dport [EXTERNAL_RECEIVING_PORT] -j DNAT --to-destination [TARGET_SYSTEM_IP]:[TARGET_PORT]

...FORWARD 表中有相应的规则,如下所示:

iptables -A FORWARD -p tcp -d [TARGET_SYSTEM_IP] --dport [TARGET_PORT] -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT

对于 UDP 流量,情况类似,只是没有状态跟踪:

iptables -t nat -A PREROUTING -i [INTERNET_INTERFACE] -p udp --dport [EXTERNAL_RECEIVING_PORT] -j DNAT --to-destination [TARGET_SYSTEM_IP]:[PORT]
iptables -A FORWARD -p udp -d [TARGET_SYSTEM_IP] --dport [TARGET_PORT] -j ACCEPT

不过,这里的假设是您有两个系统接口,一个用于传出流量,另一个用于来自 LAN 的传入流量,其中您的系统充当网关。

不过,请考虑一下,您的 Ubuntu 服务器可能不仅仅是执行 DHCP,而且还充当基础设施上的路由器,这意味着您必须这样对待它。(它不仅仅是 DHCP,它是 NAT 和路由系统)

相关内容