我想REDIRECT
在 NATPREROUTING
链中执行 iptables规则,将连接重定向到端口 80 以转到 8080。但我只想对输入数据包(发往本机)而不是转发数据包(发往例如互联网)。
在PREROUTING
链中的规则中,有没有办法区分发往这台机器的数据包和正在转发的数据包,并以不同的方式处理它们?
以不需要在规则中枚举特定接口或 IP 地址的方式执行此操作是理想的,因为这不太灵活(例如,如果接口或 IP 地址更改,则需要更新 iptables 会更复杂规则)。
我刚刚遇到这个addrtype
模块,它似乎能够根据目标地址是否是本地地址来区分传入的数据包。所以这可以用来区分输入和转发数据包。
例如:
iptables -A PREROUTING -t nat -p tcp --dport 80 -m addrtype --dst-type LOCAL -j REDIRECT --to-port 8080
Run Code Online (Sandbox Code Playgroud)
对于 nftables,等效的似乎是fib
module。但我还没有测试过这个。
nft add rule ip nat prerouting tcp dport 80 fib daddr . iif type local redirect to :8080
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1791 次 |
最近记录: |