1. 程式人生 > >LVS NAT模式搭建

LVS NAT模式搭建

LVS NAT模式

準備工作

三臺機器上都執行執行
systemctl stop firewalld; systemctl disable firewalld
安裝iptables-services
systemctl enable iptables; systemctl start iptables; iptables -F; service iptables save
setenforce 0

分發器的設置

配置內網ip 192.168.130.116

[root@lynn-04 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.130.116
NETMASK=255.255.255.0
GATEWAY=192.168.130.2
DNS1=119.29.29.29

配置外網ip 192.168.214.116 (vmware僅主機模式)

[root@lynn-04 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens37

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
DEVICE=ens37
ONBOOT=no
IPADDR=192.168.214.116

安裝ipvsadm

[root@lynn-04 ~]# yum install -y ipvsadm

編寫腳本/usr/local/sbin/lvs_nat.sh

[root@lynn-04 ~]# 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
# 註意區分網卡名字,我的兩個網卡分別為ens33和ens37
echo 0 > /proc/sys/net/ipv4/conf/ens33/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/ens37/send_redirects
# director 設置nat防火墻
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.130.0/24  -j MASQUERADE
# director設置ipvsadm
IPVSADM=‘/usr/sbin/ipvsadm‘
$IPVSADM -C
$IPVSADM -A -t 192.168.214.116:80 -s wlc
$IPVSADM -a -t 192.168.214.116:80 -r 192.168.130.118:80 -m -w 1
$IPVSADM -a -t 192.168.214.116:80 -r 192.168.130.128:80 -m -w 1

加載腳本/usr/local/sbin/lvs_nat.sh

[root@lynn-04 ~]# sh /usr/local/sbin/lvs_nat.sh

rs1的設置

配置內網ip 192.168.130.118
配置網關 192.168.130.116 (這裏的網關為分發器的內網ip)

[root@lynn-05 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.130.118
NETMASK=255.255.255.0
GATEWAY=192.168.130.116
DNS1=119.29.29.29

安裝nginx 需要在能外網通信的時候安裝

[root@lynn-05 ~]# yum install -y nginx

啟動nginx

[root@lynn-05 ~]# systemctl start nginx
[root@lynn-05 ~]# ps aux |grep nginx
root       2131  0.0  0.2 122908  2244 ?        Ss   16:03   0:00 nginx: master process /usr/sbin/nginx
nginx      2132  0.0  0.3 123292  3596 ?        S    16:03   0:00 nginx: worker process
nginx      2133  0.0  0.3 123292  3596 ?        S    16:03   0:00 nginx: worker process
nginx      2134  0.0  0.3 123292  3592 ?        S    16:03   0:00 nginx: worker process
nginx      2135  0.0  0.3 123292  3600 ?        S    16:03   0:00 nginx: worker process
root       2142  0.0  0.0 112676   984 pts/0    S+   16:09   0:00 grep --color=auto nginx

給nginx默認主頁設置一個標誌方便測試

[root@lynn-05 ~]# echo ‘lynn-05‘ > /usr/share/nginx/html/index.html
[root@lynn-05 ~]# cat /usr/share/nginx/html/index.html
lynn-05

rs2的設置

配置內網ip 192.168.130.128
配置網關 192.168.130.116 (這裏的網關為分發器的內網ip)

[root@lynn-06 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=fef8a686-6a1e-49bc-b03e-7797fc4c58bb
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.130.128
NETMASK=255.255.255.0
GATEWAY=192.168.130.116
DNS1=119.29.29.29

安裝nginx 需要在能外網通信的時候安裝

[root@lynn-06 ~]# yum install -y nginx

啟動nginx

[root@lynn-06 ~]# systemctl start nginx
[root@lynn-06 ~]# ps aux |grep nginx
root       3615  0.0  0.2 122908  2244 ?        Ss   11:03   0:00 nginx: master process /usr/sbin/nginx
nginx      3616  0.0  0.3 123292  3348 ?        S    11:03   0:00 nginx: worker process
nginx      3617  0.0  0.3 123292  3600 ?        S    11:03   0:00 nginx: worker process
nginx      3618  0.0  0.3 123292  3600 ?        S    11:03   0:00 nginx: worker process
nginx      3619  0.0  0.3 123292  3600 ?        S    11:03   0:00 nginx: worker process
root      53455  0.0  0.0 112676   984 pts/0    S+   16:10   0:00 grep --color=auto nginx

給nginx默認主頁設置一個標誌方便測試

[root@lynn-06 ~]# echo ‘lynn-06‘ > /usr/share/nginx/html/index.html
[root@lynn-06 ~]# cat /usr/share/nginx/html/index.html
lynn-06

測試

通過外網ip訪問

[root@lynn-04 ~]# curl 192.168.214.116
lynn-05
[root@lynn-04 ~]# curl 192.168.214.116
lynn-06
[root@lynn-04 ~]# curl 192.168.214.116
lynn-05
[root@lynn-04 ~]# curl 192.168.214.116
lynn-06
[root@lynn-04 ~]# curl 192.168.214.116
lynn-05
[root@lynn-04 ~]# curl 192.168.214.116
lynn-06

LVS NAT模式搭建