FortiADC GLB Deployment Guide
FortiADC GLB Deployment Guide
Copyright© Fortinet, Inc. All rights reserved. Fortinet®, FortiGate®, FortiCare® and FortiGuard®, and certain other marks are registered trademarks of
Fortinet, Inc., in the U.S. and other jurisdictions, and other Fortinet names herein may also be registered and/or common law trademarks of Fortinet. All other
product or company names may be trademarks of their respective owners. Performance and other metrics contained herein were attained in internal lab tests
under ideal conditions, and actual performance and other results may vary. Network variables, different network environments and other conditions may affect
performance results. Nothing herein represents any binding commitment by Fortinet, and Fortinet disclaims all warranties, whether express or implied, except
to the extent Fortinet enters a binding written contract, signed by Fortinet’s General Counsel, with a purchaser that expressly warrants that the identified
product will perform according to certain expressly-identified performance metrics and, in such event, only the specific performance metrics expressly
identified in such binding written contract shall be binding on Fortinet. For absolute clarity, any such warranty will be limited to performance in the same ideal
conditions as in Fortinet’s internal lab tests. In no event does Fortinet make any commitment related to future deliverables, features, or development, and
circumstances may change such that any forward-looking statements herein are not accurate. Fortinet disclaims in full any covenants, representations, and
guarantees pursuant hereto, whether express or implied. Fortinet reserves the right to change, modify, transfer, or otherwise revise this publication without
notice, and the most current version of the publication shall be applicable.
2 FORTIADC
FAST. SECURE. GLOBAL
TABLE OF CONTENTS
FORTIADC 3
FAST. SECURE. GLOBAL
This guide details the steps required to configure a Global Load Balancer in FortiADC. It covers the
configuration of Global Load Balance server, host and policy. For more information, please also refer to
the relevant Administration Manual.
Topology:
In 5.1 version, it provides an easy way to deploy GLB server for new user using only three steps.
4 FORTIADC
FAST. SECURE. GLOBAL
Start with:
Go to Global Load Balance. Look for a green tab with “Global Load Balance Wizard”.
Step 1:
In Server, configure the Name, Address, and Data Center Location.
Step 2:
In Virtual Server Pool, configure the Name, Preferred and Alternate. Discover the server members that
previously configured in Server, and select from the given list.
FORTIADC 5
FAST. SECURE. GLOBAL
Step 3:
It is required to specify the Name, Host Name, and Domain Name. You can also, if you want, specify the
Default Feedback IPv4 or Default Feedback IPv6.
6 FORTIADC
FAST. SECURE. GLOBAL
FORTIADC 7
FAST. SECURE. GLOBAL
8 FORTIADC
FAST. SECURE. GLOBAL
Data Center:
Data Center defines the location used in GLB Server. If GEO related method is selected in Virtual Server
Pool or Host, it will respond with the available Virtual Server based on location in data center.
GUI:
Click the Data Center tab. Click “Add” to add the new item.
FORTIADC 9
FAST. SECURE. GLOBAL
CLI:
config global-load-balance data-center
edit "DataCenter1"
set location CN
next
edit "DataCenter2"
set location US
next
end
Link: (optional)
Link is used for DNS Query Origin Virtual Server Pool Selection Method in Host and RTT/GEO-ISP
method in Virtual Server Pool. It defines the Server Gateway to ISP.
GUI:
Click the Link tab. Click “Add” to add the new item “ISP1” and “ISP2”. After creating server and
discovering the gateway, we can add SLB gateway into Link.
CLI:
config global-load-balance link
edit "ISP1"
set data-center DataCenter1
set isp <CN-ISP> It has three main CN ISP library by default in ADC
config gateway
end
next
edit "ISP2"
10 FORTIADC
FAST. SECURE. GLOBAL
GLB Server means a remote server with type FortiADC SLB or a third party Generic Host. Server IP
with 127.0.0.1 or 0.0.0.0 refers to local SLB. We suggest adding virtual server members from the
same server into one GLB server to minimize the additional CPU and memory utilization. Every
single GLB server contains all of the virtual servers, so there is no need to configure multiple GLB
servers for each virtual server.
GLB can discover Server members and update member information automatically if auto-sync is enabled.
FortiADC supports authentication between GLB and SLB by TCP MD5SIG and Auth_Verify type. Server
members and information can’t be discovered or updated if authentication is fail. (In SLB server, the
place to set GLB authentication is in FQDB Settings => GLB Setting).
GUI:
Click the Server tab. Add a new item with Server IP address/Data Center and save. (If GLB can get
connection with SLB, SLB’s gateway can be added into link in step1=> Link)
CLI:
config global-load-balance servers
edit "SLB1"
set ip 10.106.129.95 => SLB1 IP
set data-center DataCenter1
config virtual-server-list
end
next
FORTIADC 11
FAST. SECURE. GLOBAL
edit "SLB2"
set ip 10.106.129.100 => SLB2 IP
set data-center DataCenter2
config virtual-server-list
end
next
end
12 FORTIADC
FAST. SECURE. GLOBAL
Method 3:
Click “Create New” in Server and add Server member information manually.
If the added member exists in SLB, GLB will sync the status. Otherwise shows
“unknown”.
FORTIADC 13
FAST. SECURE. GLOBAL
The virtual server pool configuration defines the set of virtual servers that can be matched in DNS
resource records.
GUI:
Go to Global Load Balance > FQDN Settings, click the Virtual Server Pool tab and add virtual server
member into Virtual Server Pool.
The user can select between kinds of preferred or alternate methods for their Virtual Server, based on
current connection, location, etc.
CLI:
config global-load-balance virtual-server-pool
edit "GLB-VSP-APP1"
config member
edit 1
set server SLB1
set server-member-name APP1_SLB1_VS1
next
edit 2
set server SLB2
set server-member-name APP1_SLB2_VS1
next
end
next
edit "GLB-VSP-APP2"
14 FORTIADC
FAST. SECURE. GLOBAL
Host settings are used to form the zone configuration and resource records, in the generated global
balancing DNS zone.
GUI:
Go to Global Load Balance > FQDN Settings, click the Host tab and add virtual server pool into Host.
If DNS Policy is selected here in Host, we can skip step five, DNS Policy.
CLI:
config global-load-balance host
edit "host_APP1"
set host-name www
set domain-name example.com.
config virtual-server-pool-list
edit "APP1_VSP"
set virtual-server-pool GLB-VSP-APP1
next
end
next
end
FORTIADC 15
FAST. SECURE. GLOBAL
Zone:
From step 4, the generated zone’s GUI and CLI are as below (fqdn records not show in CLI, but can see
in GUI):
GUI:
CLI:
config global-dns-server zone
edit "fqdn_generate_example.com."
set type fqdn-generate
set domain-name example.com.
set responsible-mail defaultroot
set primary-server-name defaultprimary
set primary-server-ip 127.0.0.1
config a-aaaa-record
16 FORTIADC
FAST. SECURE. GLOBAL
end
…
end
next
end
Policy:
The Global DNS policy is rule-based and matches traffic to DNS zones. If the traffic matches both source
and destination, the policy will serve it.
In 5.1, FortiADC will generate one default DNS policy if no policy exists. User can use this one or create a
new policy.
GUI:
Go to Global Load Balance > Zone Tools, click the Global DNS Policy tab and add available zone into
zone list.
CLI:
config global-dns-server policy
edit "DEFAULT_DNS_POLICY"
set source-address any
set destination-address any
set zone-list fqdn_generate_example.com.
next
end
GLB DNS can’t work if it’s disabled in Global DNS configuration by default. So this step is very important!
FORTIADC 17
FAST. SECURE. GLOBAL
GUI:
Go to Global Load Balance->Zone Tools->General Settings, enable the "Global DNS Configuration"
CLI:
config global-dns-server general
set gds-status enable
end
Send DNS request and check the DNS response is as expected (Please refer 2.3.2 for DNS process).
To verify whether the GSLB works as what we expect, there is a wonderful tool for us -- dig. "dig" is a kind
of tool which can be used to test DNS server. Dig can supply almost all the features we need for DNS. It
is installed on most Linux devices by default. For Windows, you can get the installation package on
https://www.isc.org or use nslookup to check.
Linux (dig):
Send DNS request from Client to GLB device (do not use management interface).
Example1: The DNS request can match the GLB host and domain name
Result:
18 FORTIADC
FAST. SECURE. GLOBAL
Example2: The DNS request can match the GLB domain name, but no host
name matches.
Result:
FORTIADC 19
FAST. SECURE. GLOBAL
GLB server will do forward and recursion if network is available and get answer.
Windows (nslookup):
20 FORTIADC
FAST. SECURE. GLOBAL
Unknown: All virtual server are unknown (VS not exists in SLB or other condition)
FORTIADC 21
FAST. SECURE. GLOBAL
Go to FortiADC console and send DNS request to self. Check whether the request can be responsed.
Enable GLB related log in Log & Report > Log Setting
If GLB remote server or server member changes status, it shows in event log.
22 FORTIADC
FAST. SECURE. GLOBAL
After debug log is enabled, more detail log will not be printed directly in console, but more server
information and log can be seen in backend. /tmp/gicd.log includes server member current throughput,
connection and others. We can also see server and member status.
FORTIADC 23