简介
iptables是通过分析数据包的包头信息,根据包头中的信息
是否匹配到一定的规则,再对这些数据包进行放行、拒绝或丢弃等动作。
iptables的表和链
表:
- filter:根进入linux本机的数据包有关,默认的表
- nat:主要进行来源与目的之间IP或port的转换,与本机无关,主要与linux主机后的区域网络内电脑有关
- mangle:主要是与特殊的数据包的路由标记有关
- raw:优先级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能
链:
- prerouting:预路由
- postrouting:已路由
- input:入站
- output:出站
- forward:转发
简单命令:
[root@iptables ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT #添加规则
# -A添加
# -p协议
# --d 目标
# -j 动作
# -t 后面接 table ,例如 nat 或 filter ,若省略此项目,则使用预设的 filter
[root@iptables ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
链的默认规则是accept,若修改默认规则,则:
[root@iptables ~]# iptables -P INPUT DROP #修改默认规则
*filter #表名
:INPUT DROP [50:4192] #默认规则以改变
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [22:2692]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
COMMIT
[root@iptables ~]# iptables -F ##清除所有已设的规则