Linux 系统如何配置防火墙软件 iptables?

ServerBlog 424 0 条

注意:
iptablesCentOS 7 之前和之后的版本,有重大的改动。

CentOS 7 之前,默认使用 iptables 服务作为防火墙,使用service iptables stop代码,iptables 服务会先清空规则,然后卸载 iptables 模块。重新 start 时,会从配置文件中加载规则。停止 iptables 服务可以测试是否防火墙限制。

4a404e0187b0ee677034c0df82468e4a.png

CentOS 7 之后,默认使用 firewall 服务作为防火墙,为了兼容,同时加载了 iptables_filter 模块,但是没有了 iptables 服务。所以 CentOS 7 之后, 可以使用 iptables 命令添加规则,但是 iptables 服务默认关闭。用户确认 iptable_filter 模块加载,规则即可生效。

判断防火墙,最稳妥的方法,是iptables -nvL查看规则。

以下列举两个示例说明如何配置:

场景一

Ubuntu 14 系统,已开放安全组,监听端口,但 telnet 不通。

安全组入站规则:

ef640902a0e0c78af6c07eb7102bb0d7.png

安全组出站规则:

1.png

telnet 不通:

2.png

解决思路

首先对主机进行抓包,判断包是否到了主机。

  • 如果没到主机,则可能是安全组或者上层 tgw、运营商封堵了。
  • 如果包到了主机,但是回包出现了问题,那么极大可能是主机内部的 iptables 策略导致。如下图,telnet 后,没有向 64.11 回TCP 包。

3.png

确认是 iptables 策略问题后,通过iptables –nvL确认策略是否放通了 8081 端口。此处没有放通这个端口。

4.png

使用命令添加 8081 端口放通策略。

iptables -I INPUT 5 -p tcp  --dport 8081 -j ACCEPT

测试 8081 端口通了,问题解决。

场景二

iptables 配置来看,已经放通策略,但是目的机器还是 ping 不通。

5.png

解决思路

若出现以下情况:

6.png

使用命令删除 output 方向的第一条规则:

 iptabels –D OUTPUT 1

测试,问题解决。

如何清除防火墙?

Windows 实例:

登录实例后,单击 【开始】>【控制面板】【防火墙设置】,进入防火墙设置页面。

检查是否开启防火墙以及其他安全软件(如安全狗等),若开启,关闭即可。

Linux 实例:

执行命令查看客户是否开启防火墙策略。若关闭,请跳过第 2 步,直接执行第 3 步:

 iptables -vnL

若开启防火墙策略,则执行命令将当前防火墙策略备份:

 iptables-save

执行命令清理防火墙策略。

 iptables -F
发表我的评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
2016tuu.gificon_redface.gif2016zhem.gif2016yhh.gificon_exclaim.gificon_mad.gif2016tp.gif2016fendou.gif2016kuk.gif2016ch.gif2016tx.gif2016yun.gificon_twisted.gificon_biggrin.gificon_sad.gif2016bz.gif2016bb.gif2016bs.gif2016xia.gif2016ka.gificon_cool.gificon_mrgreen.gif