站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

Juniper 350M-Transparent Mode 實作筆記

前言

本次實作為將 Juniper 350M 設定為透明模式 (Transparent Mode) 且只實作以下項目

實作環境

整個實作架構圖如下所示,使用 FreeBSD PF 負責 NAT/RDR 任務關於 FreeBSD PF 設定可參考站內文章 PF-利用 PF 輕鬆達成 NAT

截圖:

安裝及設定

透過電腦的 RS-232 Port 用原廠附的 Console 線與 Juniper 350M 的 Console Port 對接,超級終端機設定值如下

Com Port 設定內容

設定 Juniper 350M 為 Transparent Mode

步驟1.設定 Interface Zone

要設定 Juniper 350M 為 Transparent Mode 將必須將 Interface 的 Zone 調整為 V1-Trust、V1-Untrust,本例為將 ethernet0/1 Zone 設定為 V1-Trust 而將 ethernet0/3 Zone 設定為 V1-Untrust,並且將 VLAN1 設定 IP Address 192.168.0.20 以便屆時在 LAN IP 端可使用此 IP Address 登入 Juniper 350M 進行管理.

  1. 使用預設帳號 netscreen 及預設密碼 netscreen 登入 Juniper 350M
  2. 切換至【Network】 >> 【Interfaces】 >> 【ethernet0/1】 >> 【Edit】 >> 調整 Zone Name 為 V1-Trust >> 【OK】
  3. 切換至【Network】 >> 【Interfaces】 >> 【ethernet0/3】 >> 【Edit】 >> 調整 Zone Name 為 V1-Untrust >> 【OK】
  4. 切換至【Network】 >> 【Interfaces】 >> 【vlan1】 >> 【Edit】 >> 輸入 IP Address 192.168.0.20 >> 【OK】

Zone 預設值 e0/1 設定為 V1-Trust e0/3 設定為 V1-Untrust 設定 vlan1 IP 修改後 Zone

步驟2.設定 Default Gateway

設定 Interface Zone 完成後,接著要指定 Default Gateway,其中 Gateway IP Address 為 NAT 與 Juniper 350M e0/3 V1-Untrust 相連接介面的 IP 位址,可參考此次實作架構圖

  1. 切換至【Network】 >> 【Routing】 >> 【Routing Entries】 >> 【New】 來新增 Default Gateway
    1. IP Address/Netmask 請填入 0.0.0.0/0
    2. Next Hop 請點選【Gateway】 >> Gateway IP Address 請填入 192.168.0.1 >> 【OK】

預設路由表 設定預設路由 新增後路由表

步驟3.設定 Policy

Interface Zone 及 Default Gateway 都設定完成後,即剩下設定 Policy 即可完成 Transparent Mode 的設定,由於本次實作僅是擔任 Transparent 的角色,因此 Policy 設定為雙向 any pass.

  1. 切換至【Policy】 >> 【Policies】 >> From 選擇【V1-Trust】 >> To 選擇【V1-Untrust】>> 按下【New】 來新增 Policy
    1. Name(Optional) 請填入此 Policy 的名稱本例為 V1-Trust to V1-Untrust
    2. Source Address 請選擇 any
    3. Destination Address 請選擇 any
    4. Service 請選擇 ANY
    5. 按下 【OK】 新增 Policy
  2. 切換至【Policy】 >> 【Policies】 >> From 選擇【V1-Untrust】 >> To 選擇【V1-Trust】>> 按下【New】 來新增 Policy
    1. Name(Optional) 請填入此 Policy 的名稱本例為 V1-Untrust to V1-Trust
    2. Source Address 請選擇 any
    3. Destination Address 請選擇 any
    4. Service 請選擇 ANY
    5. 按下 【OK】 新增 Policy
  3. 看到剛才新增的 Policy

Policy 設定頁面 設定 V1-Trust to V1-Untrust Policy 新增 Policy 完成 Policy 設定頁面 設定 V1-Untrust to V1-Trust Policy 新增 Policy 完成 查看 Policy 總表

