iptables用法总结

iptables 是集成在 Linux 内核中的包过滤防火墙系统。使用 iptables 可以添加、删除具体的过滤规则,iptables 默认维护着 4 个表和 5 个链,所有的防火墙策略规则都被分别写入这些表与链中。

1、iptables语法格式

iptables 命令的基本语法格式如下:

[root@l ~]# iptables [-t table] COMMAND [chain] CRETIRIA -j ACTION

命令全景图如下:

 

2、具体使用场景

1)查看规则

对规则的查看需要使用如下命令:

[root@~]# iptables -nvL  --line-number

各参数的含义为:

-L 表示查看当前表的所有规则,默认查看的是 filter 表,如果要查看 nat 表,可以加上 -t nat 参数。
-n 表示不对 IP 地址进行反查,加上这个参数显示速度将会加快。
-v 表示输出详细信息,包含通过该规则的数据包数量、总字节数以及相应的网络接口。

--line-number 表示显示序号

其他链表查看规则,依此类推,比如查看nat表规则,同时删除POSTROUTING 链表的第1条规则:

iptables -t nat  -nL  --line-number

iptables -t nat  -D POSTROUTING  1

2)添加/清除默认规则

#拒绝全部input(过滤除iptables规则之外的所有请求)

iptables -P INPUT DROP

#接受全部input

iptables -P INPUT ACCEPT

其他链表的默认规则,依此类推,

比如添加OUTPUT的默认规则就改成iptables -P OUTPUT DROP

比如添加FORWARD的默认规则就改成iptables -P FORWARD  DROP

iptables -F    //安装完成基本配置-清空所有默认规则

iptables -X    //安装完成基本配置-清空所有自定义规则

iptables -Z    //安装完成基本配置-所有计数器归0

iptables -D INPUT 8    //要删除INPUT里序号为8的规则

3) 添加ssh规则

添加规则有两个参数分别是 -A 和 -I。其中

-A 是添加到规则的末尾;

-I 可以插入到指定位置,

默认:没有指定位置的话插入到规则的首部

eg:添加一条拒绝22端口的规则到尾部。 :

iptables -A INPUT -p tcp --dport 22 -j REJECT

eg:添加一条放通某个IP地址的22端口

iptables -A INPUT -s 10.245.182.10 -p tcp --dport 22 -j ACCEPT

由于最后一条总是生效,先将所有22端口失效,再允许某个IP有效就行。

4)放通samba文件服务器端口

samba新版的已不再使用137.138.139等端口,仅使用445端口。而且仅允许192.168.1网段可以访问。

iptables -I INPUT -s 192.168.1.0/24 -p tcp  --dport 445 -j ACCEPT

5)放通mysql数据库3306端口:

仅允许192.168.1网段可以访问3306端口

iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 3306 -j ACCEPT

6)端口转发

首先开启系统的转发功能

vi /etc/sysctl.conf

将net.ipv4.ip_forward=0修改成net.ipv4.ip_forward=1

#编辑后使用命令让配置马上生效
sysctl -p

其次需要配2条规则:

#目标地址端口为3389的,转换为 192.168.1.1:3389

iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.1.1:3389

#凡目标地址为192.168.1.1:3389的,把源地址转换为192.168.1.2

iptables -t nat -I POSTROUTING  -p tcp -d 192.168.1.1 --dport 3389 -j SNAT --to 192.168.1.2

mstsc远程访问地址192.168.1.2,iptables就会帮你转换成192.168.1.1的桌面了。

3、归档备存

最后建议建一个excel表,将各个规则写一写,包括 放通的客户机是在哪些位置啦,以及放通的原因是哪些啦。后续方便查看放通的原因。好记性不如笔头嘛。相信对于一堆iptables配置规则,如果没有文档辅助记忆,我会很抓狂。

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: iptables是Linux操作系统的防火墙工具。它允许用户控制网络流量进出计算机,并通过设置规则来保护计算机免受网络攻击。 使用iptables的基本步骤如下: 1. 运行以下命令,以管理员权限登录系统: ``` sudo su ``` 2. 运行以下命令,查看当前防火墙规则: ``` iptables -L ``` 3. 运行以下命令,添加新的防火墙规则: ``` iptables -A INPUT -p tcp --dport 80 -j ACCEPT ``` 此命令将允许所有TCP流量到达计算机的端口80。 4. 运行以下命令,将新的防火墙规则永久保存到系统中: ``` iptables-save > /etc/iptables.rules ``` 5. 运行以下命令,以使新规则在系统重新启动时生效: ``` echo 'iptables-restore < /etc/iptables.rules' >> /etc/rc.local ``` 注意:使用iptables需要一定的网络基础知识和系统管理经验,请谨慎操作。如果不确定如何使用iptables,请先查阅相关文档或咨询专业人士。 ### 回答2: Iptables 是一种用于 Linux 操作系统的防火墙工具,可以用于配置和管理网络流量的过滤规则。下面是 iptables 的基本使用方法: 1. 查看当前的 iptables 配置:可以使用 `iptables -L` 命令来查看当前的 iptables 配置,包括已定义的规则和链。 2. 创建新的防火墙规则:可以使用 `iptables -A` 命令来添加新的防火墙规则。例如,`iptables -A INPUT -p tcp --dport 80 -j ACCEPT` 表示接受所有进入端口 80 的 TCP 连接。 3. 修改或删除现有的规则:可以使用 `iptables -R` 命令来修改现有的规则,使用 `iptables -D` 命令来删除现有的规则。 4. 指定规则的位置:在添加或删除规则时,可以使用 `-I` 参数指定规则的位置。例如,`iptables -I INPUT 2 -p tcp --dport 22 -j ACCEPT` 表示在 INPUT 链的第二个位置添加一个接受进入端口 22 的 TCP 连接的规则。 5. 保存和加载规则:可以使用 `iptables-save` 命令将当前的 iptables 规则保存到文件中,并使用 `iptables-restore` 命令从文件中加载规则。 6. 使用链:Iptables 支持多个预定义链,如 INPUT、OUTPUT 和 FORWARD。可以使用 `-A` 参数将规则添加到特定的链上,例如,`iptables -A INPUT ...`。 7. 拒绝或接受流量:可以使用 `-j` 参数指定要对匹配的流量执行的操作。例如,`-j REJECT` 表示拒绝匹配的流量,`-j ACCEPT` 表示接受匹配的流量。 8. 设置规则条件:可以使用各种条件选项来限制规则匹配的源 IP、目标 IP、端口号、协议类型等。 总结来说,iptables 是一个功能强大的 Linux 防火墙工具,可以使用命令行界面来配置和管理网络流量的过滤规则,从而增强系统的安全性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个高效工作的家伙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值