日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

VPN網關ECS反向代理方案

VPN網關ECS反向代理方案即通過阿里云私有網絡(VPC)的VPN服務創建VPN并與本地IDC數據中心進行組網后,通過阿里云ECS云服務器反向代理至本地IDC數據中心的數據服務方式,進行Dataphin與數據源的連接。

方案說明

  • VPN連接方式可能會受到Internet抖動、阻塞等公網質量問題而中斷。若業務對網絡連接質量要求很高時,可以考慮阿里云高速通道接入,但因為采用專線的方式接入,成本較高。更多信息,具體參考專線連接介紹

  • VPN網關ECS反向代理方案只需要ECS和VPN帶寬費用,不需要購買公網地址,成本較低。

網絡架構

VPN網關ECS反向代理連接Dataphin的網絡架構如下:

image

前提條件

使用IPsec-VPN功能建立VPC到本地數據中心的VPN連接前,需要確保滿足以下條件:

  • 檢查本地數據中心的網關設備。阿里云VPN網關支持標準的IKEv1和IKEv2協議。因此,只要支持這兩種協議的設備都可以和云上VPN網關互連。例如,華為、華三、山石、深信服、Cisco ASA、Juniper、SonicWall、Nokia、IBM和Ixia等。

  • 本地數據中心的網關已經配置了靜態公網IP。

  • 本地數據中心的網段和專有網絡的網段不能重疊。

操作步驟

步驟一:開通ECS和VPC

準備資源

開通指引

開通并購買ECS。

說明

建議先選擇按量付費的模式,確定連通后再轉為包年包月。本文以ecs.c5.xlarge(計算型4C8G+40GB高效云盤)的ECS按量付費為例。

實例創建方式介紹。

開通VPC。

創建和管理專有網絡

步驟二:建立VPN連接

步驟1:建立VPC到本地數據中心的連接

本解決方案使用IPsec-VPN建立VPC到本地數據中心的VPN連接,從而實現本地數據中心與VPC的互通。

image

步驟2:創建專有網絡

  1. 登錄專有網絡管理控制臺。

  2. 單擊左側導航欄專有網絡。

  3. 專有網絡頁面,單擊創建專有網絡。

  4. 創建專有網絡頁面,根據以下信息配置專有網絡。

    參數

    描述

    專有網絡

    地域

    根據Dataphin所在地域選擇對應地域。例如,Dataphin所在地域為杭州,則私有網絡地域選擇杭州

    名稱

    填寫私有網絡名稱,128個字符以內,不能以http://https://開頭。本文以本地數據中心上杭州VPC網絡為例。

    IPv4網段

    填寫私有網絡的IPv4網段。建議您使用RFC私網地址作為專有網絡的網段。例如,10.0.0.0/8、172.16.0.0/12、192.168.0.0/16,在多VPC互通場景或混合云場景中需確保地址規劃不能沖突。本文以192.168.0.0/16為例。

    重要

    不能使用100.64.0.0/10、224.0.0.0/4、127.0.0.0/8169.254.0.0/16網段作為VPC的網段。

    IPv6網段

    系統為VPC分配的IPv6網段為全球單播地址段,VPC中的實例分配IPv6地址后可以通過IPv6網關連接互聯網。本方案默認不分配。

    描述

    填寫私有網絡的簡單描述,256個字符以內。

    交換機

    為保證產品跨可用區的高可用性,需要創建兩個不同可用區下的虛擬交換機。

    名稱

    填寫交換機名稱,128個字符以內。本文以主交換機為例。

    可用區

    可用區是指在同一地域內,電力和網絡互相獨立的物理區域。同一可用區內實例之間的網絡延時更小,其用戶訪問速度更快。本文以可用區H為例。

    IPv4網段

    交換機的網段必須是其所屬VPC網段的真子集且掩碼需在16位到29位之間,可提供8~65536個地址。本文以192.168.1.0/24為例。

  5. 單擊確定,完成私有網絡的創建。

