仅允许我的 IP

仅允许我的 IP

我是 Ubuntu 新手。

我在家里有一个开发测试服务器,我们正在和朋友一起开发它。

我们使用 SSH、FTP 以及一些用于邮件、网络等的端口……

我只想允许我们在此服务器上工作的 IP:

  • 本地网络
  • 我的办公室的 IP
  • 来自我朋友的 IP
  • 来自我朋友办公室的 IP(我们也在办公室的服务器上进行测试)

我检查了日志,发现有很多尝试,有些人尝试以 root 身份登录,这就是为什么我想只允许我和我的朋友登录。但由于它是 Web 服务器,我们必须保持 Web 和邮件端口开放以接收邮件。

不确定我解释得清楚不准确。我该怎么做?我已经尝试过 iptable,但没有成功,仍然有大量传入连接,并尝试以 root 身份登录。

您能告诉我怎样才能轻松地进行吗?

谢谢,并致以最诚挚的问候,GP

答案1

对于您的情况,您需要iptables为此设置规则。您还可以使用firewalld丰富的命令来管理 Linux 中的防火墙。我将iptables在这里解释。

Iptables 用于 Linux 内核的 ipv4/ipv6 数据包过滤。iptables有三个默认表,每个表包含三个默认链:

  1. 输入
  2. 输出
  3. 向前

Iptables 命令具有不同的选项。以您的场景为例,您需要编写以下命令:

$ iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -s x.x.x.x -j ACCEPT
$ iptables -A INPUT -j DROP

这些命令仅接受来自 IP xxxx 的端口 22 的 ssh 连接,并且每个传入数据包都将被丢弃。您可以对任何 IP 和任何您希望服务器应答的端口执行此操作。对于您不知道哪些状态的传入数据包,请使用有关的无效的--state

您应该注意到这iptables是连续规则顺序。例如,如果您阻止所有内容,然后接受一些内容,那么您将不会得到任何结果,因为当传入数据包与任何规则匹配时,其他规则将不被考虑。

相关内容