我想阻止直接访问我的 Windows 机器,并想通过我的 Linux 机器(也可以通过公共 IP 访问)公开其上运行的一些程序。
有没有办法可以配置我的 Linux 机器(比如 IP = )将其在特定端口(比如 )接收的a.b.c.d)
所有流量路由到我的 Windows 机器(比如 IP = )的端口?UDP
6667
e.f.g.h
6668
是的,我该如何实现呢?
更新
# 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 流量。