步驟3:創建VPN網關

  1. 單擊左側導航欄VPN->VPN網關

  2. VPN網關頁面,單擊創建VPN網關。

  3. VPN網關購買頁面,根據以下信息配置VPN網關。

    參數

    描述

    實例名稱

    填寫VPN網關的實例名稱。

    資源組

    您可以選擇已創建的資源組對云賬號下的資源做分類分組管理,以組為單元進行權限管理、資源部署、資源監控等,而無需單獨處理各個資源。例如,選擇默認資源組

    地域和可用區

    確保VPC的地域和VPN網關的地域相同。選擇華東1(杭州)。

    網關類型

    選擇普通型。

    網絡類型

    默認公網。

    隧道

    默認雙隧道

    VPC

    選擇本地數據中心上杭州VPC網絡。

    虛擬交換機1

    選擇主交換機

    虛擬交換機2

    選擇備交換機。

    帶寬規格

    選擇一個帶寬規格。帶寬規格是VPN網關所具備的公網帶寬。默認5Mbps。

    IPsec-VPN

    選擇開啟IPsec-VPN功能。

    SSL-VPN

    SSL-VPN功能允許您從任何位置的單臺計算機連接到專有網絡。默認關閉

    計費周期

    選擇購買時長默認一個月。

  4. 單擊立即購買并完成支付,即可完成VPN網關的創建。

    說明

    VPN網關的創建一般需要1-5分鐘。

步驟4:創建用戶網關

  1. 單擊左側導航欄VPN->用戶網關。

  2. 用戶網關頁面,單擊創建用戶網關。

  3. 創建用戶網關抽屜頁面,根據以下信息配置用戶網關。

    參數

    描述

    名稱

    輸入用戶網關的名稱,100個字符以內。

    IP地址

    輸入VPC要連接的本地數據中心網關設備的公網IP。

    自治系統號

    請輸入0-4294967295的正整數,支持按照兩段位輸入,即:前16位比特,后16位比特,每個段位使用十進制輸入。默認不填寫

    描述

    填寫用戶網關的簡單描述,100個字符以內。不能以http://https://開頭。

    資源組

    您可以選擇已創建的資源組對云賬號下的資源做分類分組管理,以組為單元進行權限管理、資源部署、資源監控等,而無需單獨處理各個資源。例如,選擇默認資源組。

    標簽

    輸入標簽鍵和標簽值。為用戶網關綁定標簽,便于后續基于標簽進行管理。

  4. 單擊確認,完成用戶網關創建。

步驟5:創建IPsec連接

  1. 單擊左側導航欄VPN->IPsec連接。

  2. IPsec連接頁面,單擊創建IPsec連接

  3. 創建IPsec連接頁面,根據以下信息配置IPsec連接。

    參數

    描述

    名稱

    輸入IPsec連接的名稱,100個字符以內。

    資源組

    您可以選擇已創建的資源組對云賬號下的資源做分類分組管理,以組為單元進行權限管理、資源部署、資源監控等,而無需單獨處理各個資源。例如,選擇默認資源組。

    綁定資源

    選擇VPN網關。

    VPN網關

    選擇已創建的VPN網關。

    路由模式

    如果選擇目的路由模式,本端網段和對端網段均為0.0.0.0/0,需要在創建IPsec連接后再在VPN網關內手動添加策略路由或目的路由。

    立即生效

    • :配置完成后立即進行協商。

    • :當有流量進入時進行協商。

    用戶網關

    選擇要連接的用戶網關。

    預共享密鑰

    輸入共享密鑰,該值必須與本地網關設備的預共享密鑰一致。

    啟用BGP

    需要您的網關設備的品牌支持邊界網關協議(BGP),如果您的客戶網關設備不支持BGP,請不要開啟BGP。默認關閉。

    加密配置健康檢查、高級配置

    本方案使用系統默認配置,無需修改。

    標簽

    輸入標簽鍵和標簽值。為IPsec綁定標簽,便于后續基于標簽進行管理。

  4. 單擊確定,完成用戶網關創建。

步驟6:在本地網關設備中加載VPN配置

  1. 單擊左側導航欄VPN->IPsec連接。

  2. IPsec連接頁面,選擇創建的IPsec連接,然后單擊操作列下的下載對端配置。

  3. 根據本地網關設備的配置要求,將下載的配置添加到本地網關設備中。配置說明,請參見如何配置本地網關設備。

    重要

    下載的配置中RemotSubnet和LocalSubnet與創建IPsec連接時的本端網段和對端網段相反。因為阿里云VPN網關對端是本地IDC的網段,本端是VPC網段;而本地網關設備,LocalSubnet就是指本地IDC的網段,RemotSubnet則是指阿里云VPC的網段。

