linux 防火墙 iptables 常用操作笔记,java 开发手册百度网盘
常用命令
====
iptables -nL --line-number #查看 iptables 规则(列出序号)
iptables -t filter -D INPUT 1 #通过序号删除链中的规则(或者原添加规则命令中直接-A/-I 换成-D 也可删除)
#查看 iptables 默认加载的内核模块
lsmod| egrep "nat|filter"
iptables -F #清除所有规则,只留下默认规则
iptables -N #创建用户自定义的链
iptables -X #清除用户自定义的链
iptables -Z #链的计数器清零
iptables -t filter -A INPUT -p tcp --dport 22 -j DROP #-j jump
#-A 添加规则到链的结尾,最后一条 -I 插入规则到链的开头,第一条。 越靠前的规则优先级越高。
iptables -I INPUT 2 #指定位置插入规则,插入到 INPUT 链的第二行
#禁止 10.0.0.0 网段连入
iptables -t filter -A INPUT -i eth0 -s 10.0.0.0/24 -j DROP
#取反匹配(不同 centos 版本!位置有变化)
iptables -t filter -A INPUT -i eth0 -s ! 10.0.0.0/24 -j DROP
#-p 协议 (all, tcp, udp, icmp),默认 all
iptables -A INPUT -m iprange --src-range 13.32.4.168-13.32.4.176 -j ACCEPT #匹配源 IP
iptables -A INPUT -m iprange --dest-range 8.8.8.2-8.8.8.22 -j DROP #匹配目标 IP
#匹配端口范围
--sport 22:80
-m multiport --dport 21,22,23,80,3306
#匹配网络接口
-i 匹配包进入的网卡
-o 匹配包流出的网卡
#icmp 有很多类型,--icmp-type 8 代表 ping
#禁 ping
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
iptables -I INPUT -p icmp --icmp-type 8 -s 10.0.0.0/24 -j ACCEPT
#匹配网络状态 -m state --state
#允许关联的状态包通过,一般用于 ftp 服务,比喻:看电影出去接电话或者 WC,回来也得允许进去
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
企业级防火墙部署
========
#不允许进和转发,只允许出。最安全的
iptables -P INPUT DRO
P
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#开启信任的 IP 网段(多网卡)
iptables -A INPUT -s 124.43.62.96/27 -p all -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p all -j ACCEPT
#允许访问 80 端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允许所有人 ping
iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
#允许关联的状态包
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
保存
==
#保存 iptables 配置,2 种保存方式
/etc/init.d/iptables save
iptables-save > /etc/sysconfig/iptables
#iptables 维护可以通过直接编辑/etc/sysconfig/iptables
vim /etc/sysconfig/iptables
/etc/init.d/iptables restart|reload #编辑后重启
nat 表
====
核心功能:IP 及端口的映射转换,主要应用于以下 2 点:
1.共享上网
2.端口映射
首先说说局域网内封包的传送:
先经过 NAT table 的 PREROUTING 链;
经由路由判断确定这个封包是要进入本机与否,若不进入本机,则下一步;
再经过 Filter table 的 FORWARD 链;
通过 NAT table 的 POSTROUTING 链,最后传送出去。
NAT 主机的重点就在于上面流程的第 1,4 步骤,也就是 NAT table 的两条重要的链:PREROUTING 与 POSTROUTING。 那这两条链重要功能在于修改 IP,而这两条链修改的 IP 又是不一样的,POSTROUTING 在修改来源 IP,PREROUTING 则在修改目标 IP 。由于修改的 IP 不一样,所以就称为来源 NAT (Source NAT, SNAT) 及目标 NAT (Destination NAT, DNAT)。
评论