LVS/NAT

平臺:RedHat Enterprise Linux centos6.3       ipvsadm             ipvshtml

1. NAT模型linux

NAT模型:地址轉換類型,主要是作地址轉換,相似於iptables的DNAT類型,它經過多目標地址轉換,來實現負載均衡,一個Director最多負載提供10個Real Server主機nginx

2.LVS/NAT 配置web

相關服務和名字的定義:
CIP:客戶端IP
Director:負載調度集羣的主機,也簡稱DR
VIP:Virtual IP,向外提供服務的IP
DIP:與內部主機通訊的IP,在DR主機上
RIP:Real Server IP,內部真正提供服務的IP
vim

115114l0ez0aga011e901u
三臺服務器一臺做爲director, 兩臺做爲real server
Director 有一個外網ip (192.168.31.166) 和一個內網ip(192.168.21.166), 兩個real server上只有內網ip(192.168.21.100)和(192.168.21.101) 而且須要把兩個real server的內網網關設置爲director的內網ip(192.168.21.166)
兩個real server 上都安裝httpd: yum install -y nginx
Director上安裝ipvsadm  yum install -y  ipvsadm
Direcotr 上 vim /usr/local/sbin/lvs_nat.sh //增長:
#! /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.21.0/24  -j MASQUERADE
# director設置ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.31.166:80 -s lc -p 300
$IPVSADM -a -t 192.168.31.166:80 -r 192.168.21.100:80 -m -w 1
$IPVSADM -a -t 192.168.31.166:80 -r 192.168.21.101:80 -m -w 1
直接運行這個腳本就能夠完成lvs/nat的配置了:
/bin/bash /usr/local/sbin/lvs_nat.sh
經過瀏覽器測試兩臺機器上的web內容,爲了區分開,咱們能夠把nginx的默認頁修改一下:
rs1上: echo "rs1rs1" >/usr/share/nginx/html/index.html
rs2上: echo "rs2rs2" >/usr/share/nginx/html/index.html
centos

三臺服務器一臺做爲director, 兩臺做爲real server
Director 有一個外網ip (192.168.31.166) 和一個內網ip(192.168.21.166), 兩個real server上只有內網ip(192.168.21.100)和(192.168.21.101) 而且須要把兩個real server的內網網關設置爲director的內網ip(192.168.21.166)
兩個real server 上都安裝httpd: yum install -y nginx
Director上安裝ipvsadm  yum install -y  ipvsadm
Direcotr 上 vim /usr/local/sbin/lvs_nat.sh //增長:
#! /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.21.0/24  -j MASQUERADE   #相似於SNA 源地址轉發,解釋爲從防火牆出來的源地址做假裝位虛擬虛擬地址VIP
# director設置ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.31.166:80 -s lc -p 300
$IPVSADM -a -t 192.168.31.166:80 -r 192.168.21.100:80 -m -w 1
$IPVSADM -a -t 192.168.31.166:80 -r 192.168.21.101:80 -m -w 1
直接運行這個腳本就能夠完成lvs/nat的配置了:
/bin/bash /usr/local/sbin/lvs_nat.sh
經過瀏覽器測試兩臺機器上的web內容,爲了區分開,咱們能夠把nginx的默認頁修改一下:
rs1上: echo "rs1rs1" >/usr/share/nginx/html/index.html
rs2上: echo "rs2rs2" >/usr/share/nginx/html/index.html
瀏覽器

在客戶端測試:curl 192.168.31.166  其中192.168.31.166是VIP:Virtual IP,向外提供服務的IPbash

 

參考博客:http://chrinux.blog.51cto.com/6466723/1198748服務器

http://www.aminglinux.com/bbs/data/attachment/forum/201406/16/115114l0ez0aga011e901u.jpg
負載均衡

相關文章
相關標籤/搜索