步驟7:配置VPN網關路由

  1. 單擊左側導航欄VPN->VPN網關。

  2. VPN網關頁面,選擇目標VPN網關并單擊實例ID/名稱列下的實例ID。

  3. 目的路由表頁簽,單擊添加路由條目

  4. 添加路由條目頁面,根據以下信息配置目標路由。

    參數

    描述

    目標網段

    填寫本地IDC數據中心的私有網絡網段。

    下一跳

    選擇IPsec連接實例。

    發布到VPC

    選擇是否將新添加的路由發布到VPC路由表。本例選擇。

    權重

    選擇權重值。本例選擇100。

  5. 單擊確定,完成VPN網關路由配置。

步驟三:VPN連接測試

  1. 登錄到阿里云VPC內一臺無公網IP的ECS實例,并通過ping命令ping本地IDC數據中心內一臺服務器的私網IP地址,驗證通信是否正常。

    若統計結果的packet loss為0%,rtt avg在10ms以內,證明網絡情況良好。

    [root@iZuf61cvux96rhus9ufhq0Z conf]# ping -c 100 xxx.xxx.xxx.xxx
    64 bytes from xxx.xxx.xxx.xxx: icmp_seq=1 ttl=61 time=7.52 ms
    64 bytes from xxx.xxx.xxx.xxx: icmp_seq=2 ttl=61 time=7.38 ms
    64 bytes from xxx.xxx.xxx.xxx: icmp_seq=3 ttl=61 time=7.10 ms
    64 bytes from xxx.xxx.xxx.xxx: icmp_seq=4 ttl=61 time=7.55 ms
    64 bytes from xxx.xxx.xxx.xxx: icmp_seq=5 ttl=61 time=7.11 ms
    ........
    --- xxx.xxx.xxx.xxx ping statistics ---
    100 packets transmitted, 100 received, 0% packet loss, time 99121ms
    rtt min/avg/max/mdev = 6.999/7.454/8.415/0.267 ms
  2. 使用telnet命令確定后端服務器接口情況。若出現以上響應信息,表示端口已經處于監聽的狀態。

    [root@iZuf61cvux96rhus9ufhq0Z conf]# telnet xxx.xxx.xxx.xxx 1521
    Trying xxx.xxx.xxx.xxx...
    Connected to xxx.xxx.xxx.xxx.
    Escape character is '^]'.

步驟四:反向代理數據源服務與keeplive配置

