इसे छोड़कर कंटेंट पर जाएं

BIG-IP कॉन्फ़िगरेशन

  • (रूट डोमेन 0 उदाहरण)

नीचे दिए गए सभी कमांड BIG-IP पर tmsh में चलाए जाते हैं। ऑब्जेक्ट नाम और IPs आवश्यकतानुसार समायोजित करें।

BIG-IP पर सामान्य GRE टनल कॉन्फ़िगरेशन के लिए, देखें Configuring a GRE Tunnel Using BIG-IP। Cloud के साथ प्रारंभिक रूटेड कॉन्फ़िगरेशन सेटअप के लिए, देखें K000147949

tmsh
[root@bigip:Active]# tmsh
root@(bigip)(cfg-sync Standalone)(Active)(/Common)(tmos)#

GRE एंडपॉइंट

ये प्रत्येक BIG-IP यूनिट पर वे IPs हैं जो GRE टनल एंडपॉइंट के रूप में उपयोग की जाती हैं, आमतौर पर बाहरी VLAN पर। प्रत्येक यूनिट का अपना नॉन-फ्लोटिंग आउटर सेल्फ IP (traffic-group-local-only) होता है:

BIG-IP-A:

tmsh
create net self xc-ddos-v4-self-a \
vlan external \
traffic-group traffic-group-local-only \
allow-service add { icmp:any gre:any } \
address xBIGIP_A_OUTER_V4x/24
create net self xc-ddos-v6-self-a \
vlan external \
traffic-group traffic-group-local-only \
allow-service add { icmp:any gre:any } \
address xBIGIP_A_OUTER_V6x/64

BIG-IP-B:

tmsh
create net self xc-ddos-v4-self-b \
vlan external \
traffic-group traffic-group-local-only \
allow-service add { icmp:any gre:any } \
address xBIGIP_B_OUTER_V4x/24
create net self xc-ddos-v6-self-b \
vlan external \
traffic-group traffic-group-local-only \
allow-service add { icmp:any gre:any } \
address xBIGIP_B_OUTER_V6x/64

प्रत्येक टनल एक BIG-IP यूनिट से Cloud स्क्रबिंग सेंटर एंडपॉइंट की ओर इंगित करती है। HA पेयर में कुल चार लॉजिकल टनल के लिए प्रति यूनिट दो टनल बनाएं (प्रत्येक भू-स्थित स्क्रबिंग सेंटर के लिए एक):

टनल C1-T1 — BIG-IP-A से xCENTER_1x तक:

tmsh
create net tunnels tunnel xc-ddos-c1t1-v4 \
local-address xBIGIP_A_OUTER_V4x \
profile gre \
remote-address xXC_C1_OUTER_V4x
create net tunnels tunnel xc-ddos-c1t1-v6 \
local-address xBIGIP_A_OUTER_V6x \
profile gre \
remote-address xXC_C1_OUTER_V6x

टनल C2-T1 — BIG-IP-A से xCENTER_2x तक:

tmsh
create net tunnels tunnel xc-ddos-c2t1-v4 \
local-address xBIGIP_A_OUTER_V4x \
profile gre \
remote-address xXC_C2_OUTER_V4x
create net tunnels tunnel xc-ddos-c2t1-v6 \
local-address xBIGIP_A_OUTER_V6x \
profile gre \
remote-address xXC_C2_OUTER_V6x

टनल C1-T2 — BIG-IP-B से xCENTER_1x तक:

tmsh
create net tunnels tunnel xc-ddos-c1t2-v4 \
local-address xBIGIP_B_OUTER_V4x \
profile gre \
remote-address xXC_C1_OUTER_V4x
create net tunnels tunnel xc-ddos-c1t2-v6 \
local-address xBIGIP_B_OUTER_V6x \
profile gre \
remote-address xXC_C1_OUTER_V6x

टनल C2-T2 — BIG-IP-B से xCENTER_2x तक:

tmsh
create net tunnels tunnel xc-ddos-c2t2-v4 \
local-address xBIGIP_B_OUTER_V4x \
profile gre \
remote-address xXC_C2_OUTER_V4x
create net tunnels tunnel xc-ddos-c2t2-v6 \
local-address xBIGIP_B_OUTER_V6x \
profile gre \
remote-address xXC_C2_OUTER_V6x

टनल नाम (xc-ddos-c1t1-v4, आदि) मनमाने हैं; अपनी नामकरण परंपरा का उपयोग करें।

