iptables防火墙使用笔记

一、背景

每次WEB项目上线时总是要安装环境,其中免不了配置防火墙来允许外网访问。之前都是网上找教程比葫芦画瓢把开启80端口命令敲一下就不管了。本着学习的精神,今天打算好好研究一下iptables配置,并作笔记以便之后查看。只求明白即可,具体深入原理啥的就算了。

注:centos7默认防火墙改为firewall而非iptables。

二、快速搞定 

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

如果不想往下看的话,基本上只需记下这条命令就可以开启80端口,想开其他端口只需要把80换成需要就行(比如3306)。但如果还是不能解决问题,那就得好好看看规则定义了。

三、什么是iptables 

iptables就是用规则列表的形式实现网络访问控制,但与防火墙是两个概念。虽然网上都这么叫。

四、怎么看iptables规则  

iptables -L

附加子命令

 -n:以数字的方式显示ip,它会将ip直接显示出来,如果不加-n,则会将ip反向解析成主机名。

 -v:显示详细信息

一个规则列表例子

[[email protected] ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

1、iptables有三个规则链(chain)。分别为INPUT(数据包流入口) ,FORWARD (转发),OUTPUT(数据包流出口)。在定义任何规则时基本上都要写明是哪个。

2、iptables有两种策略,一种叫“通”策略,一种叫“堵”策略,通策略,默认门是关着的,必须要定义谁能进。堵策略则是,大门是洞开的,但是你必须有身份认证,否则不能进。上面例子中(policy ACCEPT)即表示策略默认全部可以通过,同理相反的还有DROP。

修改策略命令是

iptables -P chain (DROP|ACCEPT)

3、规则的次序非常关键,谁的规则越严格,应该放的越靠前,而检查规则的时候,是按照从上往下的方式进行检查的。所以一定要注意添加顺序问题。基本上规则无效多半是因为这种情况。

五、怎么添加删除iptables规则  

首先,先是增删改的命令。上文说到规则次序问题,所以就有两个添加参数啦

-A:追加,在当前链的最后新增一个规则
-I num : 插入,把当前规则插入为第几条。
-I 3 :插入为第三条
-R num:Replays替换/修改第几条规则
格式:iptables -R 3 …………
-D num:删除,明确指定删除第几条规则

然后呢,就要添加匹配标准了。

 -s:指定作为源地址匹配,这里不能指定主机名称,必须是IP。IP | IP/MASK | 0.0.0.0/0.0.0.0 而且地址可以取反,加一个“!”表示除了哪个IP之外 

 -d:表示匹配目标地址 

 -p:用于匹配协议的(这里的协议通常有3种,TCP/UDP/ICMP) 

 -i eth0:从这块网卡流入的数据 

流入一般用在INPUT和PREROUTING上 

 -o eth0:从这块网卡流出的数据 

流出一般在OUTPUT和POSTROUTING上

其中,协议匹配(-p)有一些隐含参数

-p tcp :

--dport XX-XX:指定目标端口,不能指定多个非连续端口,只能指定单个端口
--sport:指定源端口
--tcp-fiags:TCP的标志位(SYN,ACK,FIN,PSH,RST,URG)

-p udp:

--dport
--sport

-p icmp:

--icmp-type:
echo-request(请求回显),一般用8 来表示
所以 --icmp-type 8 匹配请求回显数据包
echo-reply (响应的数据包)一般用0来表示

匹配标准有了,最后就是执行动作了(ACTION)

-j ACTION:常用的ACTION有三种DROP(悄悄丢弃);REJECT(明示拒绝);ACCEPT(接受)

了解了这些命令参数之后,前文中添加80端口的命令的含义就一目了然了(⊙▽⊙)

六、总结

  iptables是一个非常重要的工具,几乎是每一台服务器所必备设置的。当然,iptables的功能远不止这些。本文只是起到抛砖引玉的作用,要想了解更多关于linux防火墙设置还是要多看看网上其他技术大牛的文章。

时间: 2024-12-20 19:01:59

iptables防火墙使用笔记的相关文章

【整理笔记-防火墙】实现iptables防火墙搭建

搭建防火墙,配置防火墙. - - 系统centos7 . centos7自带firewalld,由于看firewalld命令行没有接触过,所以安装iptables防火墙. 1:禁用firewalld firewall-cmd --state 查看系统自带防火墙状态. 用systemctl stop firewalld.service   禁止立即生效, systemctl disable firewalld.service  永久关闭firewalld.执行完再看一下防火墙状态, 显示为not

iptables防火墙笔记之三

Iptables防火墙(三) 防火墙备份及还原 备份:iptables-save   ##默认iptables-save只是查看,想要保存要加">"重定向 "-t 表名"可单独输出想要查看的表 输出的信息以"#"号开头的为注释,"*表名"表示所在的表":链名 默认策略" 还原:iptables-restore   ##结合"< 备份路径"恢复即可 自动启用防火墙规则 使用ip

iptables防火墙笔记之一

Iptables防火墙(一) Netfilter和iptables都用来指linux防火墙,下面来说一下两者的区别 Netfilter:指的是linux内核中实现包过滤防火墙的内部结构,不以程序或文件形式存在,属于"内核态"(kernel space,又称做内核空间)的防火墙功能体系 Iptables:指的是用来管理linux防火墙的命令程序,通常位于/sbin/iptables,属于"用户态"(user space,又称用户空间)的防火墙管理体系 Iptables

[moka同学摘录]iptables防火墙规则的添加、删除、修改、保存

文章来源:http://www.splaybow.com/post/iptables-rule-add-delete-modify-save.html 本文介绍iptables这个Linux下最强大的防火墙工具,包括配置iptables三个链条的默认规则.添加iptables规则.修改规则.删除规则等. 一.查看规则集 iptables --list -n // 加一个-n以数字形式显示IP和端口,看起来更舒服 二.配置默认规则 iptables -P INPUT DROP  // 不允许进  

Iptables防火墙(一)

一.Linux防火墙基础 Linux防火墙主要工作在网络层,属于典型的包过滤防火墙. netfilter和iptables都用来指Linux防火墙,主要区别是: netfilter:指的是linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于"内核态"的防火墙功能体系. iptables:指的是用来管理linux防火墙的命令程序,通常位于/sbin/iptables目录下,属于"用户态"的防火墙管理体系. 1.iptables的表.链结构 Ipt

iptables防火墙高级应用

iptables 防火墙(主机防火墙) 前言:我们在以前学习过asa防火墙,对防火墙有一定的了解,那么iptables和asa防火墙类似,作用一样,都是为了保证网络安全,系统安全,服务器的安全,和asa一样也需要建立策略,个人觉得比asa的策略要繁琐一点,但只要多做几遍,也就简单了. 一.防火墙基础 Linux防火墙主要工作在网络层,属于典型的包过滤防火墙. 1.iptables的表.链结构 Iptables采用了表和链的分层结构,每个规则表相当于内核空间的一个容器,根据规则集的不同用途划分为默

Linux下的配置iptables防火墙增强服务器安全

Linux下的配置iptables防火墙增强服务器安全 实验要求 iptables常见概念 iptables服务器安装及相关配置文件 实战:iptables使用方法 例1:使用iptables防火墙保护公司web服务器 例2:使用iptables搭建路由器,通过SNAT使用内网机器上网 例3:限制某些IP地址访问服务器 例4:使用DNAT功能把内网web服务器端口映射到路由器外网 实验环境 iptables服务端:xuegod-63   IP:192.168.1.63 iptables客户端:x

iptables防火墙应用

安全服务--Iptables  一.网络安全访问控制我们都知道,Linux一般作为服务器使用,对外提供一些基于网络的服务,通常我们都需要对服务器进行一些网络控制,类似防火墙的功能,  常见的访问控制包括:那些IP可以访问服务器,可以使用那些协议,那些接口.那些端口 是否需要对数据包进行修改等等.如果某服务器受到攻击,或者来自互联网哪个区域或者哪个IP的攻击,这个时候应该禁止所有来自该IP的访问.那么Linux底层内核集成了网络访问控制,通过netfilter模块来实现.  iptables作用:

基于linux的web服务器的iptables防火墙安全优化设置

安全规划:开启 80  22 端口并 打开回路(回环地址 127.0.0.1) #iptables –P INPUT ACCEPT #iptables –P OUTPUT ACCEPT #iptables –P FORWARD ACCEPT 以上几步操作是为了在清除所有规则之前,通过所有请求,如果远程操作的话,防止远程链接断开. 接下来清除服务器内置规则和用户自定义规则: #iptables –F #iptables -X 打开ssh端口,用于远程链接用: #iptables –A INPUT