使用 nft (nftables) 对所有接口进行端口重定向

使用 nft (nftables) 对所有接口进行端口重定向

我有一个相对简单的需求,想用 nft(nftables)解决。它将所有传入的数据包从端口 445 重定向到端口 1445。所有网络接口都应该这样做。

我目前的实现仅适用于本地,不适用于外部请求。端口 445 不适用于外部连接。

table ip nat {                                                             
    chain prerouting {                                                 
            type nat hook prerouting priority 0; policy accept;        
            redirect                                                   
            tcp dport microsoft-ds redirect to :1445                   
    }                                                                  

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

    chain output {                                                     
            type nat hook output priority 100; policy accept;          
            tcp dport microsoft-ds redirect to :1445                   
    } 
}

有人有小窍门吗?谢谢。

答案1

我解决了我的问题。

这对我有用:

table ip nat {
    chain prerouting {
        type nat hook prerouting priority 0; policy accept;
        tcp dport microsoft-ds counter packets 1 bytes 52 dnat to :1445
    }

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

    chain output {
        type nat hook output priority 100; policy accept;
        tcp dport microsoft-ds counter packets 3 bytes 180 dnat to :1445
    }
}

相关内容