linux防火墙iptables常用规则.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
### Linux防火墙iptables常用规则详解 #### 一、iptables基础操作与配置 ##### 删除现有规则 在使用iptables之前,我们通常需要先清除已有的规则,以便于重新建立新的规则集。这可以通过`iptables -F`命令来实现。另外,也可以通过`iptables --flush`命令达到相同的效果。 ##### 设置默认链策略 iptables中的filter表包含三种主要链:INPUT(用于处理入站数据包)、FORWARD(用于处理转发数据包)和OUTPUT(用于处理出站数据包)。默认情况下,这些链的策略都是ACCEPT,这意味着所有的数据包都会被接受。但出于安全考虑,我们可以将其更改为DROP,以拒绝所有未明确允许的数据包。 ```bash iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP ``` 这样设置之后,任何数据包都将被拒绝,除非有特定的规则允许它们通过。这是遵循最小权限原则的一个例子。 ##### 屏蔽指定的IP地址 iptables可以用来阻止特定IP地址的数据包。例如,如果要阻止IP地址为`BLOCK_THIS_IP`的主机,则可以使用如下命令: ```bash BLOCK_THIS_IP="192.168.1.100" # 替换为实际要屏蔽的IP地址 iptables -A INPUT -i eth0 -s "$BLOCK_THIS_IP" -j DROP ``` 此命令将拒绝来自该IP地址的所有数据包。如果只需要阻止来自该IP的TCP数据包,则可以使用以下命令: ```bash iptables -A INPUT -i eth0 -p tcp -s "$BLOCK_THIS_IP" -j DROP ``` ##### 允许ping测试 对于需要允许ping测试的情况,可以使用以下命令: ```bash iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT ``` 这将允许从外部主机向本地主机发送ICMP Echo Request,并允许本地主机响应Echo Reply。 ##### 允许从本机ping外部主机 如果希望本地主机能够ping外部主机,则可以使用以下命令: ```bash iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT ``` 这将允许本地主机向外部主机发送ICMP Echo Request,并接收其Echo Reply响应。 ##### 允许环回访问 对于环回接口(通常是lo或lo0),可以使用以下命令来允许其访问: ```bash iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT ``` #### 二、iptables:协议与端口设定 ##### 允许所有SSH连接请求 为了允许所有SSH连接请求,我们需要创建两条规则。一条规则用于处理新连接的建立,另一条用于处理现有连接的后续数据包。 ```bash iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT ``` 第一条规则允许从外部接口eth0接收并处理目标端口为22的新连接。第二条规则允许从eth0接口发送并且源端口为22的已建立连接的数据包。 ##### 允许从本地发起的SSH连接 要允许从本地主机发起SSH连接,则需要创建以下规则: ```bash iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT ``` 这两条规则与前面提到的规则类似,但方向相反。第一条规则允许本地主机发起SSH连接,而第二条规则允许回应已建立连接的数据包。 ##### 仅允许来自指定网络的SSH连接请求 如果你只想允许来自特定网络的SSH连接,可以使用CIDR表示法来指定网络地址。例如,仅允许来自`192.168.1.0/24`网络的连接: ```bash iptables -A INPUT -i eth0 -p tcp --dport 22 -s 192.168.1.0/24 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 22 -d 192.168.1.0/24 -m state --state ESTABLISHED -j ACCEPT ``` ##### 仅允许从本地发起到指定网络的SSH连接请求 如果希望只允许从本地主机到特定网络的SSH连接,可以使用以下命令: ```bash iptables -A OUTPUT -o eth0 -p tcp --dport 22 -d 192.168.1.0/24 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p tcp --sport 22 -s 192.168.1.0/24 -m state --state ESTABLISHED -j ACCEPT ``` 这将确保只有到指定网络的SSH连接才被允许。 ##### 允许HTTP/HTTPS连接请求 为了允许HTTP和HTTPS连接,我们需要分别打开80端口和443端口。 ```bash # 允许HTTP连接:80端口 iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT # 允许HTTPS连接:443端口 iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT ``` ##### 允许从本地发起HTTPS连接 为了允许从本地主机发起HTTPS连接,可以使用以下规则: ```bash iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT ``` 通过以上规则,我们可以灵活地控制哪些服务可以从外部访问,以及本地主机可以访问哪些外部服务。iptables提供了强大的功能来帮助管理员根据需要定制防火墙策略。






























- 粉丝: 105
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于计算机视觉的小车目标检测与动态跟踪技术研究 (注:共 16 字,核心动作 “检测”“跟踪” 及对象 “小车” 均保留,通过 “基于计算机视觉”“动态”“技术研究” 补充表述维度,确保原意不变且满足
- 基于船舶的目标检测技术研究项目
- MATLAB中基于YALMIP的微电网优化调度模型:含蓄电池与市场购售电约束的总费用最小化 · 微电网
- 基于船舶目标开展精准识别与检测的技术项目
- 多相流相对渗透率计算中相场与水平集方法的质量守恒策略实现
- 基于DSP28035的60KW三相光伏并网逆变器IGBT驱动电路设计与优化 开关损耗优化
- 三相PWM整流器并联仿真及零序环流抑制算法的研究与应用
- 触摸屏直接控制变频器:昆仑通泰TPC与安川V1000及其他品牌变频器的485端口通信实现 宝典
- 多供区交直流潮流模型构建与求解:基于改进IEEE39节点系统的柔性互联算法研究 实战版
- 基于 OpenCV 原生库实现目标检测与文本检测的方法
- 基于C代码的异步电机矢量控制算法仿真与双闭环解耦控制实现高精度转速调节
- 本仓库存有目标检测 YOLO 系列及改进模块代码,欢迎自取
- Matlab Simulink中基于MRAS的直流母线电压传感器容错控制方法研究:包括设置电压传感器断路与漂移故障,并利用冗余开关进行容错切换
- 基于Verilog的UART IP核心开发与FPGA移植:从编码到仿真的全流程解析
- 风光柴储混合微电网中储能电池系统的MATLAB仿真研究:实现互补能量管理
- 汇川通IT7000触摸屏标准模板程序解析:提升编程效率与稳定性的关键


