(課堂筆記)第十一章:F5 BIG-IP outbound配置



------outbound Traffic鏈路負載分析----------
1.1 傳統出口ISP選路思路
1.2 注意事項
------outbound Traffic鏈路負載配置----------
2.1 創建outbound Gateway負載池
2.2 Gateway Pool Monitor優化
2.3 創建outbound選路策略iRules
2.4 創建outbound SNAT Pool
2.5 SNAT pool參數優化
2.6 創建outbound SNAT策略iRules
2.7 創建outbound virtual Server
------Inbound Traffic IP過濾配置------------
3.1 創建iRules Data group
3.2 創建iRules
3.3 將iRules調用去Virtual Server


 
------outbound Traffic鏈路負載分析----------
 1.1 傳統出口ISP選路思路:等價路由——>選網關——>使用對應公網IP做SNAT
 1.2 注意事項:
    《1》掌握運營商線路狀況及IP和網關;
    《2》了解希望想要的outbound策略:
        a 用戶訪問公網ISP1資源時,選擇ISP1出口
        b 用戶訪問公網ISP2資源時,選擇ISP2出口
        c 用戶訪問公網非ISP1-ISP2資源時,隨機選擇出口
        d 兩條出口鏈路間互為冗余備份
        e 是否有郵件服務器或其他需要單獨綁定出口或NAT ip的客戶端
    《3》基於目的地址做鏈路選擇的話,則前提需要有全球Geolocation地址庫。
        a F5與第三方地址庫 neustar(Quova)合作,定期更新地址庫信息,需要手動進行地址庫更新;    
        b BIG-IP設備不支持自動更新庫,需要到官網登錄賬號后,選擇BIG-IP后下載;

          c 演示在LTM如何更新Geolocation地址庫及查詢:
        (1)將官網下載的ip-geolocation-v2-2.0.0-20201005.468.0.zip傳入LTM內(這里以/tmp目錄為例)
        (2)解壓文件:#unzip ip-geolocation-v2-2.0.0-20201005.468.0.zip
        (3)安裝rpm包以便更新:#geoip_update_date -f + 解壓后的三個文件名,輪流安裝;
                V12版本后安裝后的目錄在/shared/GeoIP/v2,V12版本前的在/shared/GeoIP
        (4)查詢IP:
        #cd
        #cd /share/Geoip/v2,目錄下 #geoip_lookup -f /shared/GeoIP/v2/F5GeoIPOrg.dat +要查詢的IP
        
        [root@DC2-F5-LTM:Active:Standalone] v2 # geoip_lookup -f /shared/GeoIP/v2/F5GeoIPOrg.dat 114.114.114.114
        Will attempt to lookup ip '114.114.114.114'
        opening database in /shared/GeoIP/v2/F5GeoIPOrg.dat
        size of geoip database = 205901316, segments = 13511842, version = Copyright (c) F5 Networks Inc, All Rights Reserved GEOIP2 v1, 20201005
        geoip_seek = 000da0be
        geoip record ip = 114.114.114.114
        name = nanjing xinfeng information technologies inc.
        Scope = 16
        [root@DC2-F5-LTM:Active:Standalone] v2 #

 

 

 

 




------outbound Traffic鏈路負載配置----------
    (DC2-F5-DNS)
 2.1 創建outbound Gateway負載池
    ”Local traffic“-”POOL"-“POOL list”-“news pool”
    
    name填寫"ISP1P2S "
    active選擇“gateway_icmp"
    prioity Group Activation選擇“less than”
    New Members選擇“New Node”
    Node name填寫“ISP1-GW”
    Address填寫“62.129.0.1”
    Service Port選擇“ALL Services”
    Prioity填寫“10”,點擊“Add”
    New Members選擇“New Node”
    Node name填寫“ISP2-GW”
    Address填寫“129.62.0.1”
    Service Port選擇“ALL Services”
    Prioity填寫“5”,點擊“Add"最后點擊Finish完成
    
    name填寫"ISP2P1S "
    active選擇“gateway_icmp"
    prioity Group Activation選擇“less than”
    New Members選擇“New Node”
    Node name填寫“ISP1-GW”
    Address填寫“62.129.0.1”
    Service Port選擇“ALL Services”
    Prioity填寫“5”,點擊“Add”
    New Members選擇“New Node”
    Node name填寫“ISP2-GW”
    Address填寫“129.62.0.1”
    Service Port選擇“ALL Services”
    Prioity填寫“10”,點擊“Add"最后點擊Finish完成
    
    name填寫"non-ISP1-ISP2"
    active選擇“gateway_icmp"
    New Members選擇“New Node”
    Node name填寫“ISP1-GW”
    Address填寫“62.129.0.1”
    Service Port選擇“ALL Services”,點擊“Add”
    New Members選擇“New Node”
    Node name填寫“ISP2-GW”
    Address填寫“129.62.0.1”
    Service Port選擇“ALL Services”,點擊“Add"最后點擊Finish完成
    
    
