诺禾-NAT形式拓扑及工作原理

1、NAT形式拓扑及工作原理

在一组效劳器前有一个调度器,它们是经过Switch/HUB相衔接的。这些效劳器提供相同的网络效劳、相同的内容,即不论恳求被发送到哪一台效劳器,执行结果是一样的。效劳的内容能够复制到每台效劳器的本地硬盘上,能够经过网络文件系统(如NFS)共享,也 能够经过一个散布式文件系统来提供。

vs-nat

客户经过Virtual IP Address(虚拟效劳的IP地址)访问网络效劳时,恳求报文抵达调度器,调度器依据衔接调度算法从一组真实效劳器当选出一台效劳器,将报文的目的地址 Virtual IP Address改写成选定效劳器的地址,报文的目的端口改写成选定效劳器的相应端口,最后将修正后的报文发送给选出的效劳器。同时,调度器在衔接Hash 表中记载这个衔接,当这个衔接的下一个报文抵达时,从衔接Hash表中能够得到原选定效劳器的地址和端口,停止同样的改写操作,并将报文传给原选定的效劳器。当来自真实效劳器的响应报文经过调度器时,调度器将报文的源地址和源端口改为Virtual IP Address和相应的端口,再把报文发给用户。我们在衔接上引入一个状态机,不同的报文会使得衔接处于不同的状态,不同的状态有不同的超时值。在TCP 衔接中,依据规范的TCP有限状态机停止状态迁移;在UDP中,我们只设置一个UDP状态。不同状态的超时值是能够设置的,在缺省状况下,SYN状态的超 时为1分钟,ESTABLISHED状态的超时为15分钟,FIN状态的超时为1分钟;UDP状态的超时为5分钟。当衔接终止或超时,调度器将这个衔接从 衔接Hash表中删除。

这样,客户所看到的只是在Virtual IP Address上提供的效劳,而效劳器集群的构造对用户是透明的。对改写后的报文,应用增量调整Checksum的算法调整TCP Checksum的值,防止了扫描整个报文来计算Checksum的开支。

2、调度算法品种

轮叫(Round Robin)
加权轮叫(Weighted Round Robin)
最少链接(Least Connections)
加权最少链接(Weighted Least Connections)
基于部分性的最少链接(Locality-Based Least Connections)
带复制的基于部分性最少链接(Locality-Based Least Connections with Replication)
目的地址散列(Destination Hashing )
源地址散列(Source Hashing)
最短希冀延迟(Shortest Expected Delay)
无须队列等候(Never Queue)

3、案例施行

vs-nat-example

实验目的:

一切客户端访问IP地址为202.103.106.5端口为80的流量都被负载平衡地调度的真实效劳器 172.16.0.2:80和172.16.0.3:80上

轮叫(Round Robin),轮询算法,第一个给2,第二个给3,第三个给2,第四个给3

本次实验机器:Centos Linux 8.1.1911

1、地址配置(先装置软件)

172.16.0.0/24 所在网卡为仅主机;

202.103.106.0/24 所在网卡为NAT;

调度器需求双网卡。

留意:real server NAT形式下,网关需指向调度器内部地址,也就是图中的172.16.0.1。

2、关闭防火墙及selinux

各虚拟机都执行,真实环境需求真实看待,做实验的话就都关闭。

vim /etc/selinux/config

修正SELINUX=permissive

setenforce 0

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

3、时钟同步

一切real server 同步伐度器的时间。

配置参考

Chronyd同步时间(Server/Client)配置
4、软件装置

查看内核模块

modprobe ip_vs

lsmod | grep ip_vs

装置管理工具

yum install ipvsadm

real server 装置httpd效劳

real server 1

[root@node1 ~]# echo “this is real server node1” >> /var/www/html/index.html
[root@node1 ~]# systemctl start httpd
[root@node1 ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@node1 ~]#
real server 2

