ユースケース 7:IP Over IPを使用して、DSRモードで負荷分散を構成する
-
負荷分散仮想サーバーを作成します。モードを IPTUNNEL に設定し、セッションレストラッキングを有効にします。
-
サービスを作成します。バックエンドアプリケーションごとにサービスを作成し、サービスを仮想サーバーにバインドします。
-
カプセル化解除を設定します。Citrix ADCアプライアンスまたはバックエンドサーバーのいずれかをカプセル化解除機能として構成します。注:Citrix ADCアプライアンスを使用する場合、カプセル化解除の設定は、バックエンドがL2DSRを実サーバーに対して行うADCアプライアンス間のIPトンネルです。
負荷分散仮想サーバーの構成
コマンドラインインターフェイスを使用して IP over IP DSR 用の負荷分散仮想サーバーを作成および構成するには
add lb vserver <name> serviceType <serviceType> IPAddress <ip> Port <port> -lbMethod <method> -m <ipTunnelTag> -sessionless [ENABLED | DISABLED]
show lb vserver <name>
add lb vserver Vserver-LB-1 ANY 1.1.1.80 * -lbMethod SourceIPHash -m IPTUNNEL -sessionless ENABLED
GUI を使用して IP over IP DSR の負荷分散仮想サーバーを作成および構成するには
IP 経由の IP DSR のサービスを構成する
コマンドラインインターフェイスを使用して IP over IP DSR 用のサービスを作成および構成するには
add service <serviceName> <serverName> <serviceType> <port> -usip <usip>
add monitor <monitorName> <monitorType> -destip <ip> -iptunnel <iptunnel>
bind service <serviceName> -monitorName <monitorName>
add monitor mon_DSR PING -destip 1.1.1.80 -iptunnel yes
add service svc_DSR01 2.2.2.100 ANY * -usip yes
bind service svc_DSR01 -monitorName mon_DSR
add ns ip 10.0.1.2 255.255.255.252 -vServer DISABLED
add netProfile netProfile_DSR -srcIP 10.0.1.2
add lb monitor mon_DSR PING -LRTM DISABLED -destIP 1.1.1.80 -ipTunnel YES -netProfile netProfile_DSR
GUIを使用してモニターを構成するには
GUI を使用して IP over IP DSR のサービスを作成および構成するには
コマンドラインインターフェイスを使用してサービスを負荷分散仮想サーバーにバインドするには
bind lb vserver <name> <serviceName>
bind lb vserver Vserver-LB-1 Service-DSR-1
GUI を使用してサービスを負荷分散仮想サーバーにバインドするには
トンネルパケットの Outer ヘッダーでのクライアント IP アドレスの使用
CLI を使用してクライアント-送信元 IP アドレスを送信元 IP アドレスとして使用するには
-
set iptunnelparam -useclientsourceip [YES | NO] -
show iptunnelparam
GUI を使用してクライアントの送信元 IP アドレスを送信元 IP アドレスとして使用するには
CLI を使用してクライアントの送信元 IP アドレスを送信元 IP アドレスとして使用するには
-
set ip6tunnelparam -useclientsourceip [YES | NO] -
show ip6tunnelparam
GUI を使用してクライアントの送信元 IP アドレスを送信元 IP アドレスとして使用するには
カプセル化解除設定
NetScaler カプセル化解除
-
最初の仮想サーバがカプセル化されたパケットを受信し、外部 IP カプセル化を削除します。
-
2 番目の仮想サーバは、フロントエンド ADC 上の元のサービスのIPを持ち、MAC 変換を使用して、バインドされたサービスの MAC アドレスを使用してパケットをバックエンドに転送します。このセットアップは、通常 L2DSR と呼ばれます。この仮想サーバで ARP を無効にします。
add service svc_DSR01 2.2.2.80 ANY * -usip YES -useproxyport NO
add lb vserver vip_DSR_ENCAP ANY 1.1.1.80 * -lbMethod SOURCEIPHASH -m IPTUNNEL -sessionless ENABLED
bind lb vserver vip_DSR_ENCAP svc_DSR01
add ipTunnel DSR-IPIP 1.1.1.100 255.255.255.255 *
add service svc_DSR01_01 2.2.2.101 ANY * -usip YES -useproxyport NO
add service svc_DSR01_02 2.2.2.102 ANY * -usip YES -useproxyport NO
add service svc_DSR01_03 2.2.2.103 ANY * -usip YES -useproxyport NO
add lb vserver vs_DSR_DECAP ANY 2.2.2.80 * -lbMethod SOURCEIPHASH -m IPTUNNEL -sessionless ENABLED -netProfile netProf_DSR_MBF_noIP
add ns ip 1.1.1.80 255.255.255.255 -type VIP -arp DISABLED -snmp DISABLED
add lb vserver vs_DSR_Relay ANY 1.1.1.80 * -lbMethod SOURCEIPHASH -m MAC -sessionless ENABLED
bind lb vserver vs_DSR_DECAP svc_DSR01_01
bind lb vserver vs_DSR_DECAP svc_DSR01_02
bind lb vserver vs_DSR_DECAP svc_DSR01_03
bind lb vserver vip_DSR_Relay svc_DSR01_01
bind lb vserver vip_DSR_Relay svc_DSR01_02
bind lb vserver vip_DSR_Relay svc_DSR01_03
add netProfile netProf_DSR_MBF_noIP -MBF ENABLED
add lb monitor mon_DSR_MAC PING -netProfile netProf_DSR_MBF_noIP
bind service svc_DSR01_01 -monitorName mon_DSR_MAC
bind service svc_DSR01_02 -monitorName mon_DSR_MAC
bind service svc_DSR01_03 -monitorName mon_DSR_MAC
sudo ip addr add 1.1.1.80 255.255.255.255 dev lo
sudo sysctl net.ipv4.conf.all.arp_ignore=1
sudo sysctl net.ipv4.conf.all.arp_announce=2
sudo sysctl net.ipv4.conf.eth4.rp_filter=2 (The interface has the external IP with route towards the ADC)
sudo sysctl net.ipv4.conf.all.forwarding=1
sudo ip link set dev lo arp on
バックエンドサーバーのカプセル化解除
-
サービス IP の IP を使用してループバックインターフェイスを設定します。
-
トンネルインターフェイスを作成します。
-
トンネルインターフェイスを介したルートを追加します。
-
トラフィックに必要なインターフェイス設定を構成します。
add ns ip 10.0.1.2 255.255.255.252 -vServer DISABLED
add netProfile netProfile_DSR -srcIP 10.0.1.2
add lb monitor mon_DSR PING -LRTM DISABLED -destIP 1.1.1.80 -ipTunnel YES -netProfile netProfile_DSR
add service svc_DSR01 2.2.2.10 ANY * -usip YES -useproxyport NO
bind service svc_DSR01 -monitorName mon_DSR
add service svc_DSR02 2.2.2.11 ANY * -usip YES -useproxyport NO
bind service svc_DSR02 -monitorName mon_DSR
add service svc_DSR03 2.2.2.12 ANY * -usip YES -useproxyport NO
bind service svc_DSR03 -monitorName mon_DSR
add lb vserver vip_DSR_ENCAP ANY 1.1.1.80 * -lbMethod SOURCEIPHASH -m IPTUNNEL -sessionless ENABLED
bind lb vserver vip_DSR_ENCAP svc_DSR01
bind lb vserver vip_DSR_ENCAP svc_DSR02
bind lb vserver vip_DSR_ENCAP svc_DSR03
modprobe ipip
sudo ip addr add 1.1.1.80 255.255.255.255 dev lo
nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name tun0
ifname tun0 remote 198.51.100.5 local 203.0.113.10
nmcli connection modify tun0 ipv4.addresses '10.0.1.1/30'
nmcli connection up tun0
sudo sysctl net.ipv4.conf.all.arp_ignore=1
sudo sysctl net.ipv4.conf.all.arp_announce=2
sudo sysctl net.ipv4.conf.tun0.rp_filter=2
sudo sysctl net.ipv4.conf.all.forwarding=1
sudo ip link set dev lo arp off