2.2 Gateway Pool Monitor優化
    transparent icmp monitors:傳統ping測防火牆IP來檢測防火牆狀態,而透明icmp檢測通過ping測遠程IP(經過防火牆)來間接檢驗防火牆功能是否正常運行,而避免出現防火牆上聯出問題而防火牆IP正常的情況下LTM不切換;
    
    配置:DC2-F5-DNS上
    ”Local traffic“-“Monitors”-“New Monitors”
    name填寫“transparent-icmp”
    Type選擇“Gateway icmp”
    transparent選擇“Yes”
    Alias Address填寫監控的遠程IP”8.8.8.8“
    最后點擊Finish完成

    ”Local traffic“-“Pools”-“Pool list ”中,針對《1》新增三個”ISP1P2S“、”ISP2P1S“、"non-ISP1-ISP2"中的其中2個”ISP1P2S“、”ISP2P1S“操作如下:
    點擊進去,查找configurations中Health Monitors子項內,在原有的《1》“Gateway_icmp"新增加“transparent_icmp”
    
2.3 創建outbound選路策略iRules
    使用iRules將去往63.130開頭的流量走ISP1;去往130.63開頭的流量走向IPS2。
    針對本次拓撲用不到全球Geolocation地址庫,對現有拓撲規划的外網地址分配,使用iRules的Date Group功能;
    配置:DC2-F5-DNS上
    ”Local traffic“-“Date Group”-“Add“
    name填寫“ISP1”
    Type選擇“Address”
    Address Records中Address填寫“63.130.0.0/24”,並點擊“Add”及“Finishi“完成
    
    name填寫“ISP2”
    Type選擇“Address”
    Address Records中Address填寫“130.63.0.0/24”,並點擊“Add”及“Finishi“完成
    
    “Local Traffic”-“iRule List”-“New iRule”
    name填寫“LB-GW”
    

when CLIENT_ACCEPTED {
 if{[class match [IP::local_addr] equals ISP1] }{
 pool ISP1P2S} 
 elseif {class match [IP::local_addr] equals ISP2] }{
 pool ISP2P1S}
 else {pool not-isp1-isp2}
 }

   
    最后點擊Finish完成
    
2.4 創建outbound SNAT Pool
    ”Local traffic“-”Address Translation"-“SNAT POOL list”-"Add"
    name填寫"ISP1-62-129-0-6"
    Member list中IP address填寫62.129.0.6,點擊“Add”,點擊Repeat下一個;
    
    name填寫"ISP2-129-62-0-6"
    Member list中IP address填寫129.62.0.6,點擊“Add”,最后點擊Finish完成
    

2.5 SNAT pool參數優化
    
    插入知識點:ISP線路流量切換因素-SNAT表項存活時間
    
    F5雙ISP時,當流量走ISP時,發生端口斷開,但會話將不會自動切換到ISP2上,而是等待SNAT表項存活時間結束后
    SNAT表項存活時間。
    SNAT表項存活時間定義是根據協議來定,不同的協議存活時間也不同,默認為:
    udp and ip層包 300s
    TCP 136years
    
    配置:
    ”Local traffic“-”Address Translation"-“SNAT traslation list”-點擊剛才新創建的2個snat pool池的IP(62.129.0.6及129.62.0.6):
    ”UDP idle timeout“選擇“specify”,120S(針對本次實驗)
    IP idle timeout選擇“specify”,120S(針對本次實驗)
    
    
