Ограничить скорость определённого ip через nftables
Форум — Admin
Доброго времени. Есть софтроутер, в локалке есть сервер с выходом наружу. Есть задача определённому ip на входе с wan ограничить скорость. Подскажите как без особых бубнов решить эту проблему. Задача редкая, планирую прям статикой в конфиге указывать адрес с правилом. Текущий конфиг:
#!/usr/sbin/nft -f
flush ruleset
define wan_if = ppp0
define lan_if = enp4s0
table inet filter {
chain input {
type filter hook input priority filter; policy drop;
iifname "lo" accept
ip saddr 146.158.116.23 accept
ip saddr 80.76.0.0/16 drop
ip saddr 104.255.0.0/16 drop
ip saddr 45.78.0.0/16 drop
ip saddr 185.239.0.0/16 drop
icmp type echo-request accept
iifname $lan_if accept
ct state related,established accept
}
chain forward {
type filter hook forward priority filter; policy drop;
iifname $wan_if tcp dport { 21, 53 } oifname $lan_if accept
iifname $wan_if udp dport { 123 } oifname $lan_if accept
iifname $lan_if oifname $wan_if accept
iifname $wan_if oifname $lan_if ct state related,established accept
}
chain output {
type filter hook output priority filter; policy accept;
}
}
table ip nat {
chain prerouting {
type nat hook prerouting priority -100; policy accept;
iifname $wan_if tcp dport { 21 } dnat to 192.168.1.10
iifname $wan_if udp dport { 123 } dnat to 192.168.1.10
}
chain postrouting {
type nat hook postrouting priority 100; policy accept;
oifname $wan_if masquerade
}
}