防火墙iptables

小秒 小秒     2022-08-19     739

关键词:

iptables命令可用于配置Linux的包过滤规则,常用于实现防火墙、NAT。咋一看iptables的配置很复杂,掌握规律后,其实用iptables完成指定任务并不难,下面我们通过具体实例,学习iptables的详细用法。

 

1.删除已有规则

在新设定iptables规则时,我们一般先确保旧规则被清除,用以下命令清除旧规则:

iptables -F
(or iptables --flush)

 

2.设置chain策略

对于filter table,默认的chain策略为ACCEPT,我们可以通过以下命令修改chain的策略:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

以上命令配置将接收、转发和发出包均丢弃,施行比较严格的包管理。由于接收和发包均被设置为丢弃,当进一步配置其他规则的时候,需要注意针对INPUT和OUTPUT分别配置。当然,如果信任本机器往外发包,以上第三条规则可不必配置。

 

3.屏蔽指定ip

有时候我们发现某个ip不停的往服务器发包,这时我们可以使用以下命令,将指定ip发来的包丢弃:

BLOCK_THIS_IP="x.x.x.x"
iptables -A INPUT -i eth0 -p tcp -s "$BLOCK_THIS_IP" -j DROP

以上命令设置将由x.x.x.x ip发往eth0网口的tcp包丢弃。

 

4.配置服务项

利用iptables,我们可以对日常用到的服务项进行安全管理,比如设定只能通过指定网段、由指定网口通过SSH连接本机:

iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state NEW,ESTABLESHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

若要支持由本机通过SSH连接其他机器,由于在本机端口建立连接,因而还需要设置以下规则:

iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state ESTABLESHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

类似的,对于HTTP/HTTPS(80/443)、pop3(110)、rsync(873)、MySQL(3306)等基于tcp连接的服务,也可以参照上述命令配置。

 

对于基于udp的dns服务,使用以下命令开启端口服务:

iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

 

5.网口转发配置

对于用作防火墙或网关的服务器,一个网口连接到公网,其他网口的包转发到该网口实现内网向公网通信,假设eth0连接内网,eth1连接公网,配置规则如下:

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

 

6.端口转发配置

对于端口,我们也可以运用iptables完成转发配置:

iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22

以上命令将422端口的包转发到22端口,因而通过422端口也可进行SSH连接,当然对于422端口,我们也需要像以上“4.配置服务项”一节一样,配置其支持连接建立的规则。

 

7.DoS攻击防范

利用扩展模块limit,我们还可以配置iptables规则,实现DoS攻击防范:

iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

--litmit 25/minute 指示每分钟限制最大连接数为25

--litmit-burst 100 指示当总连接数超过100时,启动 litmit/minute 限制

 

8.配置web流量均衡

我们可以将一台服务器作为前端服务器,利用iptables进行流量分发,配置方法如下:

复制代码
iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.101:80
iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.102:80
iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.103:80
复制代码

以上配置规则用到nth扩展模块,将80端口的流量均衡到三台服务器。

 

9.将丢弃包情况记入日志

使用LOG目标和syslog服务,我们可以记录某协议某端口下的收发包情况。拿记录丢包情况举例,可以通过以下方式实现。

首先自定义一个chain:

iptables -N LOGGING

其次将所有接收包导入LOGGING chain中:

iptables -A INPUT -j LOGGING

然后设置日志前缀、日志级别:

iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7

最后将包倒向DROP,将包丢弃:

iptables -A LOGGING -j DROP

另可以配置syslog.conf文件,指定iptables的日志输出。

 

Have fun!

防火墙iptables

iptables命令可用于配置Linux的包过滤规则,常用于实现防火墙、NAT。咋一看iptables的配置很复杂,掌握规律后,其实用iptables完成指定任务并不难,下面我们通过具体实例,学习iptables的详细用法。 1.删除已有规则在新设定iptabl... 查看详情

iptables防火墙

iptables防火墙RHEL7里面同时又firewall和iptables防火墙从firewall里面设置的防火墙规则,会自动转化为iptablesfirewalld-->iptables-->内核(netfilter)生产环境中很多企业还是在使用iptables比如:Openstack,Openshift,Docker,k8s项目都使用的是iptablesope... 查看详情

iptables详解:iptables概念

