Hazx小屋 Hazx小屋

iptables防火墙基本配置操作

in 服务器相关 阅读: 1947 文章转载请注明来源!

  iptables是CentOS 6以及更早版本Linux系统中使用的防火墙组件,它能很大程度的保护服务器的安全。CentOS 7及已更换为Firewall防火墙,关于Firewalld可以参考《Firewall 防火墙的基本操作》
  iptables有两种配置方式,一种是使用命令增加、删除和修改防火墙配置,一种是直接改写iptables配置文件。这里我比较推荐改配置文件,因为更加直观啦。以下目前只讲ipv4防火墙配置,ipv6我自己研究的也不是很深,以后再总结...

配置iptables

①编辑防火墙配置文件:vi /etc/sysconfig/iptables
②修改配置文件内容,以下给出一个范例,仅供参考,请按照自己的需求编写:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:50000 -j ACCEPT
-A INPUT -p udp --dport 50000:65535 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
COMMIT

③保存文件、退出vi
④重启防火墙:service iptables restart

范例的一些简单的说明和解释

*filter
iptables的filter表,记住必须要写在配置的最前面就行了。

:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]
跟在*filter的下一行即可。负责INPUT(入方向)、FORWARD(转发)、OUTPUT(出方向)的默认策略。ACCEPT默认放行、DROP默认丢弃。后面的数字仅仅用来统计数据包,对配置没有意义,配置时写0即可。

-A INPUT -i lo -j ACCEPT
入方向允许环回。这一句必须要有。

-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
入方向允许22端口的TCP通信。(这里是允许SSH通信,必须要有。)

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
入方向允许80端口的TCP通信。(这里是允许访问WEB前端,如果服务器作为WEB服务器,需要开放80端口)

-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
入方向允许21端口的TCP通信。(这里是允许FTP默认端口通信)

-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:50000 -j ACCEPT
入方向允许30000到50000端口的第一个数据包通过TCP协议通信,需要配合下面的“--state RELATED,ESTABLISHED”一起工作。一般-m state --state NEW配给需要用来通信但不需要一直开放的端口,例如FTP进行数据传输时使用的随机端口。

-A INPUT -p udp --dport 50000:65535 -j ACCEPT
入方向允许50000到65535端口的UDP通信。

-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
入方向允许PING数据包。如果没有这条规则,PING服务器会超时,也就是“禁PING”。

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
入方向允许已经建立连接的端口通信。配合上面的“--state NEW”一起工作。

-A INPUT -j REJECT --reject-with icmp-port-unreachable
入方向拒绝所有没有允许的请求。也就是上面规则没有允许的端口的访问都会被拒绝。这一条一定要放在所有INPUT(入方向)规则的最后一行。

COMMIT
提交之前的所有规则。COMMIT在所有规则之后,一般在最后一行即可。

一般仅配置INPUT(入方向)的防火墙策略,FORWARD(转发)和OUTPUT(出方向)默认允许就好。

相关推荐:《一些常用端口和对应协议参考》

文章二维码

扫描二维码,在手机上阅读!

centoslinux防火墙iptables
最后由Hazx修改于2021-10-20 12:22
博客系统已萌萌哒运行了
© 2024 Hazx. Theme by 泽泽社长.
前篇 后篇
雷姆
拉姆