一、参数
- -L 显示表中所有规则
- -n 不要把端口或ip反向解析成名字
- -t 指定表,不指定默认是 filter 表
- -A append 追加,加入准许类的规则
- -I insert 把规则加在链的第一条
- -D delete 删除
- -p protocal 协议 tcp/udp/tcmp/all
- --dport 目标端口
- --sport 源端口
- -s --source 源 ip
- -d --destination 目标 ip
- -m 指定模块 multiport
- -i input 输入的时候,从哪个网卡进来
- -o output 输出的时候,从哪个网卡出去
- -j 满足条件后的动作,DROP/ACCEPT/REJECT
- -F 清除所有的规则,不会处理默认的规则
- -X 删除用户自定义的链
- -Z 链的计算器清零
iptables 命令及选项 | 指定表 | 指定链(输入追加删除) | IP | 具体要求(端口ip协议) | 端口 | 动作 |
---|---|---|---|---|---|---|
iptables | -t filter | -A/-I/-D | -s/-d | -p tcp/udp/icmp | --dport/--sport | -j DROP/ACCEPT/REJECT |
二、filter 表
filter 表的 input 链, forward 链, output 链中存在规则
filter 表说明用于实现防火墙功能,屏蔽或准许端口
# 1.查看规则
iptables -nL
iptables -t filter -nL
# 2.查看规则并加上序号
iptables -t filter -nL --line-number
# 3.开放22端口
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
# 4.禁止访问22端口
iptables -t filter -A INPUT -p tcp --dport 22 -j DROP
# 5.屏蔽某个ip
iptables -t filter -I INPUT -s 172.17.0.2 -j DROP
# 6.禁止网段连入端口
iptables -t filter -I INPUT -s 10.0.0.0/24 -p tcp --dport 8080 -j DROP
# 7.只准许 10.0.0.0/24 访问 ,利用 ! 进行排除 ,除了 10.0.0.0/24 都拒绝
iptables -t filter -I INPUT ! -s 10.0.0.0/24 -j DROP
# 8.删除规则
iptables -t filter -D INPUT 1
# 9.清空所有默认规则
iptables -F