步驟4.測試 Transparent Mode 設定是否成功

上述設定完成後來進行測試看我們是否有將 Transparent Mode 設定成功,與 Juniper 350M 的 e0/1 介面上電腦設定 IP 192.168.0.100 來進行測試,相關測試步驟如下

  1. 設定測試電腦 IP 為 192.168.0.100
  2. 使用此 IP 嘗試 Ping Juniper 350M vlan1 IP 192.168.0.20,測試 LAN IP 是否能連到 Juniper 350M
  3. 使用此 IP 嘗試 Ping Juniper 350M 上層 NAT LAN IP 192.168.0.1,測試 LAN IP 是否能連到 NAT (因為 Juniper 350M 為 Transparent Mode)
  4. 使用此 IP 嘗試 Ping Internet IP 168.95.1.1,測試 LAN IP 是否能連到 Internet
  5. 使用此 IP 嘗試 Ping Internet FQDN tw.yahoo.com,測試 LAN IP 是否能連到 Internet 且 DNS 正常運作
  6. 開啟瀏覽器網址列輸入 192.168.0.20,測試能否連到 Juniper 350M 登入畫面
  7. 開啟瀏覽器網址列輸入 tw.yahoo.com,測試能否連到 Internet 網站

測試電腦 IP 為 192.168.0.100 Ping 350M 及 NAT Ping IA 登入 Juniper 350M 連結至 Yahoo

CLI 文字介面操作

上述 GUI 圖形介面操作雖然簡單明瞭,若您習慣在 CLI 文字介面下操作即為如下指令

 set interface "ethernet0/1" zone "V1-Trust"
 set interface "ethernet0/3" zone "V1-Untrust"
 set interface vlan1 ip 192.168.0.20/24
 set interface vlan1 ip manageable
 set policy id 1 name "V1-Trust to V1-Untrust" from "V1-Trust" to "V1-Untrust"  "Any" "Any" "ANY" permit 
 set policy id 1
 exit
 set policy id 2 name "V1-Untrust to V1-Trust" from "V1-Untrust" to "V1-Trust"  "Any" "Any" "ANY" permit
 set policy id 2
 exit
 set route 0.0.0.0/0 interface vlan1 gateway 192.168.0.1

實作1.阻擋特定 LAN IP 無法上 Internet

GUI 圖形介面操作

本實作為設定阻擋特定 LAN IP 無法通過 Juniper 350M,所以若有 LAN IP 中毒會往外狂發封包的情況下設定此 Policy 能有效把封包阻擋在 Juniper 350M 這段而不影響到 NAT 運作,下列我們先將設定要阻擋的 IP 清單,之後將這些要阻擋的 IP 清單加入至群組中,屆時 Policy 只要套用該筆郡組即可,這樣不但管理上較方便且對 Juniper 運作效能也有改善

  1. 切換到 【Policy】 >> 【Policy Elements】 >> 【Addresses】 >> 【List】 >> 按下【New】
    1. 新增三筆 IP 資料名稱為 BadUser-A (192.168.0.34)、BadUser-B (192.168.0.78)、BadUser-C (192.168.0.100)
  2. 切換到 【Policy】 >> 【Policy Elements】 >> 【Addresses】 >>【Groups】 >> 按下【New】
    1. 新增郡組 Block User IP List 並將剛才新增的三筆資料加入至群組中
  3. 切換到 【Policy】 >> 【Policies V1-Trust to V1-Untrust】 >> 按下【New】
    1. Source Address 選擇剛才新增的群組 Block User IP List
    2. Destination Address 選擇 Any
    3. Service 選擇 ANY
    4. Action 選擇 Deny
    5. 按下 OK 即新增 Policy

切換至 Policy 新增 3 筆 IP 記錄 新增 V1-Trust Group 新增 Block User IP List 新增 Group 完成 準備新增 Policy 新增 Block Policy