...懂的方式描述iptables的相关概念,请耐心的读完它。 防火墙相关概念 此处先描述一些相关概念。从逻辑上讲。防火墙可以大体分为主机防火墙和网络防火墙。主机防火墙:针对于单个主机进行防护。网络防火墙:往往处... 查看详情

centos下配置iptables防火墙linuxnat(iptables)配置

CentOS下配置防火墙配置nat转发服务CentOS下配置iptables防火墙linuxNAT(iptables)配置CentOS下配置iptables 1,vim/etc/sysconfig/network 这里可以更改主机名称。NETWORKING=yesNETWORKING_IPV6=noHOSTNAME=BGI-TJ.localdomain GATEWAY 查看详情

iptables主机防火墙

配置iptables主机防火墙iptables-F #清空规则iptables-X #清空用户自定义链iptables-Z #清空计数器第一步 配置允许SSH登录端口进入iptables-nLiptables-AINPUT-ptcp-s10.0.0.0/24-jACCEPT #这两条任意一条就行了。iptables-AINPUT-ptcp--dpo 查看详情

iptables防火墙(代码片段)

防火墙的几个知识点1、防火墙的概念2、iptables的基本认识3、iptables的组成4、iptables的基本语法5、iptables之forward的概念6、iptables之地址转换法则7、SNAT源地址转换的具体实现8、DNAT目标地址转换的具体实现9、firewalld介绍10、firewalld... 查看详情

iptables防火墙

iptables防火墙(一)本文出自“卢春宁”博客,谢绝转载! 查看详情

iptables防火墙

iptables防火墙(二)本文出自“卢春宁”博客,谢绝转载! 查看详情

iptables

一、iptables防火墙的一些基础知识: 1、关于netfilter与iptables的区别: netfilter:指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于“内核态”的防火墙功能体系。 iptables:用来管理linux... 查看详情

linux防火墙iptables详解

iptables详解(思维导图)1.概述1.1iptable简介1.2防火墙的种类1.3netfilter2.iptables的工作流程2.1iptables工作图示2.2链、功能表2.3报文流向2.4路由功能发生的时刻3.防火墙类型3.1主机防火墙3.1.1iptables基本规则定义3.1.2iptables扩展匹配条件隐... 查看详情

iptables

iptables防火墙规则整理iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux... 查看详情

iptables防火墙

iptables: iptables/netfilter:包过滤器防火墙;  iptables:用户空间的命令  netfilter:位于内核中的tcp/ip协议的报文处理框架   Centos5/6:iptables命令编写规则   Centos7:firewalld建议关闭system 查看详情

iptables防火墙规则整理

iptables防火墙规则整理iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux... 查看详情

iptables防火墙基础

一、iptables基础:1、了解iptables防火墙。(1)iptables的表:按照功能的不同表分为raw(状态跟踪)、mangle(标记)、nat(地址修改)、filter(过滤)。(2)iptables规则链:按照不同时机链分为INPUT(入站)、OUTPUT(出站)、FORWARD(转发)、PREROUTING(路... 查看详情

linux___iptables防火墙

一、防火墙的作用三、防火墙的分类 三、iptables基本语法: 表:常用filter,nat用于地址映射转换。 配置文件:/etc/sysconfig/iptables过滤表信息、 查看iptables状态serviceiptablesstatus 命令(注意参数都要大写):-L:... 查看详情

iptables

第1章 iptables防火墙简介1.1 防火墙作用1.1.1 做访问控制企业实际工作当中,建议采购硬件防火墙(思科ASA华为H3C)软件防火墙:iptables(centos6)firewalld(centos7)大并发访问架构:选择硬件防火墙小并发访问架构:选择... 查看详情

ubuntu14.04配置iptables防火墙

Ubuntu默认安装是没有开启任何防火墙的,为了服务器的安全,建议大家安装启用防火墙设置,这里推荐使用iptables防火墙.如果mysql启本地使用,可以不用打开3306端口.#whereisiptables#查看系统是否安装防火墙可以看到:iptables:/sbin/iptable... 查看详情

关闭防火墙iptables

关闭防火墙iptables1.临时关闭iptables/etc/init.d/iptablesstopiptables:SettingchainstopolicyACCEPT:filter         [ OK ]iptables:Flushingfirewallrules:  查看详情