防火墙有两种:数据包过滤、应用层防火墙
200人以下的需要128MB的数据包过滤防火墙就够了
防火墙结构:单机防火墙、网关式防火墙、透明防火墙
DMZ网关式防火墙

DMZ网关式防火墙改良版 NAT功能

透明式防火墙 新一代防火墙 网桥功能

防火墙核心功能:filter nat mangle raw
filter input forward output
nat prerouting postrouting ouput
mangle prerouting input forward output postrouting
raw prerouting output
input 进来 output 出去 forward 中转路过
优先匹配
iptables -L
iptables -F clear
iptables -A add new rule
-I input new rule
-R replace old rule
-D delete old rule
iptables -t filter
iptables -t net
iptables -t mangle
iptables -t raw
iptables -t filter -L INPUT
iptables -t filter -F
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -P FORWARD DROP //默认不转发
iptables -t filter -I INPUT 2 -p tcp -j ACCEPT
iptables -t filter -R INPUT 2 -p tcp -j ACCEPT //第二条规则被替换
iptables -t filter -D INPUT 2 //删除第二条规则
iptables -A INPUT -p icmp -s ip -j DROP //删除从IP进入到本地的所有
//DROP ACCEPT REJECT
iptables -A INPUT -p all -s 192.168.1.0/24 -d 192.168.0.1 -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 -j DROP
单机防火墙实例INPUT

数据包状态:ESTABLISHED NEW RELATED INVALID
shell

网关式防火墙filter
简单网关式防火墙shell

nat设置
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to 10.1.0.200
如果公网IP不固定
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
多对多NAT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to 10.1.0.200-10.1.0.205


不允许所有人访问www.playboy.com
iptables -A FORWARD -p tcp -i eth1 -o eth0 -d www.playboy.com -j DROP
iptables -A INPUT -p icmp -j DROP


tcp-flags


--mac-source

multiport
iptables -A INPUT -p tcp --syn -m state --state NEW -m multiport --dports 21,22,23,99 -j ACCEPT
iptables -A INPUT -p all -m state --state ESTABLESHED,RELATED -j ACCEPT
-m owner --uid-owner jacky


-m iprange --src-range 192.0.1-192.0.64

iprange --src-range --dst-range
-m ttl --ttl-eq 64
pkttype

mtu -m length --length

limit限制包数量
iptables -A INPUT -p icmp -m limit --limit 6/m --limit -burst 10 -j ACCEPT
iptables -A INPUT -p icmp -j DROP
recent 显示ssh密码尝试次数
https://www.cnblogs.com/hiloves/archive/2011/07/19/2109899.html
recent 限制80端口每秒内只能由10个链接,超过次数记录日志和拒绝
iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j LOG --log-prefix 'DDOS:' --log-ip-options
iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP
recent
http://www.path8.net/tn/archives/5867
string 对数据内容进行过滤


connlimit 限制连接数量

connbytes限制下载量
quota每天只能下载500M

time 设置规则的生效时间


conntrack 为 state加强版


statistic


hastlimit

u32
自定义用户链
REJECT自定义错误信息

-j LOG记录日志



网友评论