jackyrar 发表于 2019-1-3 09:03:25

LVS + iptables 实现端口转发(DR模式)

要求:用户访问VIP:80 能够调度到RIP:80 ,然后在RS上配置iptables 实现端口转发,即将请求转发到RIP:8080
实验平台:Ubuntu12.04

LVS/DR 模式
http://s3.运维网.com/wyfs02/M01/23/3E/wKiom1M1TvDghj4nAAJAussnW_w062.jpg


一、安装配置ipvsadm
root@node1:~# apt-get install -y gcc g++ makelibssl-dev openssl libpopt-dev libnl-dev daemon
root@node1:~# apt-get install ipvsadm -y


刚装完的ipvsadm 需要配置一下
root@node1:~# dpkg-reconfigure ipvsadm
是否自动配置IPVS
http://s3.运维网.com/wyfs02/M00/23/3D/wKiom1M1TamgRfQMAAEz4OBKvUo572.jpg


  选择工作模式
  http://s3.运维网.com/wyfs02/M00/23/3E/wKioL1M1TYuDlYItAAB5_euxVVo245.jpg
  

  选择连接网卡
http://s3.运维网.com/wyfs02/M00/23/3D/wKiom1M1Tbzy8BHvAACIIrjN58o090.jpg
  

配置ipvsadm
root@node1:~# ipvsadm -A -t 192.168.10.254:80 -s rr
root@node1:~# ipvsadm -a -t 192.168.10.254:80 -r 192.168.10.103 -g
root@node1:~# ipvsadm -a -t 192.168.10.254:80 -r 192.168.10.104 -g


root@node1:~# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.10.254:http rr
-> 192.168.10.103:http   Route      1            0               0
-> 192.168.10.104:http   Route      1            0               0


配置VIP
root@node1:~# ifconfig lo:1 192.168.10.254 netmask 255.255.255.255 broadcast 192.168.10.254


二、配置web01、web02
root@node3:~# apt-get install apache2 -y
root@node3:~# vim /etc/apache2/ports.conf
NameVirtualHost *:80
Listen 80
修改为
NameVirtualHost *:8080
Listen 8080


root@node3:~# vim /etc/apache2/sites-enabled/000-default

修改为



启动服务
root@node3:~# /etc/init.d/apache2 start


关闭ARP 响应
root@node3:~# echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
root@node3:~# echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
root@node3:~# echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
root@node3:~# echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
root@node3:~# sysctl -p


配置VIP
root@node3:~# ifconfig lo:1 192.168.10.254 netmask 255.255.255.255 broadcast 192.168.10.254
root@node3:~# route add -host 192.168.10.254 dev lo:1


注:web02上的操作同web01


分别为web01和web02配置两个不同的页面
root@node3:~# cat /var/www/index.html
Welcome to Web01


root@node4:~# cat /var/www/index.html
Welcome to Web02


三、配置iptables
在RS上配置iptables 实现端口转发(80 --> 8080)
root@node3:~# iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to :8080
root@node4:~# iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to :8080


四、测试
打开浏览器访问http://192.168.10.254:80
  http://s3.运维网.com/wyfs02/M01/23/3E/wKiom1M1TeTR_8lLAABs4LM3uGQ700.jpg
http://s3.运维网.com/wyfs02/M02/23/3F/wKioL1M1TcXDztMjAAB9_cy8Mwk088.jpg


root@node1:~# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.10.254:http rr
-> 192.168.10.103:http   Route       1            1               5
-> 192.168.10.104:http   Route       1            1               4
  



页: [1]
查看完整版本: LVS + iptables 实现端口转发(DR模式)