我有一个远程服务器(B),它将某些传入流量转发到不同服务器的另一个端口(A,dest)。
使用“伪装”,我只能看到来自转发服务器 (B) 的流量,是否可以看到来自原始来源 (C) 的流量?如果我将“伪装”替换为“接受”,我将无法再到达目的地 (A) 的 8080 端口。
草图:
C -> B:25 -> A:8080
# A receives C requests as if B made them
# Unfortunately this breaks some implementations like SPF
NFTables 配置:
# define destination address
define dest = 10.0.0.2
# table for smtp forwarding
table ip smtp {
chain pre {
type nat hook prerouting priority -100
tcp dport 25 dnat to $dest:8080
}
chain post {
type nat hook postrouting priority 100
ip daddr $dest masquerade
}
}
由于Tero Kilkanen很高兴回答我的问题,我希望可以为您提供一个最小的工作示例。
前提条件:
sysctl -a | grep forward
在remote server
different server
必须拥有remote server
默认网关(在您的情况下这可能吗?)remote server
的外部接口将相应替换enp35s0
鉴于此,您可以使用以下 NFTables 规则
调试检查 tcpdump
different server