iptable使用小记

2022-05-16
2分钟阅读时长

iptable.

下列规则将会阻止来自某一特定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   
iptables -I INPUT -s  16.162.21.186 -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