GRE एनकैप्सुलेशन ओवरहेड जोड़ता है (IPv4 आउटर के लिए 24 बाइट्स, IPv6 आउटर के लिए 44 बाइट्स)। स्पष्ट MTU के बिना, 1500 बाइट्स के निकट पैकेट फ्रैगमेंट हो जाएंगे या ड्रॉप हो जाएंगे। एनकैप्सुलेशन ओवरहेड को ध्यान में रखते हुए टनल MTU सेट करें:

tmsh
modify net tunnels tunnel xc-ddos-c1t1-v4 mtu 1476
modify net tunnels tunnel xc-ddos-c1t1-v6 mtu 1456
modify net tunnels tunnel xc-ddos-c1t2-v4 mtu 1476
modify net tunnels tunnel xc-ddos-c1t2-v6 mtu 1456
modify net tunnels tunnel xc-ddos-c2t1-v4 mtu 1476
modify net tunnels tunnel xc-ddos-c2t1-v6 mtu 1456
modify net tunnels tunnel xc-ddos-c2t2-v4 mtu 1476
modify net tunnels tunnel xc-ddos-c2t2-v6 mtu 1456

GRE एंटी-स्पूफिंग (अपस्ट्रीम ACLs)

Section titled “GRE एंटी-स्पूफिंग (अपस्ट्रीम ACLs)”

GRE (IP प्रोटोकॉल 47) प्रमाणीकरण प्रदान नहीं करता। जो कोई भी आउटर IP पेयर जानता है वह टनल में ट्रैफ़िक इंजेक्ट कर सकता है। इनबाउंड GRE को केवल अपेक्षित Cloud स्क्रबिंग-सेंटर स्रोत IPs तक सीमित करने के लिए अपस्ट्रीम राउटर या फ़ायरवॉल पर ACLs लागू करें:

Cisco IOS
! Example upstream router ACL (Cisco IOS style)
ip access-list extended ALLOW-XC-GRE
permit gre host xXC_C1_OUTER_V4x host xBIGIP_A_OUTER_V4x
permit gre host xXC_C2_OUTER_V4x host xBIGIP_A_OUTER_V4x
permit gre host xXC_C1_OUTER_V4x host xBIGIP_B_OUTER_V4x
permit gre host xXC_C2_OUTER_V4x host xBIGIP_B_OUTER_V4x
deny gre any host xBIGIP_A_OUTER_V4x log
deny gre any host xBIGIP_B_OUTER_V4x log

इनर सेल्फ-IPs (BGP पीयरिंग)

Section titled “इनर सेल्फ-IPs (BGP पीयरिंग)”

GRE टनल के अंदर इनर IP पते असाइन करें जो Cloud के साथ BGP सत्र बनाएंगे। पीयरिंग सत्र स्थापित करने के लिए allow-service में tcp:179 (BGP) शामिल होना चाहिए। इनर सेल्फ IPs पर icmp:any जोड़ने से टनल के माध्यम से PMTUD और पहुंच परीक्षण सक्षम होता है:

टनल C1-T1 — BIG-IP-A से xCENTER_1x तक:

tmsh
create net self xc-ddos-c1t1-inner-v4 \
vlan xc-ddos-c1t1-v4 \
traffic-group traffic-group-local-only \
allow-service add { tcp:179 icmp:any } \
address xBIGIP_C1_T1_INNER_V4x/30
create net self xc-ddos-c1t1-inner-v6 \
vlan xc-ddos-c1t1-v6 \
traffic-group traffic-group-local-only \
allow-service add { tcp:179 icmp:any } \
address xBIGIP_C1_T1_INNER_V6x/64

टनल C2-T1 — BIG-IP-A से xCENTER_2x तक:

tmsh
create net self xc-ddos-c2t1-inner-v4 \
vlan xc-ddos-c2t1-v4 \
traffic-group traffic-group-local-only \
allow-service add { tcp:179 icmp:any } \
address xBIGIP_C2_T1_INNER_V4x/30
create net self xc-ddos-c2t1-inner-v6 \
vlan xc-ddos-c2t1-v6 \
traffic-group traffic-group-local-only \
allow-service add { tcp:179 icmp:any } \
address xBIGIP_C2_T1_INNER_V6x/64

टनल C1-T2 — BIG-IP-B से xCENTER_1x तक:

tmsh
create net self xc-ddos-c1t2-inner-v4 \
vlan xc-ddos-c1t2-v4 \
traffic-group traffic-group-local-only \
allow-service add { tcp:179 icmp:any } \
address xBIGIP_C1_T2_INNER_V4x/30
create net self xc-ddos-c1t2-inner-v6 \
vlan xc-ddos-c1t2-v6 \
traffic-group traffic-group-local-only \
allow-service add { tcp:179 icmp:any } \
address xBIGIP_C1_T2_INNER_V6x/64

