Удаленный по отношению к микротику сервер на линуксе.
Между микротиком и сервером туннель. Трафик из локальной сети микротика заворачивается через этот туннель и натится с сервера в мир.
То есть: LAN ---> Микротик ---> туннель ---> Linux ---> NAT ---> дикий интернет.
Адрес LAN: 192.168.7.0/24
Адрес внешнего интерфейса микротика: 198.51.100.1
Адрес внешнего интерфейса линукса 203.0.113.1.
На линуксе правила nftables такие:
#!/usr/sbin/nft -f
flush ruleset
table ip FIREWALL_IPv4 {
chain PREROUTING {
type nat hook prerouting priority dstnat; policy accept;
}
chain input {
type filter hook input priority 0;
iifname "lo" counter accept;
ct state invalid drop comment "Drop invalid connections";
ct state established,related counter accept;
ip saddr 198.51.100.1 counter accept comment "Allow Mikrotik";
policy drop;
}
chain forward {
type filter hook forward priority 0; policy accept;
}
chain output {
type filter hook output priority 0;
}
chain POSTROUTING {
type nat hook postrouting priority srcnat; policy accept;
ip saddr 192.168.7.0/24 oif "ens3" masquerade
}
}
table ip6 FIREWALL_IPv6 {
chain INCOMING {
type filter hook input priority 0; policy drop;
counter drop;
}
chain FORWARDING {
type filter hook forward priority 0; policy drop;
counter drop;
}
chain OUTGOING {
type filter hook output priority 0; policy drop;
counter drop;
}
}
Всё работает, однако вопрос в безопасности правил. Не смогут ли посторонние лица эксплуатировать сервер в качестве маршрутизатора?
Как усилить правила? Или тех, что есть, достаточно?