防火墙
主机型防火墙(自己保护自己)
网络型防护墙(保护某个网络)
实现方式分 硬件防火墙 软件防火墙
iptables
172.40.55.10 (要使用iptables保护自己)
[root@ca ~]# rpm -q iptables
iptables-1.4.7-16.el6.x86_64
[root@ca ~]#
内核态 filter (功能)
用户态 iptables (管理工具)
4张表(功能)
raw 做状态跟踪
mangle 打标签
nat 做地址或端口转换
filter 默认表, 对ip包做过滤 (3条链 INPUT OUTPUT FORWARD)
5条链(ip包传输的方向)
INPUT 处理进入防火墙本机的ip包
OUTPUT 处理从防火墙本机出去的ip包
FORWARD 处理从防火墙本机经过的ip包
POSTROUTING 路由后处理
PREROUTING 路由前处理
管理选项
查看 -L
清空所有规则 -F
给表中的链设置默认规则 -P
给表中的链添加新规则
-A 新规则在已有规则的末尾
-I 新规则添加在已有规则的上方
-I 编号 新规则添加指定规则的上方
-D 删除某条规则
匹配条件
-s 指定ip包中的源地址 172.40.55.10 172.40.55.0/24
-d 指定ip包中的目标地址 172.40.55.10 172.40.55.0/24
-p 数据传输协议 tcp udp icmp
--dport 目标端口
--sport 源端口
-i 指定ip包进入的网络接口
-o 指定ip包出去的网络接口
处理动作
ACCEPT
DROP
REJECT
编写防火墙规则
iptables -t 表名 管理选项 链名 匹配条件 -j 处理动作
iptables -t filter -P INPUT DROP
iptables -t filter -A INPUT -s 172.40.55.10 -j ACCEPT
iptables -t filter -L INPUT
[root@ca ~]# iptables -t filter --line-numbers -nL INPUT
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 172.40.55.10 0.0.0.0/0
[root@ca ~]#
iptables -I INPUT -s 172.40.55.190 -p tcp --dport 22 -j ACCEPT
iptables -I INPUT 2 -s 172.40.55.103 -p tcp --dport 22 -j ACCEPT
iptables -t filter -D INPUT 2
iptables -F INPUT
iptables -F
只允许自己Ping别人 不允许ping自己
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -F
iptables -t filter -A OUTPUT -p icmp --help
iptables -t filter -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -t filter -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
++++++++++++++++++++++++++++++
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -F
iptables -t filter -A INPUT -p icmp --icmp-type echo-request -j REJECT
iptables -t filter -A OUTPUT -d 172.40.55.10 -p tcp --dport 22 -j DROP
ssh root@172.40.55.10
++++++++++++++++++++++++++++++++++++++++
[root@svr5 ~]# iptables -A INPUT -s 192.168.4.120 -j DROP
[root@svr5 ~]# iptables -A INPUT -s 10.0.10.0/24 -j DROP
[root@svr5 ~]# iptables -A FORWARD -s 192.168.0.0/16 -i eth1 -j DROP
[root@svr5 ~]# iptables -A FORWARD -s 172.16.0.0/16 -i eth1 -j DROP
iptables -t filter -P INPUT DROP
iptables -t filter -A INPUT -s 172.40.55.0/24 -j ACCEPT
iptables -t filter -I INPUT -s 172.40.55.10 -j DROP
[root@svr5 ~]# iptables -A FORWARD -s 192.168.0.0/16 -i eth1 -j DROP
[root@svr5 ~]# iptables -A FORWARD -s 172.16.0.0/16 -i eth1 -j DROP
[root@svr5 ~]# iptables -A INPUT -s 192.168.168.0/24 \
-p tcp --dport 22 -j ACCEPT
[root@svr5 ~]# iptables -A INPUT -s 220.181.78.0/24 -p tcp --dport 22 -j ACCEPT
[root@svr5 ~]# iptables -A INPUT -p tcp --dport 22 -j DROP
[root@svr5 ~]# iptables -A INPUT ! -s 192.168.168.0/24 -p tcp --dport 20:21 -j DROP
[root@svr5 ~]# iptables -A INPUT -p icmp --icmp-type \
echo-request -j DROP
[root@svr5 ~]# iptables -A INPUT -p icmp ! --icmp-type \
echo-request -j ACCEPT
[root@svr5 ~]# iptables -A OUTPUT -p icmp --icmp-type \
echo-request -j ACCEPT
[root@svr5 ~]# iptables -A OUTPUT -p icmp ! --icmp-type \
echo-request -j DROP
扩展匹配条件
原文地址:http://liangzai818.blog.51cto.com/10003446/1771364