टनल C2-T2 — BIG-IP-B से xCENTER_2x तक:

tmsh
create net self xc-ddos-c2t2-inner-v4 \
vlan xc-ddos-c2t2-v4 \
traffic-group traffic-group-local-only \
allow-service add { tcp:179 icmp:any } \
address xBIGIP_C2_T2_INNER_V4x/30
create net self xc-ddos-c2t2-inner-v6 \
vlan xc-ddos-c2t2-v6 \
traffic-group traffic-group-local-only \
allow-service add { tcp:179 icmp:any } \
address xBIGIP_C2_T2_INNER_V6x/64

रूट डोमेन 0 के लिए BGP कॉन्फ़िगर करने के लिए imish का उपयोग करें।

  1. RD 0 के लिए imish में प्रवेश करें:

    bash
    tmsh run /util imish -r 0
  2. प्रिविलेज्ड और कॉन्फ़िग मोड में प्रवेश करें:

    imish
    localhost.localdomain[0]> enable
    localhost.localdomain[0]# configure terminal
  3. BGP कॉन्फ़िगरेशन उदाहरण:

BIG-IP-A (router-id xBIGIP_A_OUTER_V4x, नेबर C1-T1 + C2-T1):

imish
router bgp xCUSTOMER_ASNx
no synchronization
bgp log-neighbor-changes
no auto-summary
bgp router-id xBIGIP_A_OUTER_V4x
bgp graceful-restart restart-time 120
redistribute kernel route-map route-to-cloud-ipv4
neighbor cloud peer-group
neighbor cloud remote-as xF5_XC_ASNx
neighbor cloud description cloud-peer-group
neighbor cloud password xBGP_PASSWORDx
neighbor cloud timers 10 30
neighbor cloud soft-reconfiguration inbound
neighbor cloud version 4
neighbor cloud capability graceful-restart
neighbor cloud send-community
neighbor cloud ttl-security hops 1
neighbor cloud maximum-prefix 10 warning-only
neighbor cloud prefix-list deny-all in
neighbor cloud prefix-list route-to-cloud-ipv4 out
neighbor xXC_C1_T1_INNER_V4x peer-group cloud
neighbor xXC_C1_T1_INNER_V4x description cloud-c1-t1-v4
neighbor xXC_C2_T1_INNER_V4x peer-group cloud
neighbor xXC_C2_T1_INNER_V4x description cloud-c2-t1-v4
address-family ipv6
redistribute kernel route-map route-to-cloud-ipv6
neighbor cloud activate
neighbor cloud soft-reconfiguration inbound
neighbor cloud capability graceful-restart
neighbor cloud prefix-list deny-all6 in
neighbor cloud prefix-list route-to-cloud-ipv6 out
neighbor xXC_C1_T1_INNER_V6x peer-group cloud
neighbor xXC_C1_T1_INNER_V6x description cloud-c1-t1-v6
neighbor xXC_C2_T1_INNER_V6x peer-group cloud
neighbor xXC_C2_T1_INNER_V6x description cloud-c2-t1-v6
exit-address-family
ip prefix-list deny-all deny 0.0.0.0/0 le 32
ip prefix-list route-to-cloud-ipv4 permit xPROTECTED_PREFIX_V4x
ipv6 prefix-list deny-all6 deny ::/0 le 128
ipv6 prefix-list route-to-cloud-ipv6 permit xPROTECTED_PREFIX_V6x
ip route xPROTECTED_NET_V4x xPROTECTED_MASK_V4x null0 201
ipv6 route xPROTECTED_PREFIX_V6x null0 201
route-map route-to-cloud-ipv4 permit 10
match ip address prefix-list route-to-cloud-ipv4
set origin igp
route-map route-to-cloud-ipv6 permit 10
match ipv6 address prefix-list route-to-cloud-ipv6
set origin igp

BIG-IP-B (router-id xBIGIP_B_OUTER_V4x, नेबर C1-T2 + C2-T2):

