配置Linux服务器防火墙以允许来自一定范围的IP地址的访问

配置Linux服务器防火墙以允许来自一定范围的IP地址的访问

我是 Linux 服务器新手。我目前正在尝试首次启动并运行 Ubuntu 10.10 服务器,并使用 Webmin 进行管理。我在设置防火墙时遇到困难。我需要做的是仅允许一定范围的 IP(例如 128.171.21.1 - 128.171.21.100)访问 HTTP 服务器和 Webmin。我看过很多教程,但没有一个符合我的需要。

提前致谢!

答案1

DROP假设您已将默认策略设置为forINPUTOUTPUTchains,则可以使用以下命令来允许访问 HTTP 服务器。

$ sudo iptables -A INPUT -i lo -j ACCEPT
$ sudo iptables -A OUTOUT -i lo -j ACCEPT
$ sudo iptables -A INPUT -s 128.171.21.0/24 -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

$ sudo iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
$ sudo iptables -A INPUT  -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo iptables -A INPUT -p tcp -m tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

所有子网 128.171.21.0/24 都将被允许访问您的 Web 服务器。您可以根据需要进行自定义。

请注意,您可能需要允许其他协议(例如 SSH(端口 22))才能远程访问服务器。

编辑:添加的最后四条规则允许服务器请求 DNS 和 HTTP。

答案2

如果你觉得 iptables 太过神秘,Ubuntu 有一个简单的 iptables 包装器,名为联邦快递

相关内容