此時您會發現被限制的 LAN IP 仍然可以通過 Juniper 350M 到 Internet? 因為 Juniper 350M 為 First Match 式的防火牆而新增的 Policy 預設會在最底下,由下圖可看到因為 Policy 第一條為 any to any 所以 LAN IP 當然可以通過 Juniper 350M 到 Internet,要使 Policy 生效我們只需要把該 Policy 往上移即可如下圖所示。

Policy 未往上移 LAN IP 仍可以通過 Juniper 350M 到 Internet

Policy 未往上移 可 Ping 到 Yahoo

Policy 往上移後 LAN IP 即無法通過 Juniper 350M 到 Internet

Policy 往上移 無法 Ping 到 Yahoo

CLI 文字介面操作

上述 GUI 圖形介面操作雖然簡單明瞭,若您習慣在 CLI 文字介面下操作即為如下指令

 set address "V1-Trust" "BadUser-A" 192.168.0.34 255.255.255.0
 set address "V1-Trust" "BadUser-B" 192.168.0.78 255.255.255.0
 set address "V1-Trust" "BadUser-C" 192.168.0.100 255.255.255.0
 set group address "V1-Trust" "Block User IP List"
 set group address "V1-Trust" "Block User IP List" add "BadUser-A"
 set group address "V1-Trust" "Block User IP List" add "BadUser-B"
 set group address "V1-Trust" "Block User IP List" add "BadUser-C"
 set policy id 3 from "V1-Trust" to "V1-Untrust"  "Block User IP List" "Any" "ANY" deny 
 set policy id 3
 exit

實作2.限制特定 LAN IP Group 上 Internet 使用頻寬

GUI 圖形介面操作

本實作為設定限制特定 LAN IP Group 通過 Juniper 350M 時頻寬會被限制在指定的數值 200kbps,所以不管屆時 LAN IP Group 內有多少筆其內所有的 IP 都將共用 200kbps

  1. 切換到 【Policy】 >> 【Policy Elements】 >> 【Addresses】 >> 【List】 >> 按下【New】
    1. 新增三筆 IP 資料名稱為 QosUser-A (192.168.0.100)、QosUser-B (192.168.0.113)、QosUser-C (192.168.0.150)
  2. 切換到 【Policy】 >> 【Policy Elements】 >> 【Addresses】 >>【Groups】 >> 按下【New】
    1. 新增郡組 Qos User IP List 並將剛才新增的三筆資料加入至群組中
  3. 切換到 【Policy】 >> 【Policies V1-Trust to V1-Untrust】 >> 按下【New】
    1. Source Address 選擇剛才新增的群組 Qos User IP List
    2. Destination Address 選擇 Any
    3. Service 選擇 ANY
    4. 移至最下方按下 Advanced
      1. 勾選【Traffic Shaping】 >> 選擇【Maximum Bandwidth】 並填入頻寬大小為 200 kbps
    5. 按下 【OK】 >> 【OK】 即新增 Policy
  4. 將此 Policy 移至 any to any policy 之前

新增 3 筆 IP 記錄 設定 Qos User IP List Group 新增完成 設定 Qos Policy 設定 Qos 頻寬 新增 Policy 完成 Policy 往上調

若您想了解此 Policy 套用後使用的頻寬狀況可依如下方式即時顯示該 Policy 頻寬使用情況

 切換到 【Reports】 >> 【Policies】 >> 點選【View Detail】圖示即可即時看到 Policy 頻寬使用情況

查看 Policy 頻寬使用量 頻寬使用量流量圖

CLI 文字介面操作

上述 GUI 圖形介面操作雖然簡單明瞭,若您習慣在 CLI 文字介面下操作即為如下指令

 set address "V1-Trust" "QosUser-A" 192.168.0.100 255.255.255.0
 set address "V1-Trust" "QosUser-B" 192.168.0.113 255.255.255.0
 set address "V1-Trust" "QosUser-C" 192.168.0.150 255.255.255.0
 set group address "V1-Trust" "Qos User IP List"
 set group address "V1-Trust" "Qos User IP List" add "QosUser-A"
 set group address "V1-Trust" "Qos User IP List" add "QosUser-B"
 set group address "V1-Trust" "Qos User IP List" add "QosUser-C"
 set policy id 4 from "V1-Trust" to "V1-Untrust"  "Qos User IP List" "Any" "ANY" permit traffic mbw 200
 set policy id 4

