<input id="ohw05"></input>
  • <table id="ohw05"><menu id="ohw05"></menu></table>
  • <var id="ohw05"></var>
  • <code id="ohw05"><cite id="ohw05"></cite></code>
    <label id="ohw05"></label>
    <var id="ohw05"></var>
  • LVS之NAT模式

    目錄:

    • 網絡環境
    • LVS服務器配置
    • LVS服務器添加ipvs規則
    • RS服務器配置
    • 訪問驗證
    • 抓包分析
    • 注意事項

    【網絡環境】

    服務器類型 IP 說明
    lvs_vip 192.168.2.130 vip處于不同網段
    lvs_dip 192.168.237.131 dip與rip處于同一網段
    realserver1 192.168.237.171 httpd服務器
    realserver2 192.168.237.172 httpd服務器

    tips:三臺服務器均關閉防火墻和selinux

     

    【LVS服務器配置】

    臨時開啟路由轉發:
    # echo 1 > /proc/sys/net/ipv4/ip_forward
    # sysctl -w net.ipv4.ip_forward=1
    永久開啟路由轉發:
    修改/etc/systcl.conf參數如下
    # cat /etc/sysctl.conf | grep 'net.ipv4.ip_forward'
    net.ipv4.ip_forward=1
    配置生效命令
    # sysctl -p
    tips:0關閉,1開啟
     

    【LVS服務器添加ipvs規則】

    [root@v_machine1 ~]# ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  192.168.2.130:80 rr
      -> 192.168.237.171:80           Masq    1      0          0
      -> 192.168.237.172:80           Masq    1      0          0

     

    【RS服務器配置】

    添加默認路由到Dip(重要)
    使用route命令添加或者寫入配置文件中重啟network:
    [root@v_machine3 lvs]# route add default gw 192.168.237.131
    [root@v_machine3 lvs]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.237.131 0.0.0.0         UG    0      0        0 ens33
    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ens33
    192.168.237.0   0.0.0.0         255.255.255.0   U     0      0        0 ens33

    忽略arp廣播(可省略,因為RS上沒有vip)

    # echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    # echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    # echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore
    # echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce

     

    【訪問驗證】

    先后訪問lvs服務器

    [root@v_machine1 lvs]# curl 192.168.2.130
    hello,192.168.237.171
    [root@v_machine1 lvs]#
    [root@v_machine1 lvs]# curl 192.168.2.130
    hello,192.168.237.172
    [root@v_machine1 lvs]# ipvsadm -Lnc
    IPVS connection entries
    pro expire state       source             virtual            destination
    TCP 01:56  TIME_WAIT   192.168.2.130:38702 192.168.2.130:80   192.168.237.172:80
    TCP 01:58  TIME_WAIT   192.168.2.130:38704 192.168.2.130:80   192.168.237.171:80
    TCP 01:51  TIME_WAIT   192.168.2.104:50395 192.168.2.130:80   192.168.237.172:80
    TCP 00:39  TIME_WAIT   192.168.2.104:50386 192.168.2.130:80   192.168.237.171:80
    TCP 01:01  TIME_WAIT   192.168.2.104:50428 192.168.2.130:80   192.168.237.171:80

    本地(192.168.2.104)瀏覽器訪問測試:

    postman測試:

    結論:可見lvs實現了對用戶訪問的輪詢調度

     

    【抓包分析】

    (這里由于網絡變了,vip變成了192.168.91.130,客戶機變成了192.168.91.128,所以實驗ip與前面的環境配置不一樣)
    在客戶機(192.168.91.128)上對lvs_vip進行兩次訪問:
    [root@v_machine2 ~]# curl 192.168.91.130
    hello,192.168.237.172
    [root@v_machine2 ~]# curl 192.168.91.130
    hello,192.168.237.171

    在lvs服務器上抓包,然后wireshark打開查看:

    第一次訪問vip:
    192.168.91.128 -> 192.168.91.130
    lvs收到訪問請求后,先將目的ip進行改寫為選出的后端RS的IP(RIP),再轉發給該RS:
    192.168.91.128 -> 192.168.237.172
    RS回復訪問請求,通過lvs轉發出去(因為該lvs是RS的路由):
    192.168.237.172 -> 192.168.91.128
    lvs先改寫源ip為vip,然后回復給客戶機:
    192.168.91.130 -> 192.168.91.128
    第二次訪問vip,數據包轉發過程是一樣的,只是由于輪詢算法導致選出的RS換成了另一臺。
    根據抓包結果,數據包流程如下圖:

    對第一次訪問數據包追蹤http流:

     

    數據包文件:

    鏈接:https://pan.baidu.com/s/1FnV3jL_p5ohbsrPpyek4JQ 
    提取碼:85oy 

     

    【注意事項】

    學習使用,關掉防火墻和selinux:
    [root@v_machine1 ~]# setenforce 0
    setenforce: SELinux is disabled
    關掉防火墻并清空防火墻轉發規則:
    systemctl stop iptables
    iptables -F
    iptables -X

    關掉NetworkManager,并禁止開機啟動,這個服務容易導致路由添加不成功;

    systemctl stop NetworkManager
    systemctl disable NetworkManager

     

     

    posted @ 2019-06-23 17:16  wuenwuen  閱讀(2936)  評論(0編輯  收藏  舉報
    国产美女a做受大片观看