我有这样的问题
这是我的 iptables 规则
sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination (( my first server ))
iptables -t nat -A PREROUTING -j DNAT --to-destination (( my second server ))
iptables -t nat -A POSTROUTING -j MASQUERADE
我想将这些规则更改为 nftables 我该怎么做?
我也总是将这些添加到 nano /etc/rc.local,然后 chmod +x /etc/rc.local
那么我该如何构建 rc.local nftables 并永远保存它们呢?
答案1
这可能看起来如下所示:
table inet nftables_svc {
chain PREROUTING {
type nat hook prerouting priority dstnat; policy accept;
meta l4proto tcp th dport 22 dnat ip to (( my first server ))
dnat ip to (( my second server ))
}
chain POSTROUTING {
type nat hook postrouting priority srcnat; policy accept;
masquerade
}
}
请注意,这些规则可能会将所有流量重定向到您的服务器(根据规则,不会有任何流量传送到主机),并且还会伪装离开主机的所有流量。这些规则似乎太宽泛了(PREROUTING 规则肯定应该与目标 IP 地址匹配)。