linux – iptables将本地连接重定向到远程系统端口

linux – iptables将本地连接重定向到远程系统端口,第1张

概述我正在尝试使用SSH将 Windows机器本地端口3389转发到某个任意端口(在非特权区域)上的redhat服务器我已经在防火墙后面保护,然后将redhat服务器上的非特权端口转发到用户远程桌面上.基本上创建一个高度专门化的VPN,它只处理一项任务:使用我可以控制的加密隧道将用户带到防火墙后面的系统. 我知道几年前这可以使用命令: iptables -A OUTPUT -t nat --dport 我正在尝试使用SSH将 Windows机器本地端口3389转发到某个任意端口(在非特权区域)上的redhat服务器我已经在防火墙后面保护,然后将redhat服务器上的非特权端口转发到用户远程桌面上.基本上创建一个高度专门化的VPN,它只处理一项任务:使用我可以控制的加密隧道将用户带到防火墙后面的系统.

我知道几年前这可以使用命令:

iptables -A OUTPUT -t nat --dport ${LOCAL UNPRIV PORT} \           -j DNAT ${ANOTHER SYstem}:${REMOTE PORT}

但是根据我的阅读,看起来该功能已被删除,我在/ var / log / messages中收到了消息

kernel: NAT: no longer support implicit source local NAT

我发现资源表明从内核2.6.X – 2.6.10,有一种方法可以在内核中使用IP_NF_NAT_LOCAL启用它,但显然在更新的内核中它已被删除.我已经尝试转发所有本地流量,因此它将进入PREROUTING链,并且取得了有限的成功,这只是一个坏主意,因为那时我必须打开服务器上的非特权端口,以便我可以将其反馈到eth0接口.我确信我有更多时间可以找到某种奇怪的kludge或解决方法,但我宁愿不要那么多地破解我的防火墙脚本.似乎必须有一个更简单的方法来做到这一点,我没有看到.社区可以提供的任何帮助或指导都会非常有帮助!提前致谢

解决方法 我不完全确定我是否理解,但我认为你只是在错误的链条中. :-)当我第一次使用iptables时,我也很困惑.但转发本地端口${LOCAL UNPRIV PORT}的方法如下:
$IPT -t nat -A PREROUTING -i eth0 -p tcp --dport ${LOCAL UNPRIV PORT}      -j DNAT --to ${ANOTHER SYstem}:${REMOTE PORT}

它是语义问题和netfilter工作方式的混合:在过去,转发本地端口涉及到转发的盒子的连接,以及到目的地的第二个连接. Iptables一步到位.因此,而不是两个连接 – 您将流量转发到该端口直接到达目的地. Netfilter执行所有健全性检查和簿记:只有属于有效连接的数据包才会被NAT,因此可以转发.

启用DNAT不允许转发任何数据包.您还必须添加规则:

$IPT -N INET-PRIV$IPT -A FORWARD -i eth0 -o eth1 -j INET-PRIV$IPT -A FORWARD -j DROP$IPT -A INET-PRIV -p tcp -d ${ANOTHER SYstem} --dport ${REMOTE PORT} -j ACCEPT$IPT -A INET-PRIV -j DROP

而且你必须启用转发.

echo "1" > /proc/sys/net/ipv4/ip_forward

Pro iptables:每个连接使用更安全,更灵活,更少的内存和cpu

Contra iptables:从内部机器转发连接到内部机器(将其反馈到eth0)对iptables没有意义(当然你总是可以直接连接),本地生成的转发流量不起作用(端口转发守护进程可能有所帮助 – 但通常没有意义)

确切地说,这可能是问题:您尝试在非路由器上使用NAT,因此您应该使用转发守护程序或完全跳过此额外端口转发并执行:

ssh -L 1234:${ANOTHER SYstem}:${REMOTE PORT} special-vpn-Box

在special-vpn-Box上,您只能使用iptables允许来自路由器和传出连接的传入连接到${ANOTHER SYstem}:${REMOTE PORT}.这样,special-vpn-Box的用户只能访问${ANOTHER SYstem}:${REMOTE PORT},如果不受信任,将无法执行任何其他 *** 作.

总结

以上是内存溢出为你收集整理的linux – iptables将本地连接重定向到远程系统/端口全部内容,希望文章能够帮你解决linux – iptables将本地连接重定向到远程系统/端口所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1041342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存