2009/03/26

iptables 小例子

iptables


来源: ChinaUnix博客  日期: 2008.08.31 09:29 (共有0条评论) 我要评论

网络安全
* 防火墙原理
* netfilter架构
* iptables命令
* NAT地址转换
-----------------
防火墙在接入点过滤数据包保护内网,支持包过滤技术,由linux内核的netfilter支持
INPUT,OUTPUT保护本机;FORWARD转发,保护网络[内网]
条件的叠加称为链
INPUT进入本机的数据包
OUTPUT本机发送的数据包
FORWARD本机路由的数据包
数据包:源地址,目标地址,协议类型->本机路由决定怎么走->INPUT,OUTPUT,FORWARD
处理方式:DROP,ACCEPT,REJECT,LOG
# iptables -A INPUT -j icmp DROP
# iptables --help |less
# iptables -L -n --line-numbers #显示条件编号
----------------------------
过滤
# iptables -A INPUT -p tcp -d 192.168.0.101 --dport 22 -j ACCEPT
# iptables -A OUTPUT -p tcp -s 192.168.0.101 --sport 22 -j ACCEPT
# iptables -P INPUT DROP
# iptables -P OUTPUT DROP
# iptables -P FORWARD DROP
# iptables -A INPUT -p tcp -d 192.168.0.101 --dport 80 -j ACCEPT
# iptables -A OUTPUT -p tcp -s 192.168.0.101 --sport 80 -j ACCEPT
# grep domain /etc/services #域名解析53
# iptables -A OUTPUT -p udp -s 192.168.0.101 --dport 53 -j ACCEPT #client
# iptables -A INPUT -p udp -d 192.168.0.101 --sport 53 -j ACCEPT #client
# host
www.baidu.com
# iptables -A INPUT -p udp -d 192.168.0.101 --dport 53 -j ACCEPT #server
# iptables -A INPUT -p udp -s 192.168.0.101 --sport 53 -j ACCEPT #server
# iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT#已连接的行
# iptables -D OUTPUT 1 #确定了再弄
# iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
# iptables -D OUTPUT 1
这样22,80只匹配已连接的;如果只是客户机,ssh的input也应匹配ESTABLISHED
# service iptables save
# iptables-save>/root/fw/1.rule
----------------------------
日志 数据包没被丢弃,通过的情况下记录
# iptables -A INPUT -p tcp --dport 22 -j LOG --log-level 5 --log-prefix "IPTABLES:"
# vi /etc/syslog.conf #+
kern.=notice /var/log/firewall.log
#kern 消息产生来源,=notice man syslog; man syslog.conf #notic=5
# service syslog restart
# iptables -I INPUT 1 -p tcp --dport 22 -j LOG --log-level 5 --log-prefix "iptables:"
# 要放在ssh前边
# tail -f /var/log/firewall.log #现在就有实时记录

0 评论: