raw: 优先级最高, 设置raw一般是为了不再让iptables做数据包的跟踪链接处理, 提高性能.
mangle: 用于对特定数据包的修改.
nat: 用于nat功能端口或者地址映射.
filter: 一般的过滤功能.
raw表中的链有: PREROUTING, OUTPUT
mangle表中的链有: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
nat表中的链有: PREROUTING, POSTROUTING, OUTPUT
filter表中的链有: INPUT, FORWARD, OUTPUT
tip: iptable -h都能看到对应的解释
规则增删改查:
参数 | 作用 |
---|---|
-A | 在规则链的末尾加入新规则 |
-I | 在规则链的头部加入新规则 |
-D | 删除 |
-R | 修改 |
-L | 查看 |
-P | 设置默认策略 , iptables -P INPUT DROP |
-F | 清空默认规则链 |
-X | 删除自定义空链 |
常用参数:
参数 | 作用 |
---|---|
-p | 指定协议 tcp/udp/icmp |
-s | 指定源地址 ip/mask , 加叹号 “!” 表示相反的意思 |
-d | 匹配目标地址 |
–sport | 匹配来源端口号 |
–dport | 匹配目端口号 |
-i | 匹配从这块网卡流入的数据 |
-o | 匹配从这块网卡流出的数据 |
-m | 加载模块 |
-t | 指定表, 默认filter表. iptables -L - nat/mangle/raw |
-j | 指定处理的动作 , ACCEPT/DROP |
常用处理动作:
动作 | 作用 |
---|---|
ACCEPT | 允许封包通过,:将数据包放行,进行完此动作后,不再对比其他规则,直接跳往下一个规则链. |
DROP | 丢弃封包,响应超时,对方无法判断主机是否在线或者流量被拒绝,不再对比其他规则,中断过滤. |
REJECT | 拒绝封包通过,并将数据包封装,返回消息,对方看到主机口不可达. |
REDIRECT | 将包重定向到另一个端口,之后继续对比其他规则. |
MASQUERADE | 改写封包来源ip为防火墙NIC ip , 可指定port范围 , 之后跳往下一规则. |
SNAT | 改写封包来源ip为某特定ip或ip范围 , 可指定 port 范围 , 之后跳往下一规则. |
DNAT | 改写封包目的ip为某特定ip或ip范围, 可指定port范围 , 之后跳往下一规则. |
iptables -F
|
l iptables -P INPUT DROP
l iptables -P OUTPUT ACCEPT
l iptables -P FORWARD DROP
4.根据自己机器的实际情况开启相应端口
l # 允许回环loopback访问
l $ iptables -A INPUT -i lo -j ACCEPT
l $ iptables -A OUTPUT -o lo -j ACCEPT (output链的默认策略设置为DROP时,需要添加这条,以下针对的每个端口同此一样.)
l #开启22端口,ssh才能登录.
l $ iptables -A INPUT -p tcp --dport 22 -j ACCEPT
l $ iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
l 或者
l $ iptables -A INPUT -i eth0 -s 192.168.2.100 -p tcp --dport 22 -j ACCEPT #指定eth1网卡和192.168.2.100允许ssh登录
l $ iptables -A OUTPUT -o eth0 -s 192.168.2.100 -p tcp --dport 22 -j ACCEPT
l #允许ping(即icmp包通过)
l $ iptables -A INPUT -p icmp -j ACCEPT
l $ iptables -A OUTPUT -p icmp -j ACCEPT
l #使ping域名可以得到响应
l $ iptables -A INPUT -p udp --sport 53 -j ACCEPT
l $ iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
l $ iptables -A INPUT -p udp --dport 53 -j ACCEPT
l $ iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
tip: 除了以上用命令去添加规则,还可以用编辑文件的方式 vim /etc/sysconfig/iptables
1 | service iptables save |
1 | service iptables restart |
1 | iptables -L -n |
请求比较频繁的放在最上面,请求频率较小的放在最后面.这里整理关于防火墙的东西,不是具体的知识,更多工操作使用,具体的防火墙知识,还需要去阅读参考网上写的各种文章,需要多读多看多试,才能理解深入.
本文出自 “chenqj” 博客,请务必保留此出处http://chenqj.blog.51cto.com/13330293/1970118
原文地址:http://chenqj.blog.51cto.com/13330293/1970118