Linux中iptables的用法

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:

1 iptables

iptables命令用于创建数据过滤与NAT规则,在iptables命令中设置数据过滤或处理数据包的策略叫做规则,将多个规则合成一个链。

1.1 iptables的控制类型

ACCEPT:允许通过

LOG:记录日志信息,然后传给下一条规则继续匹配。

REJECT:拒绝通过,必要时给出提示。

DROP:直接丢弃,不给出任何回应。

1.2 规则链

规则链依据处理数据包的位置不同而进行分类

PREROUTING:在进行路由选择前处理数据包。

INPUT:处理入站的数据包。

OUTPUT:处理出站的数据包。

FORWARD:处理转发的数据包。

POSTROUTING:在进行路由选择后处理数据包。

规则链的先后顺序:

入站顺序:PREROUTINGàINPUT

出站顺序:OUTPUTàPOSTROUTING

转发顺序:PREROUTINGàFORWARDàPOSTROUTING

1.3 规则表

iptables中的规则表是用于容纳规则链,规则表默认是允许状态的,那么规则链就是设置被禁止的规则,而反之如果规则表是禁止状态的,那么规则链就是设置被允许的规则             

raw表:确定是否对该数据包进行状态跟踪。

mangle表:为数据包设置标记。

nat表:修改数据包中的源、目的IP地址或端口。

filter表:此表是默认规则表,确定是否放行该数据包。

规则表的先后顺序:rawàmangleànatàfilter

1.4 注意事项

1.       没有指定规则表则默认指filter表。

2.       不指定规则链则指表内所有的规则链。

3.       在规则链中匹配规则时会依次检查,匹配即停止(LOG规则除外),若没有匹配项则按链的默认状态处理。

1.5 iptables命令用法

1.5.1 添加规则

iptables [-t 表名选项 [链名] [条件] [-j 控制类型]

1.5.1.1 INPUT规则

# iptables -L -t filter  #查看filter表,“-t filter”可省略,因为默认就是filter

# iptables -L -t nat   #查看nat

#INPUT链的默认策略设置为丢弃。(此时ssh连接也被拒绝了) -P:policy

# iptables -P INPUT DROP    

#允许所有的ping操作,-I:insert在规则链头部加入新规则 -p:protocol -j: jump指令

# iptables -I INPUT -p icmp -j ACCEPT

INPUT链追加一条规则,允许所有未被其他规则匹配上的数据包通过,“-t filter”可省略,因为默认就是filter

# iptables -t filter -A INPUT -j ACCEPT

仅允许来自于10.0.0.0/24网段的用户连接本机的ssh服务

# iptables -I INPUT -s 10.0.0.0/24 -p tcp --dport 22 -j ACCEPT

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

不允许任何主机访问本机的12345端口

# iptables -I INPUT -p tcp --dport 12345 -j REJECT

# iptables -I INPUT -p udp --dport 12345 -j REJECT 

拒绝所有主机通过eth0网卡访问本机的http服务

# iptables -I INPUT -i eth0 -p tcp --dport 80 -j REJECT

1.5.1.2 FORWARD规则

FORWARD规则相当于路由功能

禁止用户访问www.wangning.com

iptables -I FORWARD -d www.wangning.com -j REJECT

禁止IP10.0.0.66的用户上网

# iptables -I FORWARD -s 10.0.0.66 -j REJECT

 

1.5.2 删除规则

#删除filter表中INPUT规则的第一条

# iptables -D INPUT 1    

1.6 保存iptables配置

# /etc/init.d/iptables save



本文转自 茁壮的小草 51CTO博客,原文链接:http://blog.51cto.com/wn2100/2054541,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
2月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
220 73
|
1月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
37 1
|
1月前
|
Ubuntu Linux
Linux的基础用法
Linux的基础用法
20 6
|
2月前
|
监控 Linux
Linux系统中du命令与df命令的区别与用法
总的来说,`du` 和 `df` 在磁盘管理中互补使用,能够提供全面的磁盘空间使用信息,帮助用户和管理员有效地监控和管理系统资源。
64 3
|
2月前
|
存储 Ubuntu Linux
linux中的find 命令详细用法
本文介绍了如何将 `find` 命令与 `exec` 结合使用,通过具体示例展示了多种应用场景,如显示文件属性、重命名文件、收集文件大小、删除特定文件、执行工具、更改文件所有权和权限、收集 MD5 值等。文章还探讨了 `{} \;` 和 `{} +` 的区别,并演示了如何结合 `grep` 命令进行内容搜索。最后,介绍了如何在一个 `find` 命令中使用多个 `exec` 命令。这为 Linux 用户提供了强大的文件管理和自动化工具。
|
3月前
|
域名解析 网络协议 Linux
在Linux中,iptables有哪相关的命令?
在Linux中,iptables有哪相关的命令?
|
4月前
|
负载均衡 网络协议 Linux
|
3月前
|
Linux 网络安全
在Linux中,iptables和firewalld两种防火墙如何使用?
在Linux中,iptables和firewalld两种防火墙如何使用?
|
3月前
|
网络协议 Linux 应用服务中间件
如何使用Iptables在Linux网关上转发端口
如何使用Iptables在Linux网关上转发端口
102 5
|
3月前
|
网络协议 Linux
在Linux中,如何使用iptables 写⼀条规则?把来源IP为192.168.1.101访问本机80端口的包直接拒绝.
在Linux中,如何使用iptables 写⼀条规则?把来源IP为192.168.1.101访问本机80端口的包直接拒绝.