Understanding iptables for linux(firewall)

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

 iptables(Unix-like 下的firewall)

關鍵字:Netfilter、 Nat、 filter、 mangle、 PERROUTING、 POSTROUTING、 INPUT/ OUTPUT、 FORWARD、 

具體學習iptables之前,我們首先要瞭解到filter,nat,mangle三張表格,和三張表格裏面的各個chains。

filter表有INPUT、OUTPUT、FORWARD。三條chains。其具體的功能還是請man

nat表有PERROUTING(包進入)、 POSTROUTING(包出去)、 OUTPUT三條chains。其具體的功能依舊man

mangle表有PERROUTING、 OUTPUT、 INPUT、 FORWARD、 POSTROUTING三條chains。其具體的功能forever man。^ -- ^

man後的結果在-t選項出還有raw表格,man給出的原文是:This  table  is  used mainly for configuring exemptions from connection tracking in combination with the NOTRACK  target. It registers at the netfilter hooks with higher priority and is thus called before ip_conntrack, or any other IP  tables. It  provides  the following built-in chains: PREROUTING (for packets arriving via  any  network  interface)  OUTPUT  (for packets generated by local processes)。

這個表和表裏面各條chains有很大的關聯,謹請認真熟悉。

具體的還是iptables的各個參數。具體的參數有很多,還是請認真閱讀man手冊頁。

常用到的參數及具體的功能如下:

-A:追加一條規則。

-I:插入一條規則,如沒制定該規則的number,則變成第一條。有INPUT、OUTPUT、FORWARD,此chain又與-io有關。

-t:table,eg:nat/filter

-L:list,具體table的rule。

-n:不進行ip到hostname的查詢。

-v:更多的信息

使用查詢後得到的信息解釋,如下:

target:所進行的動作,具體有ACCEPT(放行),REJECT(拒絕),DROP(丟棄)

prot:使用的packets protocol,有ICMP, TCP, UDP。

opt:額外的選項說明。

source:源地址

destination:目標地址。

-F:清除(flush)所有的已定的規則

-X:刪除所有自訂的chain或tables

-Z:將所有的chain計數歸零

-P:制定Policy , target包含ACCEPT、DROP

-i:進入的那個network interface

-o:出去的那個network interface

-p:協議,封包的包格式,主要有TCP,UDP,IMCP,ALL

-s:源IP地址或網域,若非該IP地址則在ip地址前加!(感嘆號)

-d:同源IP地址格式對應,不過這是目標地址

-j:接的動作,主要的有ACCEPT(接受)、DROP(丟棄)、REJECT(拒絕)、LOG(記錄)。前面三個都瞭解後,這個LOG的意思就是從源地址進來的packages相關的信息就記錄在/var/log/messages這個日誌文件中。

--sport:後接端口或端口範圍,限制來源的端口。

--dport:格式同上,限制目標的端口。

TCP特殊的標誌SYN:主動的TCP連接標誌。

iptables的外接module

-m:接外接module,常見的外接module有:state、mac

--mac-source:就是源主機的MAC

--state:一些packages的狀態,主要有:INVALID、ESTABLISHED、NEW、RELATED

INVALID:無效的packets

ESTABLISHED:已經連接成功的連接狀態

NEW:想要建立新的連接packages狀態

RELATED:表示packages是與本機發出去的packages有關。

--icmp-type:後面必須接icmp包類型,也可用類型代號。

-j DNAT --to-destination IP:port :端口映射。

-j REDIRECT --to-port <port number>:同樣也是端口映射。

在工作日上用了兩天終於完成了該IPTABLES的學習。我看了看man的手冊頁,發現還有很多很多的參數,沒有講到比如:-D刪除一條規則,-C更改一條規則,--line-numbers獲得iptables規則的規則編碼,等等。更多的選項還是man更詳盡。

這篇學習總結裏面只有一個命令,就是iptables其他的都是參數和各種target。

















本文转自ting2junshui51CTO博客,原文链接:http://blog.51cto.com/ting2junshui/714160 ,如需转载请自行联系原作者



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
7月前
|
网络协议 Linux 网络安全
【linux】通过firewall开放端口
【linux】通过firewall开放端口
333 0
|
安全 Linux 网络安全
百度搜索:蓝易云【linux iptables安全技术与防火墙】
请注意,iptables的具体使用方法和配置选项可能会有所不同,取决于Linux发行版和版本。管理员应该参考相关文档和资源,以了解适用于其特定环境的最佳实践和配置方法。
495 0
百度搜索:蓝易云【linux iptables安全技术与防火墙】
|
存储 Linux 网络安全
如何使用iptables在Linux中进行流量转发?
如何使用iptables在Linux中进行流量转发?
1459 0
如何使用iptables在Linux中进行流量转发?
|
开发框架 网络协议 Ubuntu
【Linux】配置网络和firewall防火墙(超详细介绍+实战)
【Linux】配置网络和firewall防火墙(超详细介绍+实战)
3616 0
|
3月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
242 73
|
1月前
|
存储 运维 Linux
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
46 0
|
2月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
56 1
|
4月前
|
域名解析 网络协议 Linux
在Linux中,iptables有哪相关的命令?
在Linux中,iptables有哪相关的命令?
|
5月前
|
负载均衡 网络协议 Linux
|
4月前
|
Linux 网络安全
在Linux中,iptables和firewalld两种防火墙如何使用?
在Linux中,iptables和firewalld两种防火墙如何使用?