将本地请求重定向到其他 ip (linux - 例如 debian >= 10)

将本地请求重定向到其他 ip (linux - 例如 debian >= 10)

我希望将对机器 A 自身上的某个 IP:端口的所有请求(对于当前或更确切地说是 10/11/12)转发到另一个 IP = 机器 B,以便来自机器 A 上进程的请求转发到具有 IP B 的机器 B。

机器 A 可以访问机器 B 的网络,反之亦然(ip a在机器 A 上:

2: eno1: ...

    inet X.Y.52.60/24 brd X.Y.52.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet X.Z.52.16/24 brd X.Z.52.255 scope global eno1:1

我尝试过不同的方法:

  • nftables
      chain postrouting {
              type nat hook postrouting priority 100; policy accept;
              masquerade
      }

      chain prerouting {
              type nat hook prerouting priority -100; policy accept;
              ip daddr X.Y.52.69 tcp dnat to X.Z.10.99
      }
  • route add -net X.Y.52.60/32 gw X.Z.10.99使用sysctl net.ipv4.ip_forward=(应该重定向所有端口)
    (* iptables- 因为有很多关于此内容的手册,并且命令应该传递给 nftables 包装器。我做到了iptables -t nat -A OUTPUT -d X.Y.52.69 -p tcp --dport 31000 -j DNAT --to-destination X.Z.10.99 :)

据我所知处理socat或是ssh不可能的

使用防火墙方法重定向接缝可以工作,nmap 会报告过滤端口。route我得到了SIOCADDRT: Invalid argument

哪一种是最好的方法以及它在当前的 Linux 系统上实际上是如何工作的?

相关内容