防火墙有两种:数据包过滤、应用层防火墙 200人以下的需要128MB的数据包过滤防火墙就够了 防火墙结构:单机防火墙、网关式防火墙、透明防火墙 DMZ网关式防火墙
image.png
DMZ网关式防火墙改良版 NAT功能
image.png
透明式防火墙 新一代防火墙 网桥功能
image.png
防火墙核心功能: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
image.png
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 -j DROP
单机防火墙实例INPUT
image.png
数据包状态:ESTABLISHED NEW RELATED INVALID
shell
image.png
网关式防火墙filter 简单网关式防火墙shell
image.png
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
image.png
image.png
不允许所有人访问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记录日志


