我有一个带有CentOS7.6的VDS,有一个KVM,还有一个带有Win10的VM。两者都可以看到互联网和彼此,一切都是默认NAT设置的。现在,我希望能够通过某些端口将mstsc到VDS到windows的RDP。
三天的战斗与手册没有任何帮助。当前配置如下所示:
[root@static etc]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s31f6
sources:
services: ssh dhcpv6-client vnc-server
ports: 3389/tcp
protocols:
masquerade: no
forward-ports: port=3389:proto=tcp:toport=3389:toaddr=192.168.122.10
source-ports:
icmp-blocks:
rich rules: 这似乎是正确的。我确实觉得这是一个愚蠢而又琐碎的问题,但我不知道该往哪里走。
有什么想法吗?
UPD。更多的细节,让它更清楚。
主机配置(没有桥,只有NAT,1个物理接口):
[root@static ~]# ifconfig enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 95.217.38.211 netmask 255.255.255.192 broadcast 95.217.38.255
inet6 fe80::4e52:62ff:fe0b:9bee prefixlen 64 scopeid 0x20<link>
ether 4c:52:62:0b:9b:ee txqueuelen 1000 (Ethernet)
RX packets 9459 bytes 1506084 (1.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9368 bytes 5002008 (4.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xef200000-ef220000客户端配置:
DHCP: no
IPv4: 192.168.121.10
MASK: 255.255.255.0
GATE: 192.168.122.1
DNS : 192.168.122.1发布于 2019-08-29 19:50:29
当我遇到这类问题时,我通常运行tcpdump和/或wireshark来尝试查看发生了什么。我不知道您的配置的全部细节,但我假设您使用的是在同一硬件上运行windows虚拟机的Linux机器。
我将在Windows中运行Wireshark,并将捕获选项对话框设置为使用port 3389作为捕获过滤器。这将限制捕获的通信量仅限于RDP端口。
一旦运行,我将在Linux命令行中执行同样的操作,特别是针对每个接口,因此两个网卡或接口将需要运行两个tcpdump实例。该命令将类似于:
# tcpdump -i eth0 -p port 3389
# tcpdump -i eth1 -p port 3389...assuming --您有两个网络接口,无论是虚拟的还是物理的--您必须用-i选项替换正确的接口名。如果您只有一个网络接口,那么您将只运行一个tcpdump实例。如果您没有tcpdump,您可能必须通过您的包管理器安装它。
一旦所有捕获都是活动的,尝试通过RDP进行连接,然后检查每个连接的输出。一旦你找到了连接被阻塞或掉线的地方,你就知道该把精力集中在哪里了。你不需要知道太多的关系网才能做到这一点。
这帮我省了很多次。一个常见的问题是在其中一台机器上错误地设置了默认网关。不正确的路由很容易与配置错误的防火墙规则相同。
https://serverfault.com/questions/981220
复制相似问题