当前位置: 首页 > news >正文

实训日记day27

NAT模式实战-环境准备
1.环境规划
角色
作用
IP
NAT
负载均衡调度 器 DS
内网:(DIP192.168.20.149)
外 网:(VIP192.168.20.150)
web01
真实web服务 器Rs
192.168.20.137
web02 
真实web服务 器Rs
192.168.20.138
DNS
用来解析各主 机的域名和ip 地址
client
测试
2.nat主机配置
[root@nat ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=10.1.1.100 
NETMASK=255.255.255.0 
GATEWAY=10.1.1.2 
DNS1=8.8.8.8 
DNS2=114.114.114.114         #添加到文件末尾
2.1 外添加一张网卡,选择对外提供服务的桥接模式或者nat模式,选 择桥接模式(ip不同)
2.2 修改网卡配置文件
[root@nat ~]# vim /etc/sysconfig/networkscripts/ifcfg-ens36
TYPE="Ethernet" 
BOOTPROTO="none" 
NAME="ens36" UUID="606c3bb5-ae86-42fa-95e1-d9766c3d4ab9" DEVICE="ens36" ONBOOT="yes" 
IPADDR=192.168.0.100 
NETMASK=255.255.255.0
2.3 时间同步
[root@nat ~]# yum -y install ntpdate 
[root@nat ~]# yum -y install ntp 
[root@nat ~]# ntpdate cn.ntp.org.cn
[root@nat ~]# systemctl start ntpd 
[root@nat ~]# systemctl enable ntpd
2.4  停用其他服务
# 停用selinux 
setenforce 0 
sed -i '/SELINUX=enforcing/cSELINUX=disabled' /etc/selinux/config 
#停用防火墙 
systemctl stop firewalld 
systemctl disable firewalld &>/dev/null 
#停用NetworkManage 
systemctl stop NetworkManager 
systemctl disable NetworkManager &>/dev/null
NAT模式搭建实战
1. nat服务器配置
1. 1  Itvs. Ip vartual server 已经是内核应用,无法修改 
1. 2    ipvsadm这个工具管理服务
# 安装ipvsadm 
[root@nat ~]# yum -y install ipvsadm
# 清空以往的规则 
[root@nat ~]# ipvsadm -C
# 查看规则 
[root@nat ~]# ipvsadm -L -n 
# 新增规则 
[root@nat ~]# ipvsadm -A -t 192.168.0.100:80 -s rr 
# 添加主机 
[root@nat ~]# ipvsadm -a -t 192.168.0.100:80 -r 10.1.1.200:80 -m [root@nat ~]# ipvsadm -a -t 192.168.0.100:80 -r 10.1.1.201:80 -m
# 设置ip转发 
[root@nat ~]# vim /etc/sysctl.conf 
============================================ net.ipv4.ip_forward=1 ============================================
# 设置生效 
[root@nat ~]# sysctl -p 
net.ipv4.ip_forward = 1
2. web服务器网关配置
[root@web01 ~]# route del default 
[root@web01 ~]# route add default gw 10.1.1.100 
[root@web02 ~]# route del default 
[root@web02 ~]# route add default gw 10.1.1.100
DR模式的搭建实战- 配置vip网卡
1. 在编辑虚拟网络中创建桥接模式的网卡,并且桥接到有网的适配器上 
2. 在vmware的虚拟主机资源管理器找到虚拟主机,右键菜单,设置 
3. 添加新的网卡,自定义为刚才创建的桥接模式网卡 
4. 此时在虚拟主机中使用ifconfig无法找到新的网卡 
5. ip a能够查看到新的ens36网卡,没有路由 
6. 编辑网卡配置
[root@ds01 ~]# vim /etc/sysconfig/networkscripts/ifcfg-ens36
TYPE="Ethernet" 
BOOTPROTO="none" 
NAME="ens36" 
UUID="fdbcb12c-33b6-4d7d-93bb-3b5380c4fb30" 
DEVICE="ens36" 
ONBOOT="yes" 
IPADDR=192.168.20.100
7. 重启network服务
[root@ds01 ~]# systemctl restart network
8. 添加规则
[root@ds01 ~]# ipvsadm -A -t 192.168.10.100:80 -s rr 
[root@ds01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096) 
Prot LocalAddress:Port Scheduler Flags 
-> RemoteAddress:Port                 Forward Weight 
ActiveConn                 InActConn 
TCP     192.168.10.100:80 rr
# web01 web02 添加规则
[root@ds01 ~]# ipvsadm -a -t 192.168.10.100:80 -r 10.1.1.200:80 -m [root@ds01 ~]# ipvsadm -a -t 192.168.10.100:80 -r 10.1.1.201:80 -m [root@ds01 ~]# ipvsadm -Ln
[root@ds01 ~]# ipvsadm -Ln
9. ip转发
[root@ds01 ~]# vim /etc/sysctl.conf
########################################## net.ipv4.ip_forward=1 #############################################
[root@ds01 ~]# sysctl -p 
net.ipv4.ip_forward = 1
临时修改web01和web02的网 关,网关必须指向dip(调度服务 器的对内的ip)
[root@web01 ~]# route del default 
[root@web01 ~]# route add default gw 10.1.1.100 
# 这也要求了rs ip和 dip要在同一个网段,因为dip是要作为网关存在的
DR模式
1.性能更优,回路不再经过ds 
2.ds和rs为了保证用户响应,都要求配置统一的vip
3.由于rs是直接响应client,网关一定不能设置为ds 的dip 
4.对rs的vip进行抑制,让ds的vip接收请求,rs的vip不接受请求 
5.rs的vip绑定点lo回路网卡上
1.在ds的ens33上挂一个vip 10.1.1.102
[root@dr03 ~]# ifconfig
[root@dr03 ~]# ifconfig ens33:0 10.1.1.102 broadcast 10.1.1.102 netmask 255.255.255.255 up
[root@dr03 ~]# route add -host 10.1.1.102 dev ens33:0
2.设置规范
# 安装ipvsadm yum -y install ipvsadm 
# 设置规则 
ipvsadm -A -t 10.1.1.102:80 -s rr 
ipvsadm -a -t 10.1.1.102:80 -r 10.1.1.200 -g 
ipvsadm -a -t 10.1.1.102:80 -r 10.1.1.201 -g 
# rs不在需要指定端口,dr不支持端口映射,vip上是80端口,最终就是80端 口 
# -m nat -g gateway
3. 设置rs主机
3.1 在lo接口上绑定vip
[root@web01 ~]# ifconfig lo:0 10.1.1.102 broadcast 10.1.1.102 netmask 255.255.255.255 up
3.2 设置主机路由
[root@web01 ~]# route add -host 10.1.1.102 dev lo:0
3.3 抑制rs接收请求
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
3.4 生成脚本,对web02使用
ifconfig lo:0 10.1.1.102 broadcast 10.1.1.102 netmask 255.255.255.255 up 
route add -host 10.1.1.102 dev lo:0 
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
3.5 测试使用,查看状态
[root@dr03 ~]# ipvsadm -Ln --stats
dr模式的脚本
dr脚本
#!/bin/bash 
#在ens33上挂载一个ip地址 
read -p "vip:" vip 
read -p "mac:" mac 
read -p "num" num 
ifconfig $mac:$num $vip broadcast $vip netmask 255.255.255.255
# 主机路由 
route add -host $vip dev $mac:$num
#安装ipvsadm 
yum list installed|grep ipvsadm 
if [ $? -ne 0 ] ; then 
yum -y install ipvsadm 
fi
#配置规则(不需要设置ip_forword) 
ipvsadm -C read -p "rule:" rule 
read -p "port:" port 
ipvsadm -A -t $vip:$port -s $rule 
read -p "rip1:" rip1 
ipvsadm -a -t $vip:$port -r $rip1 -g 
read -p "rip2:" rip2 
ipvsadm -a -t $vip:$port -r $rip2 -g
rs脚本
#!/bin/bash 
#在ens33上挂载一个ip地址 
read -p "vip:" vip 
read -p "mac:" mac 
read -p "num" num ifconfig $mac:$num $vip broadcast $vip netmask 255.255.255.255 
# 主机路由 route add -host $vip dev $mac:$num
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 热搜|“月薪4300一个月的存钱计划”,普通人如何实现财富自由?
  • C:每日一题:单身狗
  • 汇昌联信做拼多多店铺如何运营?
  • 微信小程序 for,if语法 事件对象,事件传参
  • 岗位信息采集全攻略:两种方法快速获取招聘信息
  • Mariadb数据库本机无密码登录的问题解决
  • Go语言排序艺术:sort包的精妙运用
  • 数据集与数据库:有什么区别?
  • C++ 之动手写 Reactor 服务器模型(一):网络编程基础复习总结
  • 浅谈C语言位段
  • springsecurity的学习(四):实现授权
  • 如何使用Wireshake解密Wi-Fi QoS Data报文?
  • 通过python搭建文件传输服务器;支持多台电脑之间互相传输文件(支持局域网或广域网)(应该也能用于虚拟机和宿主机之间)
  • Linux中的信号
  • LinuxC高级day05(函数指针、条件编译)
  • [译]如何构建服务器端web组件,为何要构建?
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【刷算法】求1+2+3+...+n
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • Electron入门介绍
  • iOS小技巧之UIImagePickerController实现头像选择
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • PHP CLI应用的调试原理
  • Python3爬取英雄联盟英雄皮肤大图
  • vue:响应原理
  • Vue--数据传输
  • 第2章 网络文档
  • 高程读书笔记 第六章 面向对象程序设计
  • 工作中总结前端开发流程--vue项目
  • 京东美团研发面经
  • 七牛云假注销小指南
  • 三分钟教你同步 Visual Studio Code 设置
  • 异步
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​力扣解法汇总946-验证栈序列
  • ​香农与信息论三大定律
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #图像处理
  • (13):Silverlight 2 数据与通信之WebRequest
  • (21)起落架/可伸缩相机支架
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (过滤器)Filter和(监听器)listener
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (理论篇)httpmoudle和httphandler一览
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (十六)Flask之蓝图
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)可以带来幸福的一本书
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .chm格式文件如何阅读
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net web项目 调用webService