我想知道是否有人找到了这样的方法。我已经能够用nftable为我的DNAT规则创建一个集合,但是我没有能够实现我真正想要的。这是我到目前为止的背景:
nft add map ip nat dnat_map{type ipv4_addr . inet_service : ipv4_addr \;}然而,我真正想实现的是这样的事情
nft add map ip nat dnat_map{type ipv4_addr . inet_service : ipv4_addr . inet_service \;}但是Nftable真的不喜欢这种格式,所以有人能够创建一个允许元素同时拥有daddr和dport以及daddr和port的映射吗?假设ofc元素看起来像这样(是的,我需要在dnat上有一个不同的端口):
nft add element ip nat dnat_map{\
1.1.1.1 . 2222 : 192.168.1.1 . 22,\
}发布于 2020-05-18 20:18:53
万一别人经历了这件事,我找到了解决问题的办法。在我的例子中,我通过RDP和SSH连接实现了安全性,所以我只需要一个端口用于Windows,另一个端口用于Linux设备。由此产生的规则是。
nft add rule ip nat prerouting iifname $wan_iface ip saddr @admin_ips tcp dport 2222 dnat ip daddr map @wan_to_lan : tcp dport map{2222 : 22}然后,我的@wan_to_lan地图如下
nft add map ip nat wan_to_lan {type ipv4_addr : ipv4_addr \;}
nft add element ip nat wan_to_lan {1.1.1.1:192.168.1.x}诀窍是,当设置规则时,您必须记住可以使用一个或多个映射。例外是已经以判决结束规则的vmap。我认为wiki有帮助,但需要更新,因为有些语法不再受支持。
https://stackoverflow.com/questions/61871814
复制相似问题