我尝试仅通过一个服务器 IP 地址允许访问服务器上的某些端口。
例如,如果服务器有两个 IP 地址:1.1.1.1 1.1.1.2
例如,我只希望端口 25、26 可通过 1.1.1.2 访问。我并不是想阻止任何外部 IP 地址访问这些端口,只是想确保它们只能访问服务器上某个 IP 地址上的端口。
我一直尝试使用 iptables 来编写这个,但到目前为止还没有成功 - 我想知道是否有人可以帮忙?
答案1
假设您没有针对这两个端口的现有规则或任何全面接受规则,那么下面这几行就是一个很好的例子。
这两行将阻止对端口 1.1.1.1 上的端口 25 和 26 的访问。假设默认策略是接受数据包。
iptables -A INPUT -p tcp --dport 25 -d 1.1.1.1 -j REJECT
iptables -A INPUT -p tcp --dport 26 -d 1.1.1.1 -j REJECT
不过,通常情况下,我会采用拒绝或丢弃的默认策略,然后明确允许第二个 IP 地址上的 2 个端口。
iptables -P INPUT REJECT
iptables -A INPUT -p tcp --dport 25 -d 1.1.1.2 -j ACCEPT
iptables -A INPUT -p tcp --dport 26 -d 1.1.1.2 -j ACCEPT