关于防火墙的简单小知识 iptables

1、拒绝所有主机ping当前的主机

iptables -A INPUT -s 0.0.0.0 -p icmp -j DROP

 

2、本机能够访问别的机器的HTTP服务,但是别的机器无法访问本机

iptables -I INPUT -p tcp --dport 80 -m -state --state  RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -j REJECT

 

3、当我们发现有 ip 恶意攻击我们得时候,我们可以通过对防火墙设定规则来进行控制。所以我们可以添加connlimit模块来实现对最大并发得控制。请写出步骤

限制同一IP同时最多100个http连接

iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT
或
iptables -I INPUT -p tcp --syn --dport 80 -m connlimit ! --connlimit-above 100 -j ACCEPT

 

只允许每组C类IP同时100个http连接

iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 --connlimit-mask 24 -j REJECT

 

只允许每个IP同时5个80端口转发,超过的丢弃

iptables -I FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j DROP

 

限制某IP最多同时100个http连接

iptables -A INPUT -s 222.222.222.222 -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT

 

限制某IP在一定的时间(比如60秒)内允许新建立最多100个http连接数

iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 100 -j REJECT
iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT

4、实践题
实验前提需求

  现在我在外地出差使用A8互联网主机,但是现在由于公司有业务需要我 ssh 链接到内网、这时候我就链接我们公司同事在防火墙上配置相关规则让我链接进公司内网   请写出实现过程 

 

准备环境

 外网访问内网用dnat ;dnat 用PREROUTING链 所以👇

[root@A8 ~]#echo 1 > /proc/sys/net/ipv4/ip_forward     #允许数据包转发
[root@A8 ~]#iptables -t nat -A PREROUTING -d 192.168.1.129 -p tcp --dport 22 -j DNAT --to-destination 10.0.0.18:22

结果

[root@A8 ~]#iptables -t nat -vnL
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    2   120 DNAT       tcp  --  *      *       0.0.0.0/0            192.168.1.129        tcp dpt:22 to:10.0.0.18

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

 

posted @ 2020-09-19 16:48  养了27年的狗  阅读(212)  评论(0编辑  收藏  举报
Live2D