在红帽RHEL7系统中firewalld服务取代了iptables服务,但依然可以使用iptables命令来管理内核的netfilter。
iptables命令中则常见的控制类型有:
ACCEPT:允许通过.LOG:记录日志信息,然后传给下一条规则继续匹配.REJECT:拒绝通过,必要时会给出提示DROP:直接丢弃,不给出任何回应.规则链则依据处理数据包的位置不同而进行分类:
PREROUTING:在进行路由选择前处理数据包
INPUT:处理入站的数据包
OUTPUT:处理出站的数据包
FORWARD:处理转发的数据包
POSTROUTING:在进行路由选择后处理数据包
Iptables中的规则表:
规则表的先后顺序:raw→mangle→nat→filter
规则链的先后顺序:
入站顺序:PREROUTING→INPUT
出站顺序:OUTPUT→POSTROUTING
转发顺序:PREROUTING→FORWARD→POSTROUTING
iptables的基本参数:
参数作用-P设置默认策略:iptables -P INPUT (DROP|ACCEPT)-F清空规则链-L查看规则链-A在规则链的末尾加入新规则-I num在规则链的头部加入新规则-D num删除某一条规则-s匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。-d匹配目标地址-i 网卡名称匹配从这块网卡流入的数据-o 网卡名称匹配从这块网卡流出的数据-p匹配协议,如tcp,udp,icmp--dport num匹配目标端口号--sport num匹配来源端口号实例:iptables的filter的配置:
--关闭firewall:
[root@localhost ~]# systemctl stop firewalld.service #停止firewall[root@localhost ~]# systemctl disable firewalld.service #禁止firewall开机启动
--安装安装iptables防火墙
[root@localhost ~]# yum install iptables-services #安装
--清空已有的规则:
iptables -F iptables -X iptables -Z--配置允许SSH登陆端口进入
iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT--允许所有的ping操作
iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT--允许本机lo通信
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT--设置默认的访问规则
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT--允许关联��状态包通过
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT--开放特定的端口,以80为例
iptables -A INPUT -p tcp --dport 80 -j ACCEP--保存配置
service iptables save--重启
systemctl restart iptables.service--设置开机自启动
systemctl enable iptables.service转载于:https://www.cnblogs.com/MonsterCui-Code/p/10755190.html