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

我如何才能使只有获得批准的IP地址才能访问我的Ubuntu服务器12.04我只是设置了它。

你可以用下面的命令来实现这个function,只要你有UFW安装:

要允许通过特定的IP地址使用,

 sudo ufw allow from XXX.XXX.XXX.XXX 

为了允许通过特定的子网我们调用networking掩码和使用,

 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之前被检查,所以你可以去

  • hosts.deny中

    ALL:ALL

首先,我们阻止每个人的一切,

  • hosts.allow文件

    ALL:localhost

    sshd:192.168.0.2

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

这可以通过iptables (netfilter)(Linux的内置防火墙实用程序)完成。

根据你在服务器上做什么(以及你在服务什么),这将需要(仔细)configuration,以允许适当的stream量。

在Ubuntu的官方帮助网站上有一个很好的教程 ,还有ufw (简单的防火墙),它是内置于Ubuntu来处理基础知识的。 例如,如果您只想允许从10.0.0.15开始访问SSH(TCP 22),那么您可以这样做:

sudo ufw allow proto tcp from 10.0.0.15 to any port 22

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

另一个build议(特别是如果这个Ubuntu主机将在互联网上)将使用SSH密钥对进行身份validation,而不是密码 ; 我也会禁用根login 。

值得注意的是 – 赶上私人地址范围(RFC1918),你可能需要192.168.0.0/16,-not- / 8。