Linux防火墙配置

最近更新时间:2019-08-21 12:48:37

通过iptables可以为Linux服务器配置有动态的防火墙,能够指定并记住为发送或接收信息包所建立的连接的状态,是一套用来设置、维护和检查Linux内核的IP包过滤规则的命令包。 table--Linux的iptables防火墙默认有三种表,Filter、NAT与Mangle,当然还有自定义的,其中Filter即是默认使用的表格,chain--条链,比如filter有INPUT、OUTPUT、FORWARD三条链。 下面以建一个filter表防火墙为例

1.清除原有规则

[root@tp ~]# iptables -F      清除预设表filter中的所有规则链的规则
[root@tp ~]# iptables -X      清除预设表filter中使用者自定链中的规则

2.设定预设规则

[root@tp ~]# iptables -P INPUT DROP
[root@tp ~]# iptables -P OUTPUT ACCEPT
[root@tp ~]# iptables -P FORWARD DROP

3.添加规则

远程SSH登录(开启22端口)

[root@tp ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@tp ~]# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

WEB服务器(开启80端口)

[root@tp ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT

邮件服务器(开启25、110端口)

[root@tp ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT
[root@tp ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT

FTP服务器(开启21端口

[root@tp ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT

DNS服务器(开启53端口)

[root@tp ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT

HTTPS(开启443端口)

[root@tp ~]# iptables -A INPUT -p tcp --dport 443-j ACCEPT

445端口为运营商封禁端口,不可用

如果你还做了其他的服务器,需要开启哪个端口,照写就行了.

上面主要写的都是INPUT链,凡是不在上面的规则里的,都DROP

允许ICMP(允许ping)

[root@tp ~]# iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话)
[root@tp ~]# iptables -A INPUT -p icmp -j ACCEPT  (INPUT设置成DROP的话)

允许loopback(不然会导致DNS无法正常关闭等问题)

IPTABLES -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP)
IPTABLES -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)

金山云,开启您的云计算之旅

注册有礼