首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux NAT背后赢得RDP

问在Linux NAT背后赢得RDP
EN

Server Fault用户
提问于 2016-11-07 11:06:55
回答 1查看 1.4K关注 0票数 0

在我们的设置中,我们有一个带有两个NIC的linux服务器,一个连接到我们的LAN/internet,另一个连接到也在为RDP服务的windows机器上。当然,我们想通过RDP连接到win机器上并登陆。

我在两个-> ping工厂之间建立了固定的I。此外,我还有以下iptables设置:

代码语言:javascript
复制
iptables -t nat -A PREROUTING -p tcp -d <external IP of linux machine> --dport 3389 -j DNAT --to-destination <IP of win machine>
iptables -t nat -A POSTROUTING -p tcp -s <IP of win machine> --dport 3389 -j SNAT --to-source <external IP of linux machine>

我也试过

代码语言:javascript
复制
iptables -t nat -A POSTROUTING -p tcp -s <IP of win machine> --sport 3389 -j SNAT --to-source <external IP of linux machine>

没有RDP连接的可能。我做得对吗?我是否应该尝试不在SNAT规则上指定任何端口?

/edit:在没有指定端口的情况下尝试了SNAT,但也无法连接。

/edit:尝试了伪装,而不是SNAT,但仍然没有成功。

代码语言:javascript
复制
sudo iptables -t nat -A POSTROUTING -o <outgoing interface on linux machine> -j MASQUERADE

/edit:尝试通过

代码语言:javascript
复制
sudo iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT

但还是没有联系。

/edit:怀疑网络经理是问题的根源。我手动定义了linux机器的内部接口。它仍然出现在网络管理器中,问题仍然没有得到解决。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-11-08 14:20:31

代码语言:javascript
复制
sudo iptables -t nat -A PREROUTING -i <outgoing interface on linux machine> -p tcp --dport 3389 -j DNAT --to-destination <IP of win machine>
sudo iptables -t nat -A POSTROUTING -o <outgoing interface on linux machine> -j SNAT --to-source <external IP of linux machine>
sudo iptables -A FORWARD -i <outgoing interface on linux machine> -p tcp --dport 3389 -j ACCEPT
sudo iptables -A FORWARD -s <IP of win machine> -j ACCEPT

cat /proc/sys/net/ipv4/ip_forward应该返回1

请注意,iptables -A只需将规则附加到链中即可。这意味着,如果已经有一个规则拒绝您的数据包,它将首先执行,您的新规则将永远不会匹配。如果您不确定,可以使用iptables -I而不是iptables -A测试上述规则。您的规则将被插入链中,成为执行的第一个规则。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/813572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档