本文共 2923 字,大约阅读时间需要 9 分钟。
iptables -A INPUT -i lo -p all -j ACCEPTiptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j ACCEPTiptables -A INPUT -s 127.0.0.1 -i eth0 -j ACCEPTiptables -A INPUT -s 127.0.0.1 -i lo -j ACCEPTiptabels -A INPUT -p tcp -m multiport --deport 135,137,445 -j DROPiptables -A INPUT -s 10.0.0.2/8 -i eth0 --deport 53 -j ACCEPTiptables -A FORWARD -p http -i eth0 --deport 80内核态模块和用户态工具, 管理员通过iptables工具给netfilter变更规则,实现防火墙的作用四表五链 raw表:是否对该数据包进行状态跟踪 mangle表:为数据包设置标记 nat表:修改数据包中的源、目标IP地址和端口 filter表:确定是否放行该数据包规则的作用:对数据包进行过滤和处理链的作用:容纳各种防火墙规则规则链: INPUT:处理入站数据包 OUTPUT:处理出站数据包 forward:处理转发数据包 postrouting:在进行路由选择后处理数据包 prerouting:在进行路由选择前处理数据包iptables -D INPUT 3iptables -n -L INPUTiptables -L INPUT --line-numbers添加新的规则-A:在链的末尾追加一条规则-i:在链的开头(或指定序号)插入一条规则#iptables -t filte~r -A INPUT -p tcp -j ACCEPT#iptables -i INPUT -p udp -j ACCEPT#iptables -i INPUT 2 -p icmp -j ACCEPT数据包的常见控制类型 ACCEPT:允许通过 DROP:直接丢弃,不给出任何回应 REJECT:拒绝通过,必要时会给出提示 LOG:记录日志信息,然后传给下一条规则继续匹配语法构成iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]几个注意事项不指定表名时,默认指filter表不指定链名时,默认指表内的所有链除非设置链的默认策略,否则必须指定匹配条件选项、链名、控制类型使用大写字母,其余均为小写规则表之间的顺序 raw—mangle—nat—filter规则链之间的顺序 入站:PREROUTING INPUT 出站:OUTPUT POSTROUTING 转发:PREROUTING FORWARD POSTROUTING规则链内的匹配顺序 按顺序依次检查,匹配即停止(LOG策略例外) 若找不到相匹配规则,则按该链的默认策略处理netfilter/iptables 预设的规则链: 规则的作用:对数据包进行过滤或处理 链的作用:容纳各种防火墙规则 链的分类依据:处理数据包的不同时机规则链: INPUT:处理入站数据包 OUTPUT:处理出站数据包 FORWARD:处理转发数据包 POSTROUTING链:在进行路由选择后处理数据包 PREROUTING链:在进行路由选择前处理数据包netfilter/iptables 预设的规则表 表作用:容纳各种规则链 划分依据:根据防火墙对数据的处理方式规则表: raw表:确定是否对该数据包进行状态跟踪 mangle表:为数据包设置标记 nat表:修改数据包中的源、目标IP地址或端口 filter表:确定是否放行该数据包(过滤)netfilter/iptables 分别是内核态模块和用户态工具,netfilter位于Linux内核中的包过滤功能体系,iptables位于/sbin/iptables,用来管理防火墙规则的工具,管理员通过iptables给netfilter变更规则实现防火作用。防火墙机制: 一种机制是拦阻传输流通行 一种机制是允许传输流通过 一些防火墙偏重拦阻传输流的通行,而另一些防火墙则偏重允许传输流通过。防火墙实现功能: 可以保护易受攻击的服务; 控制内外网之间网络系统的访问; 集中管理内网的安全性,降低管理成本; 提高网络的保密性和私有性; 记录网络的使用状态,为安全规划和网络维护提供依据。防火墙过滤器#iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT#iptables -A FORWARD -p tcp -m iprange --src-range 192.168.4.21-192.168.4.28 -j ACCEPT#iptables -A INPUT -m mac --mac-source 00:0c:29:c0:55:3f -j DROP#iptables -P INPUT DROP#iptables -I INPUT -p tcp -m multiport --dport 80 -j ACCEPT#iptables -I INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT局域网共用一个IP共享上网前提条件局域网各主机正确设置IP地址/子网掩码局域网各主机正确设置默认网关地址Linux网关支持IP路由转发实现方法编写SNAT转换规则#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 218.29.30.31前提条件局域网的Web服务器能够访问Internet网关的外网IP地址有正确的DNS解析记录Linux网关支持IP路由转发实现方法编写DNAT转换规则#iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.6发布时修改目标端口在DNAT规则中以“IP:Port”的形式指定目标地址#iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp --dport 2346 -j DNAT --to-destination 192.168.1.6:22 查看原文:
转载地址:http://dqmdi.baihongyu.com/