以下部分仅适用于 TCP(这是在 Mahendra 更改标题之前发布的

以下部分仅适用于 TCP(这是在 Mahendra 更改标题之前发布的

我想阻止直接访问我的 Windows 机器,并想通过我的 Linux 机器(也可以通过公共 IP 访问)公开其上运行的一些程序。

有没有办法可以配置我的 Linux 机器(比如 IP = )将其在特定端口(比如 )接收的a.b.c.d)所有流量路由到我的 Windows 机器(比如 IP = )的端口?UDP6667e.f.g.h6668

是的,我该如何实现呢?

更新

# bindadress    bindport  connectaddress  connectport

192.168.2.45    6667    192.168.2.104   6668

# logging information
logfile /var/log/rinetd.log

# uncomment the following line if you want web-server style logfile format
logcommon
~          

更新

我只希望路由UDP流量。

答案1

以下部分仅适用于 TCP(这是在 Mahendra 更改标题之前发布的

安装 rinetd。在此程序中,您可以轻松配置传入端口和传出端口。首先安装该程序。然后更改 /etc/rinetd.conf

前任:

#bindadress bindport connectaddress connectport

a.b.c.d 6667 e.f.g.h 6668

对于 UDP,请查看以下链接

http://brokestream.com/udp_redirect.html

这是来自聊天讨论的内容,实际上解决了这个问题

iptables -t nat -A PREROUTING -i $EXT_IF -p udp -d $EXT_IP --dport 53 -j DNAT --to-destination $INTERNAL_SERVER

and make sure you also have it allowed to pass through the FORWARD chain with something like

#forward traffic
iptables -A FORWARD -i $EXT_IF -o $INT_IF -p udp -d $INTERNAL_SERVER --dport 53 -j ACCEPT
#reply traffic
iptables -A INPUT -o $EXT_IF -i $INT_IF -p udp -s $INTERNAL_SERVER --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

答案2

是的,这称为反向 NAT,是 Linux 的 IpTables 功能的一部分。每个像样的 NATtins 防火墙都会这样做来公开服务。

答案3

这是一适用于 MacOS 和 Linux 的替代 UDP 重定向器;除了通常的源/目标之外,它还支持指定源/目标接口,以及丢弃火星人(来自未知来源的 UDP 数据包)。

您可以这样运行它:

./udp-redirect \
   --listen-address 192.168.2.45 --listen-port 6667 \
   --connect-address 192.168.2.104 --connect-port 6668

免责声明:我是作者,我现在正在这篇文章中使用它来重定向 Wireguard 流量。

相关内容