iptables系列教程(一)| iptables入門篇

前言

在早期的 Linux 系統中,默認使用的是 iptables 配置防火牆。儘管新型
firewalld 防火牆已經被投入使用多年,但是大量的企業在生產環境中依然出於各種原因而繼續使用 iptables。考慮到 iptables 在當前生產環境中還具有頑強的生命力,我覺得還是有必要再好好地講解一下這項技術。

iptables 簡介

1、什麼是iptables?

iptables 是 Linux 防火牆工作在用戶空間的管理工具,是 netfilter/iptablesIP 信息包過濾系統是一部分,用來設置、維護和檢查 Linux 內核的 IP 數據包過濾規則。

2、iptables特點

iptables 是基於內核的防火牆,功能非常強大;iptables
內置了filternatmangle三張表。所有規則配置後,立即生效,不需要重啓服務。

iptables 組成

iptables的結構是由表(tables)組成,而tables是由鏈組成,鏈又是由具體的規則組成。因此我們在編寫iptables規則時,要先指定表,再指定鏈。tables的作用是區分不同功能的規則,並且存儲這些規則。

iptables系列教程(一)| iptables入門篇

注意:raw表:用於處理異常,包括的規則鏈有:prerouting,output; 一般使用不到。

總體說來,iptables是由“三表五鏈”組成。

1、三張表介紹:

  • filter

負責過濾數據包,包括的規則鏈有:inputoutputforward

  • nat

用於網絡地址轉換(IP、端口),包括的規則鏈有:preroutingpostroutingoutput

  • mangle

主要應用在修改數據包、流量整形、給數據包打標識,默認的規則鏈有:
INPUTOUTPUTforwardPOSTROUTINGPREROUTING

優先級:mangle > nat > filter

2、五條鏈:

  • input

匹配目標IP是本機的數據包

  • output

出口數據包 , 一般不在此鏈上做配置

  • forward

匹配流經本機的數據包

  • prerouting

修改目的地址,用來做 DNAT 。如:把內網中的 80 端口映射到互聯網端口

  • postrouting

修改源地址,用來做 SNAT。 如:局域網共享一個公網IP接入Internet。

iptables 處理數據包流程:

iptables系列教程(一)| iptables入門篇

  1. 當一個數據包進入網卡時,它首先進入 PREROUTING 鏈,內核根據數據包目的 IP 判斷是否需要轉送出去。

  2. 如果數據包就是進入本機的,它就會沿着圖向下移動,到達 INPUT 鏈。數據包到了 INPUT 鏈後,任何進程都會收到它。

  3. 本機上運行的程序可以發送數據包,這些數據包會經過 OUTPUT 鏈,然後到達POSTROUTING 鏈輸出。

  4. 如果數據包是要轉發出去的,且內核允許轉發,數據包就會如圖所示向右移動,經過 FORWARD 鏈,然後到達 POSTROUTING 鏈輸出。

總結: 整體數據包分兩類: 1、發給防火牆本身的數據包 ;2、需要經過防火牆的數據包

iptables 安裝

1、關閉 firewall

systemctl stop firewalld //關閉firewalld服務
systemctl disable firewalld //禁止firewalld開機自啓動

2、安裝 iptables

yum -y install iptables-services

3、啓動服務

systemctl start iptables //啓動iptables
systemctl start iptables //設置iptables開機自啓動

4、配置文件位置

[root@LB-01 ~]# ll /etc/sysconfig/iptables
-rw------- 1 root root 1027 May 12 18:40 /etc/sysconfig/iptables

最後給大家看下iptables配置實例:

iptables系列教程(一)| iptables入門篇

小朋友你是否有很多問號

iptables系列教程(一)| iptables入門篇

今天只是 iptables 入門篇,下個章節再爲大家詳細介紹iptables語法規則及企業實戰案例。相信看完明天教程,多加練習後您不僅能看懂上面的配置實例,還可以利用iptables打造出銅牆鐵壁級服務器~

結語

公衆號『開源Linux』,專注分享Linux/Unix相關內容,包括Linux運維、Linux系統開發、網絡編程、以及虛擬化和雲計算等技術乾貨。後臺回覆『學習』,送你一套學習Linux的系列書籍,期待與你相遇。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章