Linux下iptables屏蔽IP和端口号

本文介绍了如何使用iptables命令进行防火墙规则配置,包括封禁单个IP、IP段及端口的方法,并说明了如何开放端口及清除规则等操作。

封单个IP的命令:iptables -I INPUT -s 124.115.0.199 -j DROP

封IP段的命令:iptables -I INPUT -s 124.115.0.0/16 -j DROP

封整个段的命令:iptables -I INPUT -s 194.42.0.0/8 -j DROP

封几个段的命令:iptables -I INPUT -s 61.37.80.0/24 -j DROP

只封80端口:iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP

解封:iptables -F

清空:iptables -D INPUT 数字


列出 INPUT链 所有的规则:iptables -L INPUT --line-numbers

删除某条规则,其中5代表序号(序号可用上面的命令查看):iptables -D INPUT 5

开放指定的端口:iptables -A INPUT -p tcp --dport 80 -j ACCEPT

禁止指定的端口:iptables -A INPUT -p tcp --dport 80 -j DROP

拒绝所有的端口:iptables -A INPUT -j DROP


以上都是针对INPUT链的操作,即是外面来访问本机的方向,配置完之后 需要保存,否则iptables 重启之后以上设置就失效

service iptables save

iptables 对应的配置文件 /etc/sysconfig/iptables

注意:iptables的规则匹配顺序上从上到下的,也就是说如果上下两条规则有冲突时,将会以上面的规则为准。
### 屏蔽恶意访问 IP 的方法 在 Linux 系统中,可以通过 `iptables` 来实现对特定恶意 IP 地址的屏蔽功能。以下是详细的说明: #### 关闭可能冲突的服务 为了防止与其他防火墙服务(如 `firewalld`)发生冲突,在启用 `iptables` 前需确保其他防火墙已停止运行并被禁用[^3]。 ```bash systemctl stop firewalld.service systemctl disable firewalld.service ``` #### 安装 iptables 如果系统尚未安装 `iptables`,则需要先完成其安装操作。对于基于 Red Hat 或 CentOS 的发行版,可使用以下命令进行安装[^1]: ```bash yum install iptables-services ``` 而对于 Debian/Ubuntu 类型的操作系统,则应采用如下方式: ```bash apt-get update && apt-get install iptables-persistent ``` #### 添加屏蔽规则 要阻止某个具体的恶意 IP 访问服务器资源,可通过向 `iptables` 中加入拒绝策略来达成目的。例如,假设目标是要封锁来自地址 `192.168.1.100` 的所有连接请求,那么可以执行下面这条指令[^2]: ```bash iptables -A INPUT -s 192.168.1.100 -j DROP ``` 此命令的作用是在输入链 (`INPUT`) 上追加一条新记录,指定源地址为 `192.168.1.100` 并将其丢弃(`DROP`)处理而不发送任何响应消息给对方。 另外还可以创建更复杂的过滤条件以适应不同的实际需求场景,比如仅针对某些端口实施限制措施等。这里给出另一个例子——封杀试图通过 SSH 登陆 (默认端口号为22) 的某外部主机尝试: ```bash iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j REJECT ``` 该语句表示当检测到有源自 `192.168.1.100` 使用 TCP 协议且目的地端口为 22 号的数据包进入时即刻予以回绝(`REJECT`)答复告知发起者连接失败的信息。 #### 持久化配置更改 由于每次重启操作系统之后都会清空当前内存里的临时表项数据结构所以有必要保存所做的调整以便长期有效工作下去。具体做法依据所使用的版本有所不同;如果是 RHEL/CentOS7及以上的话就应当这样去做[^1]: ```bash service iptables save ``` 或者手动复制现有设定文件至相应位置下覆盖原始备份副本亦可行通: ```bash cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak /etc/init.d/iptables save ``` 而 Ubuntu 用户则需要用到专门工具帮助存储修改后的状态信息下来: ```bash netfilter-persistent save ``` 以上就是利用 Linux 自带组件之一 —— Iptables 实现简单粗暴却高效实用的安全防护手段介绍完毕啦!
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值