1、NAT架构规划图
2、环境准备
2.1、主机规划
主机名 IP地址 route LAN:192.168.87.132 WAN:192.168.10.12 lvs LAN:192.168.87.131 rs-01 LAN: 192.168.87.129 rs-02 LAN: 192.168.87.130 client WAN 192.168.10.4
2.2、Linux route服务器配置
使用linux服务器充当route的功能
2.2.1、配置WAN的IP地址
]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 ... BOOTPROTO=static IPADDR=192.168.10.12 PREFIX=24 GATEWAY=192.168.10.2 # 出口的网关 DNS1=192.168.10.2
2.2.2、配置LAN的IP地址【rs同网段】
]# cat /etc/sysconfig/network-scripts/ifcfg-ens36 ... BOOTPROTO=static IPADDR=192.168.87.132 PREFIX=24 GATEWAY=192.168.87.2
2.2.3、启用 FORWARD转发功能
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf sysctl -p
2.3、Linux LVS服务器配置
2.3.1、配置LAN的IP地址
]# cat /etc/sysconfig/network-scripts/ifcfg-ens36 ... BOOTPROTO=static IPADDR=192.168.87.131 PREFIX=24 GATEWAY=192.168.87.132 # 网关是路由器的IP地址
2.3.2、增加vip【ens36:1】
cp /etc/sysconfig/network-scripts/ifcfg-ens36 /etc/sysconfig/network-scripts/ifcfg-ens36:1 ]# vi /etc/sysconfig/network-scripts/ifcfg-ens36:1... BOOTPROTO=static NAME=ens36:1 DEVICE=ens36:1 ONBOOT=yes IPADDR=192.168.87.200 PREFIX=24
2.3.3、启用 FORWARD转发功能
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf sysctl -p
2.4、rs-01服务器IP地址配置
2.4.1、IP地址配置
]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 ... BOOTPROTO=static IPADDR=192.168.87.129 NETMASK=255.255.255.0 GATEWAY=192.168.87.131 # 这个IP地址指向LVS的LAN IP地址
2.4.2、增加主机路由【生产环境此步骤不存在,因为网段是不一样的】
route add -host 192.168.87.132 gw 192.168.87.200 # 因为我们是使用同一网段做NAT,如果没有配置会导致出站的时候,找不到路由,从而访问不到 # 192.168.87.132 路由器的IP地址 # 192.168.87.200 VIP route add -host client_ip gw route_ip
2.5、rs-02服务器IP地址配置
2.5.1、IP地址配置
]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 ... BOOTPROTO=static IPADDR=192.168.87.130 PREFIX=24 GATEWAY=192.168.87.131 # 这个IP地址指向LVS的LAN IP地址
2.5.2、增加主机路由【生产环境此步骤不存在,因为网段是不一样的】
route add -host 192.168.87.132 gw 192.168.87.200
# 因为我们是使用同一网段做NAT,如果没有配置会导致出站的时候,找不到路由,从而访问不到 # 192.168.87.132 路由器的IP地址 # 192.168.87.200 VIP route add -host client_ip gw route_ip
2.6、rs-01、rs-02都安装上httpd服务
2.6.1、安装httpd
yum install httpd -y
2.6.2、写入访问的首页
rs-01 ~]# echo "rs-01" >/var/www/html/index.html rs-02 ~]# echo "rs-02" >/var/www/html/index.html
2.6.3、启动httpd服务
systemctl start httpd
2.6.4、测试访问
]# curl 192.168.87.129 rs-01 ]# curl 192.168.87.130 rs-02
3、配置LVS NAT
3.1、创建LVS集群
ipvsadm -A -t 192.168.87.200:80 -s rr
3.2、往LVS集群节点增加rs
ipvsadm -a -t 192.168.87.200:80 -r 192.168.87.129:80 -m ipvsadm -a -t 192.168.87.200:80 -r 192.168.87.130:80 -m
3.3、查询集群状态
]# ipvsadm -L -n IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.87.200:80 rr -> 192.168.87.129:80 Masq 1 0 0 -> 192.168.87.130:80 Masq 1 0 0
4、Client测试访问【配置网关地址的方式】
4.1、修改网关IP为路由器IP地址
]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 .. IPADDR=192.168.10.4 PREFIX=24 GATEWAY=192.168.10.12 DNS1=192.168.10.2 systemctl restart network
4.2、访问vip地址 ~]# curl 192.168.87.200:80 rs-02 ~]# curl 192.168.87.200:80 rs-01
5、Client测试访问【直接访问路由IP地址方式】
5.1、Client网关删除掉
5.1.1、删除GATEWAY
]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTO=static IPADDR=192.168.10.4 PREFIX=24 DNS1=192.168.10.2 # 已经没有GATEWAY字段
5.1.2、重启网口访问测试
systemctl restart network ]# curl 192.168.87.200:80 curl: (7) Failed to connect to 192.168.87.200: Network is unreachable
5.2、路由器服务上配置SNAT、DNAT
5.2.1、配置DNAT【入站】 # 访问路由器地址192.168.10.12 转发给VIP 192.168.87.200 iptables -t nat -A PREROUTING -d 192.168.10.12 -j DNAT --to 192.168.87.200 # 路由器地址端口80 转发给 VIP的端口80 iptables -t nat -A PREROUTING -d 192.168.10.12 -ptcp --dport 80 -j DNAT --to 192.168.87.200:80
5.2.2、配置SNAT【出站】
# 出站,将网段为192.168.10.0 转发给 路由器192.168.10.12 出去 iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to 192.168.10.12
5.3、访问路由器IP地址测试
~]# curl 192.168.10.12 rs-01 ~]# curl 192.168.10.12 rs-02
6、持久化ipvsadm配置规则
6.1、保存配置规则
ipvsadm-save > /etc/sysconfig/ipvsadm
6.2、systemctl加载或删除规则
systemctl start ipvsadm systemctl stop ipvsadm
审核编辑:黄飞
-
服务器
+关注
关注
12文章
8656浏览量
84400 -
路由器
+关注
关注
22文章
3638浏览量
112684 -
HTTP
+关注
关注
0文章
477浏览量
30712 -
ip地址
+关注
关注
0文章
277浏览量
16902
原文标题:6、持久化ipvsadm配置规则
文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
OpenHarmony持久化存储UI状态:PersistentStorage
HarmonyOS数据管理与应用数据持久化(一)
Redis持久化机制的实现原理和使用技巧
如何开启RDB持久化方式
![如何开启RDB<b class='flag-5'>持久</b><b class='flag-5'>化</b>方式](https://file1.elecfans.com/web2/M00/8A/92/wKgZomSXuh2AHQNhAAAgiiAmPL8031.png)
Redis持久化RDB方式介绍
![Redis<b class='flag-5'>持久</b><b class='flag-5'>化</b>RDB方式介绍](https://file1.elecfans.com/web2/M00/A7/64/wKgaomUjo96AJnS5AABk8LV8f78483.jpg)
评论