iptables學習筆記

 

Netfilter:是Linux操作系統核心層內部的一個數據包處理模塊。

 

Hook point:數據包在Netfilter中的掛載點。(PRE_ROUTIN

 

,INPUT,OUTPUT,FORWARD,POST_ROUTING

 

iptables 規則組成:四張表+五條鏈(Hook point+規則

 

四張表:filter表、nat表、mangle表、raw

五條鏈:INPUT OUTPUT FORWARD PREROUTING POSTROUTING

圖片1.png 

PREROUTIN 如果流量localhost(本地) ——》INPUT

如果流量不是本地——》FORWARD

 

POSTROUTIN

 

規則:

數據包訪問控制:ACCEPT(接收)、DROP(丟棄)、REJECT(拒絕)

 

數據包改寫:SNAT(源地址)、DNAT(目標地址)

 

信息紀錄:LOG

 

圖片2.png 

Command:

-A :追加新紀錄

-D:刪除

-L:顯示當前規則

-F:清楚現有規則

-P:設置默認規則

-I:插入新規則

 

Parameter&xmatch

-P 協議

-s 源地址

-d 目標地址

–sport 源端口

–dport 目標端口

–dports 目標端口段

-m tcp|state|multiport

Target

-j ACCEPT 運行通過

DROP 丟棄

REJECT 拒絕

DNAT

SNAT

 

實例:

Iptables 配置場景一

規則1、對所有的地址開放本機tcp(80、2210-21)端口的訪問

規則2、允許對所有的地址開放本機的基于ICMP協議的數據包訪問

規則3、其他未被允許的端口規則禁止訪問

Iptables -nL

Iptables -F

Iptables -I INPUT -p tcp –dport 80 -j ACCEPT

Iptables -I INPUT -p tcp –dport 22 -j ACCEPT

Iptables -I INPUT -p tcp –dport 1021 ACCEPT

Iptables -I INPUT -p icmp -j ACCEPT

Iptables -A INPUT -j REJECT

場景一存在的問題:

1、本機無法訪問本機

Iptables -I INPUT -i lo -j ACCEPT

2、本機無法訪問其他主機

Iptables -I INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

補充:在場景一的基礎上,只允許192.168.0.100訪問本機的httpd服務

Iptables -D INPUT -p tcp –dport 80 -j ACCEPT

Iptables -I INPUT -p tcp -s 192.168.0.100 –dport 80 -j ACCEPT

 

Iptables 配置場景二

 

1、ftp主動模式下iptables配置

圖片3.png 

圖片4.png 

圖片5.png 

2、ftp被動模式下iptables配置

圖片6.png 

圖片7.png 

圖片8.png 

 

Iptables 配置場景三

要求一:員工作公司內部(192.168.1.0/24,192.168.2.0/24)能訪問服務器的任何服務

要求二:當員工出差例如在上海,通過VPN連接到公司外網(員工)===撥號到===VPN服務器++=》內網FTPSAMBA,NFS,SSH

要求三:公司有一個門戶網站需要允許公網訪問

圖片9.png 

圖片10.png 

 

iptables -F

iptables -I INPUT -i lo -j ACCEPT

iptables -I INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT

iptables -A INPUT -p tcp –dport 80 -j ACCEPT

iptables -A INPUT -p tcp –dport 1723 -j ACCEPT

iptables -I INPUT -p icmp -j ACCEPT

iptables -A INPUT -j REJECT

iptables -nL

/etc/init.d/iptables save

 

 

 

圖片11.png 

Snat

 

 

Nat轉發 設置/etc/sysctl.conf    net.ipv4.ip_forward=1 默認為0

圖片12.png  

 

Iptables -t nat -A POSTROUTING -s 10.10.177.0/24 -j SNAT –to 10.10.188.232

 

Dnat

圖片13.png 

Iptables -t nat -A PREROUTING -d 10.10.188.233 -p tcp –dport 80 -j DNAT –to 10.10.177.232:80

 

 

圖片14.png 

圖片15.png iptables -I INPUT -p TCP –syn –dport 80 -m connlimit –connlimit-above 100-j REJECT

 

圖片16.png 

場景:限制10icmp包通個,如果大于10個包就現在速度 每分鐘5

 

Iptables -A INPUT -p icmp -m limit –limit 1/m –limit-burst 10 -j ACCEPT

Iptables -A INPUT -p icmp -j DROP

 

原創文章,作者:luobocai,如若轉載,請注明出處:http://www.www58058.com/49664

(0)
luobocailuobocai
上一篇 2016-12-05
下一篇 2016-12-05

相關推薦

  • N25-第一周博客作業

    計算機的組成及其功能 Linux的發行版介紹 Linux的哲學思想 Linux命令格式及一些基礎命令 在Linux系統上獲取命令的幫助信息 Linux發行版的基礎目錄 計算機的組成及其功能 簡單來說,計算機系統是由 硬件系統(hardware system)和 軟件系統(software system)兩部分組成。 硬件的基本組成: 運算器、存儲器、控制器、…

    Linux干貨 2016-12-02
  • linux發展歷程簡述

     linux發展歷程簡述 概述       本文寫的linux 的發展歷史,閱讀本文你可以知道:           1.   linux的發音           2. &nbs…

    Linux干貨 2016-10-14
  • 正則表達式及文本處理

    正則表達式及文本處理 通俗點說,正則表達式就是處理字符串的方法,更加快速簡潔的代表各個要求參數,一般用于描述字符排列和匹配模式的一種語法規則,通過正則表達式一些特殊符號的輔助,讓用戶輕易的查找、刪除、替換一些字符串的處理程序。( ps:正則表達式和通配符不一樣,通配符代表的是bash接口的一個功能,但正則表達式是一種字符串處理的表達方式,兩者一定要分清楚。)…

    2017-06-11
  • Hello word!

    初識linux

    2018-03-26
  • 例圖分析軟、硬鏈接

    在linux系統中存在兩種鏈接方式硬鏈接和軟連接,兩種鏈接方式在系統中是完全不同的模式,本文主要詳述兩種的區別并給與圖示; 創建guo ,lin兩個文件,兩個文件分別用于演示軟連接和硬鏈接     圖一:創建文件   創建軟連接guo.ruan1     圖二:創建軟連…

    Linux干貨 2016-10-29
欧美性久久久久