收藏 分销(赏)

iptables常见套路.doc

上传人:w****g 文档编号:4139271 上传时间:2024-07-31 格式:DOC 页数:3 大小:18.19KB 下载积分:5 金币
下载 相关 举报
iptables常见套路.doc_第1页
第1页 / 共3页
iptables常见套路.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
  iptables常见套路   【iptables filter表常见套路】 (注:以下的"[INPUT|FORWARD]"表示INPUT或者FORWARD) #(1) 提高防火墙效率:已有连接直接放过(强制要求要有,而且必须放在最前面) iptables -A [INPUT|FORWARD] -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT   #(2) 防攻击:NEW状态的新连接并且不带有syn位的tcp包,均认为是不合法的tcp请求,直接丢弃(建议要有) #此条防攻击策略可有可无,因为安全是相对的,但是建议加上这条策略。 iptables -A [INPUT|FORWARD] -p tcp ! --syn -m state --state NEW -j DROP   #(3)访问控制:对访问防火墙本机或流经内网的数据只允许访问指定的端口(强制要求要有) iptables -A [INPUT|FORWARD] -p tcp -m multiport --dport 22,80,443 -j ACCEPT   #(4)最后,设置默认策略 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT #注意OUTPUT这时是ACCEPT,即所有发出去的包全部放过,不做封禁。   ################################################################### 【nat表常见套路】 # snat: 源地址转换,内网访问外网时 iptables -t nat -A POSTROUTING -o 外网网卡 -s 内网网段 -j SNAT --to 外网网卡ip #或者使用MASQUEAGE让netfilter自己根据出口ip选源ip iptables -t nat -A POSTROUTING -o 外网网卡 -s 内网网段 -j MASQUERADE   # dnat: 目标地址转换,外网访问内网服务器时 iptables -t nat -A PERROUTING -i外网网卡 -d 外网网卡ip -p tcp --dport 80 -j DNAT --to 内网服务器ip:80   ################################################################### 【iptables策略保存及恢复】 Iptables-save > /etc/sysconfig/iptables Iptables-restore < /etc/sysconfig/iptables   ################################################################### 【内核参数调整】 vi /etc/sysctl.conf   #1,目的是为了增加TCP处理性能 net.ipv4.ip_forward=1 net.ipv4.ip_default_ttl=128 net.ipv4.icmp_echo_ignore_all=1 net.ipv4.icmp_echo_ignore_broadcasts net.ipv4.tcp_syncookies=1 net.ipv4.tcp_syn_retries=3 net.ipv4.tcp_synack_retries=3 net.ipv4.tcp_fin_timeout=60 net.ipv4.tcp_max_syn_backlog=3200   sysctl -p 使刚刚修改的sysctl.conf配置生效   #2,目的是为了增加"状态跟踪"的内存缓冲区,进而增强防火墙处理性能。 (2.1)vi /etc/sysctl.conf net.ipv4.ip_conntrack_max = 655350 filter.ip_conntrack_tcp_timeout_established = 1800 #1800秒=30分钟 sysctl -p 使刚刚修改的sysctl.conf配置生效   (2.2)vi /etc/modprobe.conf options ip_conntrackhashsize=1048576 #2的20次方 或者再命令行执行modprobeip_conntrackhashsize=1048576也可以,     ################################################################### 下面看一个关于“状态跟踪”检测的故障分析: [故障分析] iptables开启状态跟踪后,导致一部分流量被拒绝。 [现象] 线上内核日志:/var/log/messages 打印:ip_conntrack: table full, dropping packet. [原因] 由于iptables/netfilter使用了状态跟踪,这样会使用更多的内存,这条日志表示内存已经超过使用限制, 服务器开始丢弃多余的数据包, [解决] 需要调大内存使用限制的参数,如下:   1, vi /etc/sysctl.conf net.ipv4.ip_conntrack_max = 655350 filter.ip_conntrack_tcp_timeout_established = 1800 #1800秒=30分钟 (连接跟踪表超时时间,通过测试这个参数的意义不大,和跟踪表自动清除的时间没有太大关系,但还是先减小,默认值是7天)   2, vi /etc/modprobe.conf options ip_conntrackhashsize=1048576 #2的20次方 或者再命令行执行modprobeip_conntrackhashsize=1048576也可以 设置桶的数量。提高性能,可以减少内核遍历时间。   [结论] 这几个设置理由很简单,因为线上服务的流量可能很大,超出预期。 为了让iptalbes/netiflter发挥出最大的性能,给它多分配些内存空间,以防止流量太大,导致请求被拒绝。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服