iptables防火墙应用

一、iptables的四表五链

1.iptables的4个表(区分大小写):
默认4个表
nat表(地址转换表)
filter表(数据过滤表)
raw表(状态跟踪表)
mangle表(包标记表)。

2.ptables的5个链(区分大小写):
INPUT链(入站规则)
OUTPUT链(出站规则)
FORWARD链(转发规则)
PREROUTING链(路由前规则)
POSTROUTING链(路由后规则)

iptabels语法格式
iptables [-t 表名] 选项 [链名] [条件] [-j 目标操作]
例子:
iptables -t filter -I INPUT -p icmp -j REJECT

注意事项与规律:
可以不指定表,默认为filter表
可以不指定链,默认为对应表的所有链
如果没有找到匹配条件,则执行防火墙默认规则
选项/链名/目标操作用大写字母,其余都小写

目标操作:
ACCEPT:允许通过/放行
DROP:直接丢弃,不给出任何回应
REJECT:拒绝通过,必要时会给出提示
LOG:记录日志,然后传给下一条规则

命令常用选项:
添加规则:
-A :追加规则至链的末尾
-I : 插入规则至链的头部
查看规则:
-L :查看所有规则
-n :以数字形式显示地址、端口等信息
–list-numbers : 显示行号
删除规则:
-D : 删除链内的指定一条规则
-F : 清空所有规则
默认规则:
-P : 指定链的默认规则

例子:

iptables -t filter -A INPUT -p tcp -j ACCEPT
追加规则至filter表中的INPUT链的末尾,允许任何人使用TCP协议访问本机
iptables -I INPUT -p udp -j ACCEPT
插入规则至filter表中的INPUT链的开头,允许任何人使用UDP协议访问本机
iptables -I INPUT 2 -p icmp -j ACCEPT
插入规则至filter表中的INPUT链的第2行,允许任何人使用ICMP协议访问本机

3.查看iptables防火墙规则
iptables -nL INPUT 仅查看INPUT链的规则
iptables -L INPUT --line-numbers 查看规则,显示行号

4.删除规则,清空所有规则
iptables -D INPUT 3
删除filter表中INPUT链的第3条规则
iptables -F
清空filter表中所有链的防火墙规则
iptables -t nat -F
清空nat表中所有链的防火墙规则

5.设置防火墙默认规则
iptables -t filter -P INPUT DROP
iptables -nL

filter过滤和转发控制:

协议匹配
- p 协议名称
地址匹配
- s 源地址 ,-d 目标地址
接口匹配
- i 接受数据的网卡, -o 发送数据的网卡
端口匹配
–sport 源端口号, --dport 目标端口号
ICMP匹配
–icmp-type

开启Linux的路由转发功能

echo 0 > /proc/sys/net/ipv4/ip_forward ##关闭路由转发
echo 1 > /proc/sys/net/ipv4/ip_forward ##开启路由转发
以上配置为临时配置
echo ‘net.ipv4.ip_forward=1’ >> /etc/sysctl.conf
修改/etc/sysctl.conf配置文件,可以实现永久有效规则

禁ping的相关策略

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
仅禁止入站的ping请求,不拒绝入站的ping回应包

根据MAC地址过滤

iptables -A INPUT -p tcp --dport 22 -m mac --mac-source 52:54:00:00:00:0b -j DROP
拒绝52:54:00:00:00:0b这台主机远程本机

基于多端口设置过滤规则

iptables -A INPUT -p tcp -m multiport --dports 20:22,25,80,110,143,16501:16800 -j ACCEPT
一次性开启20,21,22,25,80,110,143,16501到16800所有的端口

根据IP地址范围设置规则

iptables -A INPUT -p tcp --dport 22 -m iprange --src-range 192.168.4.10-192.168.4.20 -j ACCEPT
允许从 192.168.4.10-192.168.4.20 登录

iptables -A INPUT -p tcp --dport 22 -s 192.168.4.0/24 -j DROP
禁止从 192.168.4.0/24 网段其他的主机登录

保存防火墙配置

service iptables save

猜你喜欢

转载自blog.csdn.net/m0_38139137/article/details/90479544