2.6 創建outbound SNAT策略iRules
    name填寫“SNAT”
    

when LB_SELECTED {
if { [IP::addr [LB::server addr] equals 62.129.0.1 ] } {
log local0."Destion ip:[clientside {IP::local_addr}]"
log local0."Source ip:[clientside {IP::remote_addr}]"
log local0."Gw ip:[LB::server addr]"
snatpool ISP1-62-129-0-6
}
elseif {[Ip::addr [LB::server addr] equals 129.62.0.1] } {
    snatpool ISP2 129-62-0-6
} 
else {
    snat Automap
    }
}

   
    最后點擊Finish完成
    
    另外一通過查詢全球庫Geo(可選):這里不演示
    
2.7 創建outbound virtual Server
    先到DC2-F5-DNS上刪除掉原來給LAMP做的主動訪問internet的公網SNAT list(62.129.0.5、129.62.0.5),以免有沖突。
    
    ”Local traffic“-”virtual Server"-"Add"
    name填寫"Inter2Out"
    Type選擇“Performance(Layer4)”
    sourece address填寫“172.16.20.5”
    Destion Address/Mask填寫“0.0.0.0/0”
    Service port選擇“*ALL ports”
    protocol選擇“ALL Protocols”
    VLAN and Tunnel Traffic選擇“Enable on”
    VLANS and Tunnels選擇LTM的上聯口untag的vlan
    Source Address Translation選擇“None”,因為后期要通過iRulse來做SNAT
    *(非常關鍵)拉上去configurations選擇“Advanced(高級)”
        Addres translation 不勾;
        Port translation 不勾。
        (不勾是因為當server訪問外網時,目的地址無論在哪個環節都不變;)
        (Performance(Layer4)默認是打開的,而IP Forwarding默認是關閉的)
    iRules先掛LB-GW,再掛SNAT
    
    最后點擊Finish完成
    
驗證環節:
《1》首選保證10.1.20.0/24的XP1上能ping通ISP1-XP1和ISP2-XP1;
《2》DC2-F5-DNS上查看SNAT表項:tmsh show sys connection virtual-server Inter2Out,找到《1》步驟中對icmp包轉換的條目;
《3》DC2-F5-DNS上查看log日志:tail /var/log/ltm 查看在步驟《6》中寫的IRules記錄到系統的日志的記錄;
《4》可調整NAT表項存活時間,或者手動清除NAT表項:tmsh delete sys connection virtual-server Inter2Out



------Inbound Traffic IP過濾配置------------
*需要提前DC2-F5-LTM安裝geoip庫
原理:利用geoip庫,解析到ISP1 63.130為美國地區,行為記錄並丟棄;而130.63為加拿大地區,則不影響訪問

3.1 創建iRules Data group

    “Local Traffic”-"iRules"-"Add"
    name填寫"US-IP"
    value填寫“US”
    點擊"Add",最后Update完成。
    

3.2 創建iRules

    “Local Traffic”-"iRules List"-"Add"
    nane填寫“Block-USIP”

when CLIENT_ACCEPTED {
    set ipaddr [IP::client_addr]
    set clinentip [whereis $ipaddr country]
    if { [class match $clinentip equals US-IP] } {
        log local0. "Attacker IP [IP::client_addr]"  ;
        drop
    }
}

    點擊Finish完成。
    參考文檔:https://support.f5.com/csp/article/K43383890
    
3.3 將iRules調用去Virtual Server
    “Local Traffic”-"Virtual Servers"-"Virtual Server List"
    選擇“http-server2”(172.16.20.4)-“Resources”-“iRules”-加上“Block-USIP”

驗證環節:
1.ISP1主機63.130.0.100主機訪問DC2 LAMP失敗,ISP2主機130.63.0.100成功;
2.LTM的命令行下tail /var/log/ltm 發現有"Attacker IP”的日志;



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM