【Linux】iptables防火墙相关配置
【Linux】iptables防火墙相关配置
- 命令格式
# iptables -t 表名 <-A/D/I/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作
-t:指定要操纵的表-A:向规则链中添加条目-D:从规则链中删除条目-I:向规则链中插入条目-R:替换规则链中的条目-i:指定数据包进入本机的网络接口-o:指定数据包要离开本机所使用的网络接口-p:指定要匹配的数据包协议类型-s:指定要匹配的数据包源ip地址-j:指定要跳转的目标
表名包括:raw:高级功能,如:网址过滤。mangle:数据包修改(QOS),用于实现服务质量。net:地址转换,用于网关路由器。filter:包过滤,用于防火墙规则。
规则链名包括:INPUT链:处理输入数据包OUTPUT链:处理输出数据包PORWARD链:处理转发数据包PREROUTING链:用于目标地址转换(DNAT)POSTOUTING链:用于源地址转换(SNAT)
动作包括:ACCEPT:接收数据包DROP:丢弃数据包REDIRECT:重定向、映射、透明代理SNAT:源地址转换DNAT:目标地址转换MASQUERADE:IP伪装(NAT),用于ADSLLOG:日志记录
- iptables命令
# iptables -F
清除已有iptables规则
# iptables -X
删除指定的用户自定义链这个链必须没有被引用,如果被引用在删除之前必须删除或者替换如果没有给出参数,这条命令将删除每个非内建的链
# iptables -Z
把所有链的包及字节的计数器清空
# iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
允许本地回环接口
# iptables -A OUTPUT -j ACCEPT
允许所有本机向外的访问
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# iptables -A INPUT -p tcp --dport 20 -j ACCEPT
允许访问80端口允许ftp服务的21、20端口
# iptables -A INPUT -j REJECT
# iptables -A FORWARD -j REJECT
禁止其他未允许的规则访问
# iptables -I INPUT -s 192.168.28.128 -j DROP
# iptables -I INPUT -s 172.16.28.0/24 -j DROP
屏蔽单个IP的命令屏蔽整个网段的命令
# iptables -L -n -v
查看已添加的iptables规则
# iptables -L -n --line-numbers
将所有iptables以序号标记显示
# iptables -D INPUT 7
删除INPUT里序号为7的规则
# iptables -F INPUT
清空filter表INPUT所有规则
# iptables -P INPUT DROP
设置filter表INPUT默认规则是 DROP
- iptables-save命令
# iptables-save -t filter > filter.bak
# ls
指定要保存的表的名称-t 指定要保存的表的名称
# iptables-save -c > iptables.bak
保存当前的数据包计算器和字节计数器的值-c指定要保存的表时,保存当前的数据包计算器和字节计数器的值
- iptables-restore命令
# iptables-restore < iptables.bak
还原iptables配置
# iptables-restore -c < iptables.bak
在还原表时,还原当前的数据包计数器和字节计数器的值-c指定在还原表时候,还原当前的数据包计数器和字节计数器的值
# iptables-restore -t filter.bak
# ls
-t 指定要还原表的名称
赞 (0)