imish
router bgp xCUSTOMER_ASNx
no synchronization
bgp log-neighbor-changes
no auto-summary
bgp router-id xBIGIP_B_OUTER_V4x
bgp graceful-restart restart-time 120
redistribute kernel route-map route-to-cloud-ipv4
neighbor cloud peer-group
neighbor cloud remote-as xF5_XC_ASNx
neighbor cloud description cloud-peer-group
neighbor cloud password xBGP_PASSWORDx
neighbor cloud timers 10 30
neighbor cloud soft-reconfiguration inbound
neighbor cloud version 4
neighbor cloud capability graceful-restart
neighbor cloud send-community
neighbor cloud ttl-security hops 1
neighbor cloud maximum-prefix 10 warning-only
neighbor cloud prefix-list deny-all in
neighbor cloud prefix-list route-to-cloud-ipv4 out
neighbor xXC_C1_T2_INNER_V4x peer-group cloud
neighbor xXC_C1_T2_INNER_V4x description cloud-c1-t2-v4
neighbor xXC_C2_T2_INNER_V4x peer-group cloud
neighbor xXC_C2_T2_INNER_V4x description cloud-c2-t2-v4
address-family ipv6
redistribute kernel route-map route-to-cloud-ipv6
neighbor cloud activate
neighbor cloud soft-reconfiguration inbound
neighbor cloud capability graceful-restart
neighbor cloud prefix-list deny-all6 in
neighbor cloud prefix-list route-to-cloud-ipv6 out
neighbor xXC_C1_T2_INNER_V6x peer-group cloud
neighbor xXC_C1_T2_INNER_V6x description cloud-c1-t2-v6
neighbor xXC_C2_T2_INNER_V6x peer-group cloud
neighbor xXC_C2_T2_INNER_V6x description cloud-c2-t2-v6
exit-address-family
ip prefix-list deny-all deny 0.0.0.0/0 le 32
ip prefix-list route-to-cloud-ipv4 permit xPROTECTED_PREFIX_V4x
ipv6 prefix-list deny-all6 deny ::/0 le 128
ipv6 prefix-list route-to-cloud-ipv6 permit xPROTECTED_PREFIX_V6x
ip route xPROTECTED_NET_V4x xPROTECTED_MASK_V4x null0 201
ipv6 route xPROTECTED_PREFIX_V6x null0 201
route-map route-to-cloud-ipv4 permit 10
match ip address prefix-list route-to-cloud-ipv4
set origin igp
route-map route-to-cloud-ipv6 permit 10
match ipv6 address prefix-list route-to-cloud-ipv6
set origin igp

मुख्य BGP सेटिंग्स की व्याख्या:

  • timers 10 30 — हर 10 सेकंड पर Keepalive, होल्ड टाइम 30 सेकंड। डिफ़ॉल्ट (60 / 180) DDoS शमन फेलओवर के लिए बहुत धीमा है। दोनों पक्षों से मिलान के लिए SOC के साथ टाइमर मान समन्वित करें।
  • ttl-security hops 1 — GTSM सक्षम करता है (RFC 5082)। चूंकि BGP सत्र GRE टनल पर सिंगल-हॉप हैं, यह इनकमिंग BGP पैकेट पर TTL = 255 की आवश्यकता करके रिमोट BGP स्पूफिंग को रोकता है।
  • maximum-prefix 10 warning-only — डिफेंस-इन-डेप्थ सुरक्षा। भले ही इनबाउंड प्रीफ़िक्स-लिस्ट सभी रूट अस्वीकार करती है, यह चेतावनी उत्पन्न करता है यदि पीयर अप्रत्याशित रूप से प्रीफ़िक्स भेजे।
  • redistribute kernel — रूट-मैप के माध्यम से null0 स्टेटिक रूट को BGP में इंजेक्ट करता है। एक विकल्प स्पष्ट network स्टेटमेंट का उपयोग करना है (जैसे network xPROTECTED_PREFIX_V4x), जो अधिक सटीक हैं क्योंकि अन्य कर्नेल रूट की परवाह किए बिना केवल सटीक प्रीफ़िक्स विज्ञापित किया जाता है। दोनों दृष्टिकोण काम करते हैं; यहाँ लचीलेपन के लिए सख्त रूट-मैप के साथ redistribute kernel दिखाया गया है।

उच्च प्रशासनिक दूरी (201) के साथ null0 स्टेटिक रूट यह सुनिश्चित करते हैं कि प्रीफ़िक्स कर्नेल राउटिंग टेबल में मौजूद हों, ताकि गैर-हमले की स्थितियों में सामान्य राउटिंग को प्रभावित किए बिना BGP के माध्यम से Cloud को पुनर्वितरित किया जा सके। यदि संरक्षित प्रीफ़िक्स पहले से किसी अन्य स्रोत से कम प्रशासनिक दूरी के साथ राउटिंग टेबल में मौजूद है, तो null0 रूट सक्रिय नहीं होगा और पुनर्वितरण विफल हो सकता है — कॉन्फ़िगरेशन के बाद show ip route से सत्यापित करें।