iptables實驗2

IPTABLES   實驗2

 

 

 

實驗大體結構圖

 

blob.png

 

 

相關概念及公式

源地址轉換:    SNAT   POSTROUTING

目標地址轉換:DNAT  PREROUTING

 

每次重啟網絡后我們都得首先打開連接轉發功能,echo 1> /proc/sys/net/ipv4/ip_forward

 

注意此實驗 NODE1NODE2eh1位于同一個虛擬網絡VMNET0

NODE2eth0NODE3是橋接方式連接,

也就是可以認為NODE3是外網

NODE1是內網。

 

NODE1 : IP :   192.168.42.3

 

 blob.png

 

 

NODE2: 都是作為網關接口來設定的,這樣看起來比較簡便,實際中肯定不會這樣了。

 

blob.png

 

NODE3:  當然就是配置10.1.0.0網段的網址啦。

 blob.png

 

我們啟動NODE1HTTPD服務并編輯相應的網頁文件即可。

blob.png

繼續啟動外網NODE3HTTPD 服務

blob.png 

以上環境搭好,讓我們來測試下NODE1…NODE3之間能不能通過NODE2  相互聯通。

 

NODE1 ———> NODE3

 

blob.png

 

NODE3———->NODE1

 blob.png

 

 

好了能互相PING通說明設置成功,那我們的外網主機NODE3也能獲取NODE1的網頁文件

blob.png

 

NOD1 能獲取NODE3的網頁文件

 blob.png

那么讓我們接下來設置NODE2的轉發防火墻。

 

1.首先打開連接轉發功能,echo 1> /proc/sys/net/ipv4/ip_forward

 

2.設置放行所有狀態為ESTABLISHED ,RALETEDTCP協議的鏈接。

NODE2首先開啟FTP協議的連接追蹤功能

 

 

modprobe       nf_conntrack_ftp

 

添加轉發的默認規則

iptables   -A FORWARD    -j  DROP

 

這樣我們的內外網的轉發功能就被禁掉了,這里列出結果。

blob.png

 

blob.png

                                                                                                                                                  

現在我們讓內網服務器能訪問外網

iptables -I FORWARD  -s 192.168.42.0/24  -p tcp   –dport  80     -j ACCEPT

 

blob.png

 

當然我們這里是tcp協議,icmp協議當然還是不通了??!

blob.png

內網還是不能出去,這是因為之開放了出去的,響應報文進不來也沒用??!

 

那我們接下來開放響應報文

 

iptables  -I   FORWARD 2  -d 192.168.42.0/24   -p tcp    –sport 80   -j   ACCEPT

 

這里我們內網對外網的訪問就沒有問題了!

 blob.png

Iptables    -vnL

這個就是我們當前的防火墻的總規則

blob.png

 

接下來讓我們刪除第二條規則,根據狀態來做追蹤

iptables  -D FOREWARD 2

我們加入根據狀態來放行的轉發規則,這樣我們只要定義請求規則就可以了;

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

 

現在我們內網的主機想用ssh連接到外網怎么辦?

很簡單我們把第二條規則改下就可以了,我們只放行內網鏈接狀態為NEW的連接!

我們在NEW方向加了狀態

iptables -R FORWARD 2 -s 192.168.42.0/24 -p tcp -m multiport  –dports 80,21,22,23,139,445 -m state –state NEW -j ACCEPT

 blob.png

這就是改動后的規則

這里的內網對外網curlssh遠程登陸都沒有問題

這里的ssh可能會稍微時間長點因為每個包都得經過FORWARD 鏈進行過濾,所以速度當然就慢點了,臺式機可能會快點。

 

blob.png

  

 blob.png

這里我們啟動NODE3smb,vsftpd服務,telnet服務看看NODE1上面什么反應!

 

blob.png

 

 blob.png

這里我們從NODE1上進行訪問NODE3samba服務

 

blob.png

 

接下來我們測試下NODE1連接NODE3ftp服務有沒有問題

blob.png

這里看出也是沒有任何問題的!??!

 

 

注意:以后我們工作時在修改IPTABLES時定義一個自動20分鐘運行的守護進程,讓其清空防火墻,這樣就能避免我們添加防火墻失敗的問題,添加成功我們就刪除這個自定義腳本;

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

(0)
sjfbjssjfbjs
上一篇 2016-10-24
下一篇 2016-10-24

相關推薦

  • 士大夫

    士大夫

    2017-11-13
  • Linux終端類型

    Linux系統的終端主要包括控制臺終端、控制終端、串口終端、偽終端、虛擬終端。 1、控制臺終端(/dev/console)    在Unix系統中,計算機顯示器通常被稱為控制臺終端。Console與虛擬終端相關聯,內核將信息送到控制臺終端上(/dev/console), 通過與console相關聯的虛擬終端將信息顯示到屏幕上。不管當前正在…

    Linux干貨 2016-10-19
  • 計算機基礎知識

    計算機系統 計算機系統組成的兩大部分 硬件系統     主機         中央處理器CPU{運算器,控制器}         內存儲器{ROM,RAM} &…

    Linux干貨 2016-08-04
  • Linux文件管理和Bash特性

    一、Linux基本文件管理命令 主要介紹cp、mv、rm命令的基本用法以及使用示例 cp命令 cp命令用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄 cp (選項) (參數) 常用選項: -a:此參數的效果和同時指定”-dpR”參數相同,用于實現歸檔; -d:復制符號鏈接文件本身,而非其指向的源文件; -f:強行復制文件或目錄,不論目標文件或目錄是…

    Linux干貨 2017-07-09
  • Linux程序包管理之RPM

    Linux程序包管理之RPM RPM概念 rpm是什么 RPM 是Ret Hat Package Manager(RPM軟件包管理器)的縮寫,遵循GPL協議,可以運行在各種Linux上,公認的行業標準。 rpm干什么 對于終端用戶來說 簡化了Linux系統的安裝、卸裝、更新和升級的過程,用命令完成 對于開發者來說 RPM允許把軟件編碼包裝成源代碼和程序包提供…

    Linux干貨 2016-11-22
  • 第一周作業

    作業

    Linux干貨 2018-03-20
欧美性久久久久