我有一个 CentOS 终端,用作路由器,并安装了 APF。
另外,具有 3 个 NIC(3 个 IP)的 1 个终端正在使用该路由器作为网关来访问互联网。
我想要的是 APF 阻止 3 个 NIC(IP)中的 2 个上的 SSH 访问。因此,SSH 只能由特定 IP 访问,而不能由所有三个 IP 访问。
如何使用 APF 或 iptables 直接在路由器上实现这一点?
我尝试过的方法:iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --destination-port 22 -j DROP
答案1
iptables -A FORWARD -i <banned_interface> -d DESTINATION.IP -p tcp --dport 22 -j DROP
iptables -A FORWARD -i <banned_interface2> -d DESTINATION.IP -p tcp --dport 22 -j DROP
您当然可以使用 iptables -P FORWARD DROP 将表中的策略更改为 DROP 并仅指定允许的条目,但如果您搞砸了某些事情,您将被锁定或转发将不起作用。
答案2
iptables -A FORWARD -p tcp --dport 22 -d xxx.xxx.xxx.xxx -j DROP
就这样了。很简单,但我对 iptables 还不熟悉。