iptables 限制所有ip访问22端口,仅开放个别ip访问 持续更新

  1. 查看当前iptables 规则
[root@iZwz9conqz5shxfx2gmnfkZ ~]# iptables -nvL

在这里插入图片描述

  1. 添加已经建立tcp连接,就开放网络访问
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  1. 添加允许访问22端口的ip
iptables -A INPUT -s 8.210.62.122 -p tcp --dport 22 -j ACCEPT
  1. 拒绝所有ip访问22端口
iptables -A INPUT -s  0.0.0.0/0 -p tcp --dport 22 -j DROP
  1. 新加一个ip访问该主机22端口
iptables -I INPUT -s 8.129.226.118 -p tcp --dport 22 -j ACCEPT
  1. 保存iptables规则
[root@iZwz9conqz5shxfx2gmnfkZ ~]# iptables-save

在这里插入图片描述

  1. 参数详解
-I 是插入放在最前面
-A 是添加放在最后面
-s 访问来源ip
-p 网络协议 如tcp、udp协议
--dport 限制端口
-j 过滤包后的动作 如ACCEPT、DROP
  1. 效果
    在这里插入图片描述

本文参考:https://blog.csdn.net/zhougubei/article/details/120350467
本文参考:https://blog.csdn.net/qq_44273583/article/details/116661747

前言:xshell 等连接工具出口ip与真实的ip不符

在这里插入图片描述

在这里插入图片描述

如何快速找到真实的出口公网ip

在这里插入图片描述
如图所示 先删除掉这个策略

iptables -nvL --line-number   #查看到DROP策略是在第几行
iptables -D INPUT 21 #删除策略

无限制时查看出口ip

iptables -I INPUT -s 113.119.*.* -p tcp --dport 22 -j ACCEPT #添加入口规则
iptables -A INPUT -s  0.0.0.0/0 -p tcp --dport 22 -j DROP #注意千万不要用-I 
### 关于 `iptables` 的全面介绍 #### 什么是 `iptables` `iptables` 是 Linux 系统中的一个重要工具,用于配置 IPv4 数据包过滤规则和服务。通过定义一系列规则来决定如何处理进入、离开或转发的数据包,从而实现网络安全防护功能[^1]。 #### 查看现有规则 要查看当前已经设置好的所有链上的规则列表及其计数器信息(即匹配次数),可以执行如下命令: ```bash [root@zcwyou ~]# iptables -L -n -v ``` 这条指令会显示详细的表单视图,其中 `-L` 参数表示列出规则;`-n` 表示不解析主机名和端口号而是直接给出数值形式;`-v` 则增加了额外的信息量如字节数等统计详情。 #### 清除已有规则 如果想要删除之前设定过的某条特定规则,则可以根据具体位置编号来进行操作。但是更常见的情况是清空整个链条上所有的自定义项以便重新部署新的策略集。此时可采用下面的方法之一完成此目的: ```bash # 移除指定序号处的一条记录 (假设为第3行) iptables -D INPUT 3 # 将INPUT, FORWARD 和 OUTPUT三个默认链全部重置为空状态 iptables -F iptables -X iptables -Z ``` 上述代码片段展示了两种不同的方式去移除现有的规则:一种是指定确切的位置索引来单独清除个别项目;另一种则是批量地把各个预设路径下的内容都清理掉。 #### 添加新规则实例 为了更好地理解怎样利用 `iptables` 来增强系统的安全性,这里提供几个实用的例子说明常见的应用场景以及相应的命令格式。 ##### 场景一:允许来自本地回环接口的所有流量 ```bash iptables -A INPUT -i lo -j ACCEPT ``` 该语句的作用是在输入方向追加一条接受条件,只要源地址属于 loopback 接口(`lo`)就放行请求。 ##### 场景二:阻止外部访问 SSH 服务(22端口) ```bash iptables -A INPUT -p tcp --dport 22 -s ! 192.168.0.0/16 -j DROP ``` 这段脚本实现了对外部非信任网段发起连接至服务器SSH端口的行为进行拦截的功能,除了内部私有IP范围内的机器外其他一律拒绝建立TCP三次握手过程。 ##### 场景三:开放HTTP(S)网站浏览权限 ```bash iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT ``` 以上四行分别针对入站与出站两个方面设置了对于标准Web协议(HTTP/TLS)的支持,在确保合法用户的正常访问的同时也保障了数据传输的安全性。 #### 总结 掌握好 `iptables` 不有助于提高个人计算机环境下的隐私保护水平,而且对于从事 IT 运维工作的专业人士来说更是不可或缺的一项技能。它提供了灵活多样的手段让用户能够按照实际需求定制个性化的防火墙方案,进而有效抵御潜在的风险因素[^4]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值