Linux——iptables使用(一)
主机型:
工作在2,3,4层,对TCP/IP数据包进行过滤和限制,属于包过滤型防火墙。
匹配原则:从规则表从上至下逐条匹配(除了LOG),最后匹配默认策略
四表五链:
四表:
filter:过滤功能
nat: 用于nat功能(端口映射,地址映射等)
mangle: 用于对特定数据包的修改,高权限
raw: 决定数据包是否被状态跟踪,性能提升
五链:
PREROUnNG:预路由,数据包进口选择前先处理
POSTROUnNG:已路由,数据包出口选择后处理
INPUT:入站规则
oUIPUT:出站规则
FORWARD:转发规则
数据包流程:
管理控制选项:
-A 在指定链的末尾添加(append)一条新的规则
-D 删除(delete)指定链中的某一条规则,可以按规则序号和内容删除
-I 在指定链中插入(insert)一条新的规则,默认在第一行添加
-R 修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换
-L 列出(list)指定链中所有的规则进行查看
-E 重命名用户定义的链,不改变链本身
-F 清空(无法修改默认规则)
-N 新建(new-chain)一条用户自己定义的规则链
-X 删除指定表中用户自定义的规则链(delete-chain)
-P 设置指定链的默认策略(policy)
-Z 将所有表的所有链的字节和数据包计数器清零
-n 使用数字形式(numeric)显示输出结果
-v 查看规则表详细信息(verbose)的信息
-V 查看版本(version)
数据包处理方式:
ACCEPT:允许数据包通过。
DROP:直接丢弃数据包,不给任何回应信息,这时候客户端会感觉自己的请求泥牛入海了,过了超时时间 才会有反应。
REJECT:拒绝数据包通过,必要时会给数据发送端一个响应的信息,客户端刚请求就会收到拒绝的信息。
LOG: 在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则
匹配条件:
-s 指定单个ip或网段源地址
-d 指定单个ip或网段目标地址
-p 指定需要匹配的报文类型或端口
-i 指定输入接口(网卡)
-o 指定输出接口(网卡)
示例:
iptables -t [表名] [管理选项] [链名] [匹配条件] [-j 控制类型]
查看详细规则
iptables -L -n -v
禁止icmp协议通过(例:ping)
iptables -t filter -I INPUT -p icmp -j REJECT
删除filter限制
iptables -t filter -D INPUT -p icmp -j REJECT
- 点赞
- 收藏
- 关注作者
评论(0)