Linux_IPtables防火墻詳解

      網友投稿 986 2025-03-31

      目錄

      目錄

      iptables

      iptables結構

      規則表

      規則鏈

      iptables指令用法詳解

      綜合案例

      SNAT 策略

      DNAT 策略

      Iptables規則的備份和還原

      iptables 練習

      Iptables

      iptables(linux package filter firewall (network layer))是linux內核集成的IP信息包過濾系統,該系統有利于在Linux系統上更好地控制IP信息包過濾和防火墻配置。防火墻在做信息包過濾決定時,有一套規則,這些規則存儲在專用的信息包過濾表中,而這些表集成在Linux內核中。在信息包過濾表中,規則被分組放在我們所謂的鏈(chain)中。而netfilter/iptables IP信息包過濾系統是一款功能強大的工具,可用于添加、編輯和移除規則。雖然netfilter/iptables IP信息包過濾系統被稱為單個實體,但它實際上由兩個組件netfilter和iptables組成。

      netfilter組件:也稱為內核空間(kernelspace),是內核的一部分,由一些信息包過濾表組成,這些表包含內核用來控制信息包過濾處理的規則集。

      iptables 組件:是一種工具,也稱為用戶空間(userspace),它使插入、修改和除去信息包過濾表中的規則變得容易。除非您正在使用Red Hat Linux 7.1或更高版本,否則需要下載該工具并安裝使用它。

      Iptables結構

      表內有若干條鏈,鏈內有若干條規則。

      規則表

      表的作用:容納各種規則鏈

      表的劃分依據:防火墻規則的作用

      4個規則表:

      nat表:修改數據包中的源、目標IP地址或端口(網絡地址轉換)

      filter表:確定是否修改數據包(過濾)解決放同行的數據包

      raw表:確定是否對該數據包進行狀態跟蹤

      mangle表:為數據包設置標記

      表內訪問鏈的順序:

      nat表:PREROUTING->POSTROUTING->OUTPUT

      filter表:INPUT->FORWARD->OUTPUT

      規則鏈

      規則的作用:對數據包進行處理和過濾

      鏈的作用:容納各種防火墻規則

      5種規則鏈:

      INPUT:處理入站數據包

      output:處理出戰數據包

      FORWARD(forward轉發):處理轉發數據包

      POSTROUTING(post routing路由選擇后):在進行路由選擇后處理數據包 post 之后

      PREROUTING(pre routing路由選擇前):在進行路由選擇錢處理數據包 pre 之前

      Attention:數據包處理流程

      數據包入站:

      nat:PREROUTING->路由選擇->filter:INPUT->本地應用程序

      數據包轉發:

      nat: PREROUTING->路由選擇->filter:FORWARD->nat:POSTROUTING->轉發走

      數據包出站:

      nat: 本地應用程序->路由選擇->filter:OUTPUT->nat:POSTROUTING->出站

      iptables command use:

      iptables指令用法詳解

      iptables [-t tableName] 選項 [鏈名] [條件] [-j 控制類型] #example: iptables -t filter -I INPUT -p icmp -j REJECT #reject ping protocols.

      1

      2

      3

      注意:

      a. 不指定表,默認是filter表

      b. 不指定鏈名,默認是指表的所有鏈

      c. 除非設置了鏈的默認策略,否則必須指定匹配條件

      常見的控制類型: -j

      1. ACCEPT:允許通過

      2. DROP:直接丟棄,不給予回應

      3. REJECT:拒絕通過,給予回應

      4. LOG:記錄日志的信息

      選項:

      -A add 在鏈的末尾追加新的規則 -I insert 在鏈的開頭插入規則 -L list 列出所有的規則條目 -n number 以數字的形式顯示地址、端口的信息 --line-number 序號

      1

      Linux_IPtables防火墻詳解

      2

      3

      4

      5

      查看iptables規則一般使用:

      iptables -nvL -D 刪除鏈內指定序號的一條規則 -F 清空一個表的多有規則 -X 刪除自定義鏈規則 -p 指定鏈設置默認規則DROP or ACCEPT

      1

      2

      3

      4

      5

      條件匹配:

      -P protocol 協議名 -s source 源IP -d destination 目的IP -i input 入站網卡 -o output 出站網卡 --sport source port 源端口 --dport destination port 目的端口 --tcp-flags TCP標記 --icmp-type ICMP 類型 8:請求 0:回應 3:不可達 #example: iptables -A FORWARD -s 192.168.4.0/24 -p udp -dport 52 -j ACCEPT --icmp-type 8 -m multiport --sports 源端口列表 -m multiport --dports 目的端口列表 -m iprange --src-range -m state --start ESTANLISHED,RELATED

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      綜合案例

      iptables -I INPUT -s 172.16.1.2 -d -i eth2 -p icmp --icmp-type 8 -j DROP iptables -P FORWARD DROP --> FORWARD table default rule is DROP. iptables -I FORWARD -s 172.16.1.0/24 -p tcp -m multiport --dport 21,25,80 -j ACCEPT iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #established已經確定的,related相關的 有關的鏈接參數

      1

      2

      3

      4

      Load Module:

      modprobe ip_conntrack_ftp #FTP為需要2個端口的特殊的模塊,所以需要加載模塊 lsmod | grep ip #查看模塊

      1

      2

      SNAT 策略

      Source Network Transform:私網內主機IP都共享一個公網IP,實現私網內主機使用同一個公網IP上網。

      Attention:一定是路由轉發后轉換IP,且只有一個 -O(出站網卡)

      數據包出站:

      nat: 本地應用程序->路由選擇->filter:OUTPUT->nat:POSTROUTING->出站

      Example:

      iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 218.29.30.31(防火墻公網IP) iptables -t nat -I POSTROUTING -s 192.168.8.0/24 -p tcp -m multiport --dport 80.21.25 -j SNAT -to 172.16.1.1

      1

      2

      外網地址非固定時的共享動態IP地址上網:

      MASQUERADE –> 地址偽裝 –> 撥號

      iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

      1

      DNAT 策略

      Destination Network Transform:將使用私網IP的服務器發布到公網上,使得公網上的主機可以訪問此服務器

      原理:目標地址轉換

      iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp -dport 80 -j DNAT -to -destination 192.168.1.6

      1

      目標地址轉換

      iptables -t nat -I PREROUTING -d 172.16.1.1 -p tcp -m multiport --dport 21,22,80 -j DNAT --to-destination 192.168.8.171 #一條DNAT規則只能指定一個服務器 iptables -I FROWARD -d 192.168.8.171 -p tcp -m multiport --dport 21,25,80 -j Accept

      1

      2

      3

      轉換目標端口

      iptables -t nat -I PREROUTING -d 172.16.1.1 -p tcp --dport 2222 -j DNAT --to 192.128.8.171:22 iptables -I FORWARD -d 192.168.8.171 -p tcp --dport 22 -j Accept #Test: ssh root@172.16.1.1 -p 2222 #在生產環境中,一般先SSH到Iptables Server,然后在從Server SSH 到目標主機中。

      1

      2

      3

      4

      Iptables規則的備份和還原

      導出規則:

      iptables-save > /opt/iptables_all.txt #iptables-save用來把當前的規則存入一個文件里以備iptables-restore使用

      1

      備份:

      service iptables save

      1

      還原:

      iptables_all.txt > /etc/sysconfig/iptables #or iptables-restore << /opt/iptables_all.txt

      1

      2

      3

      iptables 練習

      將filter table 中的INPUT 鏈的默認規則設為DROP

      iptables -P OUTPUT DROP

      1

      iptables server可以ping到任何人,任何人不可以ping到iptables server

      iptables -A OUTPUT -s 10.10.10.1 -o eth1 -p icmp --icmp-type 8 -j ACCEPT iptables -A INPUT -d 10.10.10.1 -i eth1 -p icmp --icmp-type 0 -j ACCEPT #or iptables -A OUTPUT -s 192.168.100.1 -o eth0 -p icmp --icmp-type 8 -j ACCEPT iptables -A INPUT -d 192.168.100.1 -i eth0 -p icmp --icp-type 0 -j ACCEPT

      1

      2

      3

      4

      5

      HOST2可以通過防火墻訪問HOST1的各種服務,HOST2的DNS要指向HOST1

      SNAT 私網IPHOST可以訪問公網IPHOST,轉換源IP地址

      iptables -A FORWARD -s 192.168.100.0/24 -p tcp -m multiport --dports 80,25,21 -j ACCEPT iptables -A FORWARD -s 192.168.100.0/24 -p udp --dport 53 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -p tcp -m multiport --dport 80,25,21 -o eth1 -j SNAT --to 10.10.10.1 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -p udp --dport 53 -o eth1 -j SNAT --to 10.10.10.1 iptables -A FORWARD -m state --state RELATED,ESTABLISHED # 設定FORWARD鏈的全局狀態為:自動匹配數據包的狀態,可以無須關心包回來的方法 modprobe ip_conntrcak_ftp #加載ftp模塊, iptables 自身不帶有 modprobe ip_nat_ftp

      1

      2

      3

      4

      5

      6

      7

      用iptables防火墻發布于內網的HOST2上的各種服務,是HOST1可以通過域名訪問HOST2上的各種服務

      DNAT 將私網中的服務器發布出去,讓公網上的HOST可以訪問,轉換公網IP 主機的目的地址。

      iptables -t nat -A PREROUTING -d 10.10.10.1 -i eth1 -p tcp -m multiport --dports 80,25,21 -j DNAT --to 192.168.100.2 iptables -t nat -A PREROUTING -d 10.10.10.1 -i eth1 -p udp --dport 53 -j DNAT --to 192.168.100.2 iptables -A FORWARD -d 192.168.100.2 -i eth1 -p tcp -m multiport --dport 80,25,21 -j ACCEPT iptables -A FORWARD -d 192.168.100.2 -i eth1 -p udp --dport 53 -j ACCEPPT

      1

      2

      3

      4

      HOST1訪問遠程管防火墻

      iptables -A INPUT -d 10.10.10.1 -i eth1 -p tcp --dport 22 -j ACCEPT iptables --A OUTPUT -S 10.10.10.1 -P TCP ---SPORT 22 -j ACCEPT

      1

      2

      當HOST1訪問iptables外網的2222端口時,會轉發到HOST2的主機中(DNAT的端口轉發)

      iptables -t nat -A PREPOUTONG -d 10.10.10.1 -i eth1 -p dport 2222 -j DNAT --to 192.168.100.2:22 iptablws -A FORWARD -d 192.168.100.2 -i eth0 -p dport 22 -j ACCEPT

      1

      2

      Linux NAT

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:統計報表產品代碼(統計報表產品代碼怎么填)
      下一篇:excel用公式劃分等級的方法步驟
      相關文章
      久久久久亚洲av无码专区导航| 久久精品国产亚洲77777| 亚洲精品美女在线观看播放| 久久亚洲国产精品一区二区| 亚洲天堂免费在线视频| 亚洲国产成人乱码精品女人久久久不卡| 亚洲av日韩精品久久久久久a| 亚洲精品无码久久久久秋霞| 亚洲熟妇无码八V在线播放| 亚洲人成网站色在线观看| 亚洲三级高清免费| 亚洲欧美国产欧美色欲| 亚洲大码熟女在线观看| 色偷偷噜噜噜亚洲男人| 在线精品自拍亚洲第一区| 亚洲成人高清在线| 亚洲日本韩国在线| 亚洲一区爱区精品无码| 久久久久久a亚洲欧洲aⅴ| 久久亚洲国产伦理| 亚洲色图综合网站| 亚洲偷自精品三十六区| 亚洲色大18成人网站WWW在线播放| 亚洲人成网站免费播放| 亚洲国产成人精品无码区二本| 精品韩国亚洲av无码不卡区| 亚洲精品国产自在久久 | 亚洲人成影院在线无码按摩店| 亚洲精品无码Av人在线观看国产 | 久热综合在线亚洲精品| 亚洲综合国产精品| 亚洲成aⅴ人在线观看| 国产亚洲精品成人AA片| 国产成人综合亚洲| 在线亚洲精品自拍| 久久久久久久亚洲Av无码| 中文文字幕文字幕亚洲色| 亚洲.国产.欧美一区二区三区| 亚洲日韩国产成网在线观看| 亚洲av无码专区在线播放| 亚洲的天堂av无码|