闲人运维

个人运维记录


Linux防火墙配置

<p>[TOC]</p> <h5>Firewalld防火墙</h5> <ul> <li>添加策略</li> </ul> <pre><code class="language-bash">firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="10.0.0.4" port protocol="tcp" port="20208" accept" # 限制ip访问 firewall-cmd --permanent --zone=public --add-rich-rule="rule port protocol="tcp" port="8000" accept" # 不限制IP firewall-cmd --reload firewall-cmd --list-rich-rules firewall-cmd --list-all --zone=public</code></pre> <ul> <li>删除策略</li> </ul> <pre><code class="language-bash">firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="10.0.0.4" port protocol="tcp" port="20208" accept" firewall-cmd --reload firewall-cmd --list-rich-rules firewall-cmd --list-all --zone=public</code></pre> <h5>iptables使用</h5> <pre><code class="language-bash">iptables-save &gt; /etc/iptables-script # 保存规则 iptables-restore &gt;/etc/sysconfig/iptables # 恢复规则 iptables -F # 清除所有规则 iptables -L -n # 查看规则 iptables -L -n --line-number # 查看规则并显示规则的序号 iptables -D INPUT 3 # 根据序号删除规则,入删除第3条规则 iptables -D INPUT -p tcp --dport 22:25 -j ACCEPT # 删除指定规则 iptables -P INPUT DROP # 设置默认链规则,默认是ACCEPT iptables -P FORWARD DROP # 设置FORWARD链 iptables -A INPUT -s 10.0.0.100 -j DROP # 拦截一个IP iptables -A INPUT -p tcp -i eth0 -s 10.0.0.100 -j DROP # 拦截ip在某个网卡上的TCP连接 iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT # 允许ssh连接1,入方向 iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT # 允许ssh连接2,出方向 iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISH -j ACCEPT # 允许访问80 http服务,入方向 iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISH -j ACCEPT # 允许访问80 http服务,出方向 iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISH -j ACCEPT # 允许多个端口访问,入方向 iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISH -j ACCEPT # 允许多个端口访问,出方向 iptables -A INPUT -i eth0 -s 10.0.2.0/24 -p tcp --dport 22 -m state --state NEW,ESTABLISH -j ACCEPT # 仅允许某个网段访问 iptables -A INPIT -p icmp --icmp-type echo-request -j ACCEPT # 允许外部ping,入方向 iptables -A OUTPUT -p icmp --icmp-type echo-relay -j ACCPT # 允许响应ping,出方向 iptables -A OUTPUT -p udp -s eth0 --dport 53 -j ACCEPT # 向外请求dns,出方向 iptables -A INPUT -p udp -d eth0 --sport 53 -j ACCEPT # 向外请求dns,允许dns响应,入方向 iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT # 防dos,-limit 每分钟请求数,-limit-burst 总请求数达到多少开始限流 iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j REJECT # 限制并发连接数,超过30个拒绝 iptables -I INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT # 限制每个IP每秒并发连接数最大3个(1) iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT # 限制每个IP每秒并发连接数最大3个(2) iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22 # 端口转发,将访问端口442的连接路由至端口22</code></pre>

页面列表

ITEM_HTML