[root@node2 ~]# echo “this is real server node2” >> /etc/httpd/index.html
[root@node2 ~]# systemctl start httpd
[root@node2 ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@node2 ~]#
4、配置调度器

查看协助

man ipvsadm

复制代码
SYNOPSIS
ipvsadm -A|E virtual-service [-s scheduler]
[-p [timeout]] [-M netmask] [-b sched-flags]
ipvsadm -D virtual-service
ipvsadm -C
ipvsadm -R
ipvsadm -S [-n]
ipvsadm -a|e virtual-service -r server-address
[-g|i|m] [-w weight] [-x upper] [-y lower]
ipvsadm -d virtual-service -r server-address
ipvsadm -L|l [virtual-service] [options]
ipvsadm -Z [virtual-service]
ipvsadm --set tcp tcpfin udp
ipvsadm --start-daemon state [daemon-options]
[–syncid syncid]
ipvsadm --stop-daemon state
ipvsadm -h
复制代码
这个在添加和修正时少一个参数 ,老版本有噢。

-t|u|f

-t: TCP协议

-u: UDP协议

添加一个集群效劳

ipvsadm -A -t 202.103.106.5:80 -s rr

添加real server

ipvsadm -a -t 202.103.106.5:80 -r 172.16.0.2:80 -m
ipvsadm -a -t 202.103.106.5:80 -r 172.16.0.3:80 -m

查看

复制代码
[root@filesystem ~]# ipvsadm -l -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 202.103.106.5:80 rr
-> 172.16.0.2:80 Masq 1 0 0
-> 172.16.0.3:80 Masq 1 0 0
[root@filesystem ~]#
复制代码
规则保管

[root@filesystem ~]# ipvsadm-save > /root/ipvsadm.bak
[root@filesystem ~]# cat ipvsadm.bak
-A -t filesystem.server.com:http -s rr
-a -t filesystem.server.com:http -r 172.16.0.2:http -m -w 1
-a -t filesystem.server.com:http -r 172.16.0.3:http -m -w 1
[root@filesystem ~]#
规则导入

复制代码
[root@filesystem ~]# ipvsadm -C

-C 是清空规则的意义

[root@filesystem ~]# ipvsadm -R < ipvsadm.bak
[root@filesystem ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP filesystem:http rr
-> 172.16.0.2:http Masq 1 0 0
-> 172.16.0.3:http Masq 1 0 0
[root@filesystem ~]#
复制代码
5、测试

从图中我们能够看到,访问我们的调度器(也就是对外提供效劳的地址,在内部真实效劳器上来回切换。完成负载分担)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
思科的小型网络拓扑可以包括二层交换机、三层交换机、路由器、电脑和服务器等组成。对于这个拓扑,你可以按照以下步骤进行配置和建立连接: 1. 首先,配置电脑和服务器的IP地址、子网掩码和网关。可以使用思科模拟器打开拓扑图,并根据实际需求进行配置。 2. 接下来,你可以通过配置路由器来实现PC0访问外网服务器(76.12.32.1)。在路由器上设置静态路由或使用NAT技术将内部网络连接到外部网络。这样,PC0就可以通过路由器访问外网服务器。 3. 对于外网访问内网服务器server0,你可以通过配置端口转发或设置虚***,可以在路由器上配置访问控制列表(ACL)或防火墙规则,限制PC1与PC2之间的通信。 总的来说,思科的小型网络拓扑可以通过配置路由器、交换机和其他网络设备,以及使用相关命令和技术来实现各种功能和连接需求。通过合理的配置,可以实现内网与外网之间的通信,同时限制特定主机之间的通信。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [计算机网络课程设计-组建大型网吧局域网-思科(Cisco文件拓扑图+报告)](https://download.csdn.net/download/MckennaGrace/85751248)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [思科----小型网络拓扑](https://blog.csdn.net/qq_48626285/article/details/108837598)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Cisco-小型网络拓扑(DNS、DHCP、网站服务器、无线路由器)](https://blog.csdn.net/weixin_45059947/article/details/126068492)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值