步驟1:安裝Nginx并反向代理數據源服務

  1. 使用SSH命令登錄ECS云服務器。示例命令如下:

    ssh root@192.168.***.1   //root為登錄ECS云服務器的用戶名,同時需要將192.168.***.1修改為ECS云服務器IP地址。
  2. 在Shell的命令終端下,按照以下命令編譯安裝Nginx。

    mkdir -p /usr/local/src && cd  /usr/local/src //創建src目錄并切換
    
    wget https://nginx.org/download/nginx-1.16.1.tar.gz   //下載Nginx
    
    tar zxvf nginx-1.16.1.tar.gz &&  cd /usr/local/src/nginx-1.16.1  //解壓安裝包
    
    um install  lrzsz python-devel gcc gcc-c++ pcre  pcre-devel   patch   unzip   zlib  zlib-devel  openssl openssl-devel  git  jemalloc -y         //安裝依賴包
    
    ./configure --with-http_ssl_module --with-http_stub_status_module --prefix=/usr/local/nginx  --with-http_v2_module  --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-pcre-jit --with-pcre --with-stream      //編譯nginx,注意一定要安裝stream用于四層代理
    
    make && make install  //安裝nginx
  3. 安裝Nginx成功后,根據以下步驟配置Nginx反向代理數據源服務。

    1. 備份nginx.conf配置文件。

      cd  /usr/local/nginx/conf/ && cp nginx.conf nginx.conf.bak 
    2. 使用vim nginx.conf編輯配置文件并替換為以下配置。

      user  nobody;
      worker_processes  8;
      events {
          worker_connections  1024;
      }
      stream {
          server{
              listen 61521 so_keepalive=on;       ##配置監聽端口和socket連接的keepalive,否則無法支持長連接。
              proxy_pass xxx.xxx.xxx.xxx :1521;    ##配置本地IDC數據中心需要反向代理的數據庫服務ip和端口,ip端口請根據數據庫服務的端口自行替換。
              proxy_timeout 72h;           ## 配置代理的超時時間,建議配置為72小時。
          }
      }
    3. 使用vim /etc/init.d/nginx編輯并配置Nginx開機自啟。

      #!/bin/sh
      #
      # nginx - this script starts and stops the nginx daemon
      #
      # chkconfig:   - 85 15
      # description:  NGINX is an HTTP(S) server, HTTP(S) reverse \
      #               proxy and IMAP/POP3 proxy server
      # processname: nginx
      # config:      /etc/nginx/nginx.conf
      # config:      /etc/sysconfig/nginx
      # pidfile:     /var/run/nginx.pid
      # Source function library.
      . /etc/rc.d/init.d/functions
      # Source networking configuration.
      . /etc/sysconfig/network
      # Check that networking is up.
      [ "$NETWORKING" = "no" ] && exit 0
      nginx="/usr/local/nginx/sbin/nginx"
      prog=$(basename $nginx)
      NGINX_CONF_FILE="http://usr/local/nginx/conf/nginx.conf"
      [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
      lockfile=/var/lock/subsys/nginx
      make_dirs() {
         # make required directories
         user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
         if [ -z "`grep $user /etc/passwd`" ]; then
             useradd -M -s /bin/nologin $user
         fi
         options=`$nginx -V 2>&1 | grep 'configure arguments:'`
         for opt in $options; do
             if [ `echo $opt | grep '.*-temp-path'` ]; then
                 value=`echo $opt | cut -d "=" -f 2`
                 if [ ! -d "$value" ]; then
                     # echo "creating" $value
                     mkdir -p $value && chown -R $user $value
                 fi
             fi
         done
      }
      start() {
          [ -x $nginx ] || exit 5
          [ -f $NGINX_CONF_FILE ] || exit 6
          make_dirs
          echo -n $"Starting $prog: "
          daemon $nginx -c $NGINX_CONF_FILE
          retval=$?
          echo
          [ $retval -eq 0 ] && touch $lockfile
          return $retval
      }
      stop() {
          echo -n $"Stopping $prog: "
          killproc $prog -QUIT
          retval=$?
          echo
          [ $retval -eq 0 ] && rm -f $lockfile
          return $retval
      }
      restart() {
          configtest || return $?
          stop
          sleep 1
          start
      }
      reload() {
          configtest || return $?
          echo -n $"Reloading $prog: "
          killproc $nginx -HUP
          RETVAL=$?
          echo
      }
      force_reload() {
          restart
      }
      configtest() {
        $nginx -t -c $NGINX_CONF_FILE
      }
      rh_status() {
          status $prog
      }
      rh_status_q() {
          rh_status >/dev/null 2>&1
      }
      case "$1" in
          start)
              rh_status_q && exit 0
              $1
              ;;
          stop)
              rh_status_q || exit 0
              $1
              ;;
          restart|configtest)
              $1
              ;;
          reload)
              rh_status_q || exit 7
              $1
              ;;
          force-reload)
              force_reload
              ;;
          status)
              rh_status
              ;;
          condrestart|try-restart)
              rh_status_q || exit 0
                  ;;
          *)
              echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
              exit 2
      esac
    4. 增加至開機自啟。

      chmod a+x /etc/init.d/nginx && chkconfig --add /etc/init.d/nginx   
    5. 重新啟動Nginx。

      service nginx status && service nginx restart

步驟2:測試反向代理是否生效

使用netstat命令查看端口是否監聽。以下61521端口已監聽。

root@iZuf61cvux96rhus9ufhq0Z conf]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:61521           0.0.0.0:*               LISTEN      1333/nginx: master
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1346/sshd

步驟3:添加Dataphin至ECS安全組

在阿里云ECS安全組內,添加Dataphin的IP段。Datapin出網IP地址,請參見Dataphin出網IP地址

步驟4:測試反向代理端口是否連通

在任意非Nginx代理服務器中使用telnet命令至Nginx代理服務器,確認接口情況。以下61521端口可以連通。

 lxxxx@liaxxxxxook-Pro: telnet xxx.xxx.xxx.xxx 61521
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.

步驟五:測試代理的服務數據源與Dataphin是否連通

在Dataphin上創建數據源時,類型選擇ECS(VPC)自建數據庫,配置連接信息并單擊測試連接進行連通性測試,如果連通性測試成功則表示能正常連接,反向代理配置成功。