Ubuntu 仅允许来自 192.168.0.0/8 或服务器 IP 地址的传入访问

Ubuntu 仅允许来自 192.168.0.0/8 或服务器 IP 地址的传入访问

我怎样才能使只有经过批准的 IP 地址才能访问我的 Ubuntu 服务器 12.04,我刚刚才进行设置。

答案1

UFW如果您已经安装,则可以使用以下命令实现此目的:

要允许特定 IP 地址使用,

sudo ufw allow from XXX.XXX.XXX.XXX

为了允许特定子网,我们调用网络掩码并使用,

sudo ufw allow from XXX.XXX.XXX.XXX/XX

要允许特定端口和 IP 地址,您可以使用

sudo ufw allow from XXX.XXX.XXX.XXX to AAA port YY

请参考社区文档以获得提前帮助。


使用tcpwrappers

/etc/hosts.deny 在 /etc/hosts.allow 之前被检查,因此你可以

  • 主机拒绝

    全部 :全部

首先,我们会封锁所有人的一切信息,

  • 主机允许

    全部 : 本地主机

    sshd:192.168.0.2

这意味着只有本地网络上的 192.168.0.2 可以访问该机器上的 ssh 服务器。

答案2

这可以通过iptablesLinux 的内置防火墙实用程序 (netfilter) 来实现。

根据您在服务器上执行的操作(以及您所提供的服务),需要(仔细)配置以允许适当的流量。

有一个很好的教程Ubuntu 官方帮助网站上也有联邦快递(简单的防火墙)内置于 Ubuntu 中,用于处理基本事务。例如,如果您只想允许来自 10.0.0.15 的 SSH(TCP 22)访问,您可以这样做:

sudo ufw allow proto tcp from 10.0.0.15 to any port 22

您还可以使用几个方便的 iptables 规则生成器来生成整个 iptables 规则集。

另一个建议(特别是如果这个 Ubuntu 主机在互联网上)是使用SSH 密钥对用于身份验证,而不是密码;我也会禁用 root 登录

答案3

值得注意的是 - 要捕获私有地址范围(RFC1918),您可能需要 192.168.0.0/16,而不是 /8。

相关内容