第一范文网 - 专业文章范例文档资料分享平台

Linux 防火墙iptables 禁止某些 IP访问

来源:用户分享 时间:2025/11/3 16:38:01 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Linux 防火墙iptables 禁止某些 IP访问

www.111cn.net 编辑:phper 来源:转载

在Linux下,使用ipteables来维护IP规则表。要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作。 方法一,过滤一些IP访问本服务器 要封停一个IP,使用下面这条命令: 代码如下 iptables -I INPUT -s ***.***.***.*** -j DROP 要解封一个IP,使用下面这条命令: 代码如下 iptables -D INPUT -s ***.***.***.*** -j DROP 参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。 此外,还可以使用下面的命令来查看当前的IP规则表: 代码如下 iptables -list 比如现在要将123.44.55.66这个IP封杀,就输入: 代码如下 iptables -I INPUT -s 123.44.55.66 -j DROP 要解封则将-I换成-D即可,前提是iptables已经有这条记录。如果要想清空封掉的IP地址,可以输入:

复制代码 复制代码 复制代码 复制代码 代码如下 iptables -flush 要添加IP段到封停列表中使用下面的命令: 代码如下 iptables -I INPUT -s 121.0.0.0/8 -j DROP 复制代码 复制代码 其实也就是将单个IP封停的IP部分换成了Linux的IP段表达式。关于IP段表达式网上有很多详细解说的,这里就不提了。 方法二,使用脚本来进行屏蔽

1.先下载ip地址文件

我们先到IPdeny下载以国家代码编制好的ip地址列表,比如下载cn.zone: wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone

现在有了国家的所有IP地址,要想屏蔽这些 IP 就很容易了,直接写个脚本逐行读取cn.zone文件并加入到iptables中: iptables屏蔽某个国家ip段 代码如下 #!/bin/bash # Block traffic from a specific country # written by blog.slogra.com COUNTRY = \IPTABLES = /sbin/iptables EGREP = /bin/egrep if [ \ echo \ exit 1 fi resetrules() { 复制代码 $IPTABLES -F

$IPTABLES -t nat -F $IPTABLES -t mangle -F $IPTABLES -X } resetrules

for c in $COUNTRY do

country_file = $c.zone

IPS = $($EGREP -v \ for ip in $IPS do

echo \

$IPTABLES -A INPUT -s $ip -j DROP done done exit 0

方法三,上面两个实例都可以但都不简明,下面我来介绍一下

在iptables中,添加两个常用的IP段,其他网段的数据包都DROP了,而不是REJECT(REJECT还要发送ICMP回应包给连接方)。 代码如下 # iptables -A INPUT -p tcp --dport 22 -s 120.0.0.0/8 -j ACCEPT # iptables -A INPUT -p tcp --dport 22 -s 183.0.0.0/8 -j ACCEPT # iptables -A INPUT -p tcp --dport 22 -j DROP

测试:

在另外一个机子连接这个VPS,数据包被成功DROP了。 代码如下 root@293621:~# iptables -vL 复制代码 复制代码 Chain INPUT (policy ACCEPT 36 packets, 6257 bytes) pkts bytes target prot opt in out source destination

222 16280 ACCEPT tcp -- any any 120.0.0.0/8 anywhere tcp dpt:ssh 0 0 ACCEPT tcp -- any any 183.0.0.0/8 anywhere tcp dpt:ssh 4 240 DROP tcp -- any any anywhere anywhere tcp dpt:ssh

搜索更多关于: Linux 防火墙iptables 禁止某些 IP访问 的文档
Linux 防火墙iptables 禁止某些 IP访问.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2utye0pcma3h0qr03o5e_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top