我正试着让NAT发夹在我的路由器上工作。我无法访问局域网上的本地网站主机(192.168.1.3)。我使用nftable的配置如下:
enp1s0 =广域网enp2s0 =局域网
#!/sbin/nft -f
flush ruleset
table ip nat {
chain prerouting {
type nat hook prerouting priority -100; policy accept;
iifname "enp1s0" tcp dport { 80, 443 } dnat to 192.168.1.3
meta nftrace set 1
}
chain postrouting {
type nat hook postrouting priority 100; policy accept;
ip saddr 192.168.1.0/24 ip daddr 192.168.1.3 tcp dport { http, https } counter snat 192.168.1.1
oifname "enp1s0" masquerade
meta nftrace set 1
}
}我怎么才能把头发钉在工作上呢?我见过人们使用拆分DNS,但我不太确定如何设置。
发布于 2023-05-24 01:21:23
要在nftable中做NAT发钉,您可以添加一个DNAT规则,它检查包的目标地址是否是网络的外部ip。您还需要在内部接口(LAN)上进行伪装。
flush ruleset
define wan = enp1s0
define lan = enp2s0
define webserver = 192.168.1.3
define extip = 1.2.3.4
table ip nat {
chain prerouting {
type nat hook prerouting priority dstnat; policy accept;
tcp dport { 80, 443 } ip daddr $extip dnat to $webserver
}
chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
oif $wan masquerade
oif $lan masquerade
}
}https://serverfault.com/questions/1117646
复制相似问题