网络相关的命令工具-iptables

应用场景:网页重定向:当数据包离开防火墙时更改数据包的目的地址和端口,不更改源地址和端口

1. 什么是iptables:

全称为 netfilter/iptables,简称iptables,是unix/linux自带的一款优秀且开源的完全自由的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入和流出服务器的数据包进行很精细的控制,它实际上由两个组件netfilter和iptables组成,

  • netfilter组件也称为内核空间(kernelspace),集成在内核中,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
  • iptables组件只是一个工具,通过这个工具调用内核里的规则来过滤数据包,也称为用户空间,方便插入、删除、修改信息包过滤表中的规则。

三个层次:表->链->规则

四张表(table):filter、nat、mangle和raw(很少用)

五条链(chain):input(入),output(出)、forward(转发)、prerouting(路由前)、postrouting(路由后)

规则(policy):一条条过滤的语句,所有规则配置后立即生效,不需要重启服务

最常用的表是filter表和nat表,其中filter表是iptables默认的表,负责过滤流入流出主机的数据包,

filter表中用的最多的是input链,它负责过滤进入主机的数据包;forward链负责转发流经主机的数据包,起转发的作用;output链负责处理从主机发出去的数据包。

 

数据包处理简化流程:

2. iptables命令

可以使用命令 man iptables或iptables -h 查看相关说明:

查看iptables版本:

首先要切换到root:

查看表中内容:(不指定表默认操作filter表)-L:list  -n:numerical

 

 查看nat表中内容:(包含input链?)

清空所有规则:(两个命令都可以)

添加一条规则:禁止用户访问80端口(封端口)

-p:protocol协议  --dport:destination port目的端口  -A:Append在链的末尾插入规则  -I:Insert在链的开头插入规则

基本的处理行为:ACCEPT(接受)、DROP(丢弃)、REJECT(拒绝)

比较:DROP好于REJECT

 删除一条规则:(还可以加序号然后指定序号删除)

 以上操作都是在内存里面,没有写到文件,一重启就没了!!!

原文地址:https://www.cnblogs.com/huangmengyu/p/11939194.html