什么是 ufw
在 Ubuntu 系统下,可以使用 ufw 打开/关闭 防火墙。ufw( Uncomplicated Firewall),是Canonical公司使用python开发的 iptables 的易用版。ufw实质还是使用的 iptables,只是简化了参数格式。
查看 iptables 帮助信息
代码语言:javascript复制iptables -h
显示所有 iptables 规则
代码语言:javascript复制iptables -L [n][v]
- -n: IP地址以数字形式显示出来。
- -v: 显示详细信息。
iptables 基本规则
代码语言:javascript复制iptables [-t table] command chain [match] [ -j target]
- -t table, table 有以下几个选项,默认为filter
- filter: 一般的过滤功能, 默认的 table
- nat: 用于 NAT 功能(端口映射, 地址映射)
- mangle: 用于对特定数据包的修改。
- raw: 主要用于配合 NOTRACK 的响应。
- security: 用户强制访问控制(MAC)网络规则。
- command, 处理规则
- -P 定认默认规则。
- -A 追加规则。
- -I num 在第num条规则后插入规则。
- -R num 替换/修改第num条规则。
- -D num 删除第 num 条规则。
- chain,netfilter可以在五个位置进行过滤
- PREROUTING 数据进来前
- INPUT 数据入口
- FORWARD 转发的时候
- OUTPUT 数据包出口
- POSTROUTING 数据出去后
- match,匹配规则,常用的规则有几下几种
- -p 用于匹配协议,如 TCP/UDP/ICMP
- -s 匹配源 IP (!表示反向)
- -d 匹配目的 IP(!表式反向)
- -i 流入网卡
- -o 流出网卡
- -dport 目的端口
- -sport 源端口
- -state 连接状态
- -m 显式扩展以上规则,即可以匹配多个状态,端口
- target,动作
- DROP 丢弃
- REJECT 拒绝
- ACCEPT 接受
- MASQUERADE 源地址伪装
- REDIRECT 定重向
- MARK 打标记
- RETRUN 返回
清空 iptables 规则
代码语言:javascript复制iptables -F
iptables -X
iptables -Z