安装服务
#安装 iptables
yum -y install iptables
#升级 iptables
yum update iptables
#安装 iptables 服务组件
yum -y install iptables-services
#停止firewalld服务
systemctl stop firewalld
#禁用firewalld服务
systemctl mask firewalld
设置 iptables 规则
# 查看iptables现有规则
iptables -nL
# 先允许所有,防止意外
iptables -P INPUT ACCEPT
# 清空所有默认规则
iptables -F
# 清空所有自定义规则
iptables -X
# 所有计数器归0
iptables -Z
# 允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT
# 开放 22 端口(SSH)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 开放 80 端口(HTTP)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 开放 443 端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
# 允许接受本机请求之后的返回数据,RELATED 是为FTP设置
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# 设置默认规则,其他入站一律丢弃
iptables -P INPUT DROP
# 设置默认规则,所有出站一律放行
iptables -P OUTPUT ACCEPT
# 设置默认规则,所有转发一律丢弃
iptables -P FORWARD DROP
# 保存规则
service iptables save
启动 iptables 服务
# 注册iptables服务
systemctl enable iptables.service
systemctl start iptables.service
systemctl status iptables.service
补充
# 删除 Iptables 规则
# 查看规则序列号
iptables -nL --line-number
iptables -D INPUT(链名) 13(规则ID)
or
iptables -D INPUT -s 1.1.1.1,2.2.2.2,3.3.3.3 -j DROP(DROP|REJECT)
iptables -D OUTPUT -s 1.1.1.1,2.2.2.2,3.3.3.3 -j DROP(DROP|REJECT)
# 在启用iptables后,VSFTPD 无法使用被动模式
# 加载 FTP 模块
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
#写入配置文件中,顺序不能调换
vi /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_conntrack_ftp"
IPTABLES_MODULES="ip_nat_ftp"
#重启 iptables
systemctl restart iptables.service