iptables阻止服务器被攻击

本文详细介绍了如何使用iptables命令来配置防火墙规则,包括阻止特定IP范围的访问、开放指定端口以及屏蔽或开启常用端口的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下列规则将会阻止来自某一特定IP范围内的数据包,因为该IP地址范围被管理员怀疑有大量恶意攻击者在活动: 
# iptables -t filter -A INPUT -s 123.456.789.0/24 -j DROP 
也可以很轻易地阻止所有流向攻击者IP地址的数据包,该命令稍有不同:
 # iptables -t filter -A OUTPUT -d 123.456.789.0/24 -j DROP 
 
注意这里的A选项,使用它说明是给现有的链添加规则
基于TCP协议的原理,为了彻底阻断攻击IP的连接,所以需要把流入流出到该IP的数据包都DROP掉
 
 
最后补充一下,如果想针对某IP进行单独开放端口可以如下配置:
 
如果我需要对内网某机器单独开放mysql端口,应该如下配置:   
iptables -A INPUT -s 192.168.2.6 -p tcp -m tcp --dport 3306 -j ACCEPT   
iptables -A OUTPUT -s 192.168.2.6 -p tcp -m tcp --sport 3306 -j ACCEPT  
 
 
彻底禁止某IP访问:
 
#屏蔽单个IP的命令是   
iptables -I INPUT -s 123.45.6.7 -j DROP   
#封整个段即从123.0.0.1到123.255.255.254的命令   
iptables -I INPUT -s 123.0.0.0/8 -j DROP   
#封IP段即从123.45.0.1到123.45.255.254的命令   
iptables -I INPUT -s 124.45.0.0/16 -j DROP   
#封IP段即从123.45.6.1到123.45.6.254的命令是   
iptables -I INPUT -s 123.45.6.0/24 -j DROP   
指令I是insert指令 但是该指令会insert在正确位置并不像A指令看你自己的排序位置,因此用屏蔽因为必须在一开始就要加载屏蔽IP,所以必须使用I命令加载,然后注意执行/etc/rc.d/init.d/iptables save进行保存后重启服务即可  
 
 
屏蔽或开启常见端口
 
屏蔽或开启常用的TCP、UDP端口:
 
#可以使用DROP替换ACCEPT,实现端口屏蔽。  
#打开22端口(SSH)  
# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 22 -j ACCEPT  
#打开TCP/UDP631端口(打印服务)  
# iptables -A INPUT -p udp -s 192.168.1.0/24 -m udp --dport 631 -j ACCEPT  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m tcp --dport 631 -j ACCEPT  
# 打开123端口,允许局域网用户进行NTP时间同步  
# iptables -A INPUT -p udp -s 192.168.1.0/24 -m state --state NEW --dport 123 -j ACCEPT  
#打开25端口(SMTP)  
# iptables -A INPUT -p tcp -m state --state NEW --dport 25 -j ACCEPT  
# 打开DNS端口  
# iptables -A INPUT -p udp -m state --state NEW --dport 53 -j ACCEPT  
# iptables -A INPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT  
#打开http/https端口  
# iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT  
# iptables -A INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT  
#打开TCP110端口(POP3)  
# iptables -A INPUT -p tcp -m state --state NEW --dport 110 -j ACCEPT  
#打开TCP143端口  
# iptables -A INPUT -p tcp -m state --state NEW --dport 143 -j ACCEPT  
#为局域网用户开启Samba访问  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 137 -j ACCEPT  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 138 -j ACCEPT  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 139 -j ACCEPT  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 445 -j ACCEPT  
#为局域网用户开启代理服务器访问  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 3128 -j ACCEPT  
#为局域网用户开启MySQL访问  
# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值