iptables防火墙设置


概述

iptables是linux自带的一款优秀且开放源代码的完全自由的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入和流出服务器的数据包进行很精细的控制。
以下为具体安装及设置步骤

安装iptables防火墙

#CentOS#
yum install iptables -y
yum install iptables-services -y   #CentOS7需安装此iptables的service软件包#
systemctl stop firewalld systemctl mask firewalld   #CentOS7上默认安装了firewalld建议关闭并禁用#
#Debian/Ubuntu#
apt-get install iptables -y
apt-get install iptables-persistent -y   #持久化iptables规则服务#

清除已有iptables规则

iptables -F
iptables -X
iptables -Z

开放指定的端口

iptables -A INPUT -i lo -j ACCEPT   #允许本地回环接口(即运行本机访问本机)#
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT   #允许已建立的或相关连的通行#
iptables -A OUTPUT -j ACCEPT   #允许所有本机向外的访问#
iptables -A INPUT -p tcp --dport 22 -j ACCEPT   #允许访问22端口#
iptables -A INPUT -p tcp --dport 80 -j ACCEPT   #允许访问80端口#
iptables -A INPUT -p tcp --dport 443 -j ACCEPT   #允许访问443端口#
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT   #允许ping#
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT   #禁止其他未允许的规则访问#

屏蔽IP

iptables -I INPUT -s 123.45.6.7 -j DROP   #屏蔽单个IP#
iptables -I INPUT -s 123.0.0.0/8 -j DROP   #屏蔽123.0.0.1到123.255.255.254#
iptables -I INPUT -s 124.45.0.0/16 -j DROP   #屏蔽123.45.0.1到123.45.255.254#
iptables -I INPUT -s 123.45.6.0/24 -j DROP   #屏蔽123.45.6.1到123.45.6.254#

屏蔽或允许某IP访问指定端口

iptables -I INPUT -s 123.45.6.7 -p tcp --dport 22 -j DROP   #屏蔽IP访问22端口#
iptables -I INPUT -s 123.45.6.7 -p tcp --dport 22 -j ACCEPT   #允许IP访问22端口#

查看已添加的iptables规则

iptables -L -n

删除已添加的iptables规则

iptables -L -n --line-numbers   #显示所有iptables并标记序号
iptables -D INPUT 8   #删除INPUT里序号为8的规则(删除OUTPUT的话就改成OUTPUT)#

iptables的开机启动及规则保存

#CentOS#
chkconfig --level 345 iptables on
systemctl enable iptables   #开机自启动iptables#
service iptables save   #保存规则#
#Debian/Ubuntu#
/etc/init.d/netfilter-persistent save   #保存规则#
/etc/init.d/netfilter-persistent reload   #生效规则#
systemctl enable netfilter-persistent.service   #开机自启动#

声明:科先森's Blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - iptables防火墙设置


一个小白的记录