iptables 详细的使用指南

iptables 详细的使用指南

iptables 详细的使用指南
(图片来源网络,侵删)

iptables 是 Linux 中一个非常强大的防火墙工具,它可以用来设置、维护和检查 Linux 内核的网络包过滤规则,iptables 可以对进出本机的数据包进行过滤,从而实现对网络的访问控制,本文将详细介绍 iptables 的基本使用方法。

1. iptables 基本概念

在介绍 iptables 的使用之前,我们先了解一下一些基本概念:

链(Chain):iptables 中的规则被组织成链,每个链中的规则按照顺序执行,常见的链有 INPUT、OUTPUT 和 FORWARD。

表(Table):iptables 中有四种表,分别是 filter、nat、mangle 和 raw,每种表有不同的用途,filter 表用于处理传入和传出的数据包,nat 表用于网络地址转换等。

规则(Rule):规则是 iptables 的核心,它定义了如何处理数据包,每条规则包含匹配条件和动作两部分。

2. 查看当前 iptables 规则

要查看当前系统中的 iptables 规则,可以使用以下命令:

sudo iptables L n v

L 表示列出所有链中的规则,n 表示以数字形式显示 IP 地址和端口号,v 表示显示详细信息。

3. 清空当前 iptables 规则

如果需要清空当前系统中的 iptables 规则,可以使用以下命令:

sudo iptables F

F 表示清空所有链中的规则。

4. 设置默认策略

默认情况下,iptables 允许所有进入和离开本机的数据包,为了提高安全性,我们可以设置默认策略,例如禁止来自外部的数据包进入本机:

sudo iptables P INPUT DROP
sudo iptables P FORWARD DROP
sudo iptables P OUTPUT ACCEPT

P 表示设置默认策略,INPUTFORWARDOUTPUT 分别表示 INPUT、FORWARD 和 OUTPUT 链的默认策略。DROP 表示丢弃数据包,ACCEPT 表示接受数据包。

5. 设置 INPUT、OUTPUT、FORWARD 链的规则

接下来,我们来设置 INPUT、OUTPUT、FORWARD 链的规则,以下是一些常见的规则示例:

a. 允许来自特定 IP 地址的数据包通过 INPUT 链

sudo iptables A INPUT s <IP地址> j ACCEPT

A INPUT 表示向 INPUT 链添加一条规则,s <IP地址> 表示匹配源 IP 地址为指定值的数据包,j ACCEPT 表示接受匹配的数据包。

b. 允许来自特定端口的数据包通过 INPUT、OUTPUT、FORWARD 链

sudo iptables A INPUT p tcp dport <端口号> j ACCEPT
sudo iptables A OUTPUT p tcp sport <端口号> j ACCEPT
sudo iptables A FORWARD p tcp dport <端口号> j ACCEPT

p tcp 表示匹配传输层协议为 TCP 的数据包,dport <端口号> 表示匹配目标端口为指定值的数据包,sport <端口号> 表示匹配源端口为指定值的数据包,其他传输层协议(如 UDP)也可以使用类似的选项进行匹配。

6. NAT(网络地址转换)功能

iptables 还有 NAT(网络地址转换)功能,可以实现内网 IP 地址和公网 IP

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/679381.html

(0)
未希的头像未希新媒体运营
上一篇 2024-06-09 23:02
下一篇 2024-06-09 23:03

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入