實作3.限制特定網址無法連結 (例如 facebook, plurk)

GUI 圖形介面操作

若公司要防止員工上班種菜浪費公司頻寬您可利用 DNS 方式來阻擋即可,由於是利用 DNS 方式來阻擋因此也必須為您的 Juniper 350M 設定 DNS Server 清單,這樣 Juniper 350M 才能判斷 FQDN 解析後的 IP Address 並進行阻擋

  1. 切換到 【Policy】 >> 【Policy Elements】 >> 【Addresses】 >> 【List】 >> 按下【New】
    1. Address Name 請填入 facebook
    2. 點選【Domain Name】並填入 facebook.com
    3. Zone 請選擇 V1-Untrust
    4. 按下【OK】新增記錄
  2. 切換到 【Policy】 >> 【Policy Elements】 >> 【Addresses】 >> 【List】 >> 按下【New】
    1. Address Name 請填入 plurk
    2. 點選【Domain Name】並填入 plurk.com
    3. Zone 請選擇 V1-Untrust
    4. 按下【OK】新增記錄
  3. 切換到 【Policy】 >> 【Policy Elements】 >> 【Addresses】 >>【Groups】 >> 按下【New】
    1. 新增郡組 Block Sites List 並將剛才新增的二筆資料加入至群組中
  4. 切換到 【Network】 >> 【DNS】 >> 【Host】
    1. Primary DNS Server 請填入 168.95.192.1
    2. Secondary DNS Server 請填入 168.95.1.1
    3. 按下【Apply】即指定 DNS Server 生效,您可按下【Show DNS Lookup Table】即會顯示 facebook.com、plurk.com 其 FQDN 所解析的 IP Address
  5. 切換到 【Policy】 >> 【Policies V1-Trust to V1-Untrust】 >> 按下【New】
    1. Source Address 選擇 Any
    2. Destination Address 選擇剛才新增的群組 Block Sites List
    3. Service 選擇 ANY
    4. Action 選擇 Deny
    5. 按下 OK 即新增 Policy
  6. 記得將 Policy 調整至 any to any policy 之前

新增 facebook 記錄 新增 plurk 記錄 查看 2 筆新增網站記錄 新增 Block Sites List 新增 Group 完成 設定 DNS Server IP 查看 DNS Lookup Table 設定 Policy 新增 Policy 完成

最後由下圖可以看到使用者可正常瀏覽 Yahoo 奇摩網站卻無法瀏覽 facebook.com 及 plurk.com

可連結 Yahoo 無法連結 facebook.com 無法連結 plurk.com

CLI 文字介面操作

上述 GUI 圖形介面操作雖然簡單明瞭,若您習慣在 CLI 文字介面下操作即為如下指令

 set dns host dns1 168.95.192.1
 set dns host dns2 168.95.1.1
 set address "V1-Untrust" "facebook" facebook.com 
 set address "V1-Untrust" "plurk" plurk.com 
 set group address "V1-Untrust" "Block Sites List"
 set group address "V1-Untrust" "Block Sites List" add "facebook"
 set group address "V1-Untrust" "Block Sites List" add "plurk"
 set policy id 5 from "V1-Trust" to "V1-Untrust"  "Any" "Block Sites List" "ANY" deny 
 set policy id 5
 exit

備份設定檔

最後記得備份設定檔,以便發生不可預期錯誤時可快速回復至當初的設定檔

 切換到 【Configuration】 >> 【Update】 >> 【Config File】 >> 按下【Save To File】 即可備份設定檔至目前登入的主機上

備份設定檔

參考

[Juniper 官網範例手冊 for ScreenOS 6.0.0]

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com