nat模式的配置:(假設 dir:192.168.2.122(假設成公網IP) 192.168.109.136(內網) rs1:192.168.109.130 rs2:192.168.109.131)
(1)先在dir上安裝lvs服務: yum install -y ipvsadm
(2)編寫lvs配置的啓動腳本:
#!/bin/bash
# director 服務器上開啓路由轉發功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
#關閉icmp的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
# director 設置nat防火牆
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.109.0/24 -j MASQUERADE
# director設置ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.2.122:80 -s rr
$IPVSADM -a -t 192.168.2.122:80 -r 192.168.109.130:80 -m
$IPVSADM -a -t 192.168.2.122:80 -r 192.168.109.131:80 -m
(3)運行該腳本: sh /usr/local/sbin/lvs_nat.sh
(4)執行完腳本後可以查看該規則執行的情況: ipvsadm -ln
查看對應關係
(5)接下來在兩臺rs上配置部署:
首先設置網關: vim /etc/sysconfig/network-scripts/ifcfg-eth0
將裏面的網關修改成我們dir的內網IP地址,即:192.168.109.136 (兩臺rs都得這樣設置)
然後將兩臺rs服務器的80端口啓動起來:比如/etc/init.d/nginx start
測試是否能正常解析: curl localhost
(6)注意一步很重要的步驟:就是三臺服務器在測試之前都得先關閉防火牆再執行上述的步驟(本人就是因爲防火牆沒有關閉就去做實驗導致實驗過程中一直出問題)
做nat模式的lvs有幾個要點。
1. dir機器上有兩個網卡,一個“內網”一個“外網”,其中"內網"和兩個rs的網卡ip爲同一網段,可以相互通信。
2. dir上的內網和外網網卡要使用不同的模式(比如外網用僅主機,內網用nat)
3. rs的網關要寫dir的內網ip