raw: 优先级最高, 设置raw通常是为了避免再让iptables作数据包的跟踪连接处理, 提升性能.vim
mangle: 用于对特定数据包的修改.ssh
nat: 用于nat功能端口或者地址映射.tcp
filter: 通常的过滤功能.ide
raw表中的链有: PREROUTING, OUTPUToop
mangle表中的链有: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING性能
nat表中的链有: PREROUTING, POSTROUTING, OUTPUT优化
filter表中的链有: INPUT, FORWARD, OUTPUTspa
tip: iptable -h都能看到对应的解释rest
规则增删改查:code
参数 | 做用 |
---|---|
-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 |
请求比较频繁的放在最上面,请求频率较小的放在最后面.这里整理关于防火墙的东西,不是具体的知识,更多工操做使用,具体的防火墙知识,还须要去阅读参考网上写的各类文章,须要多读多看多试,才能理解深刻.