LVS的nat模式连接超时及无法连接主机排错总结-程序员宅基地

技术标签: 运维  开发工具  

nat模式

这个实验网上搜到的有很多。这个实验很基础,也很实验。说起来配置命令就那么几行,但因为阿拉在这个小实验里耗费了一两天的时间,这里就摆在首位说说吧。

实验环境:1台virtual server,负责负载均衡。2台real server,作为后台服务器。

原理:前台virtual server上配置VIP和DIP。VIP是虚拟IP,为公网IP。DIP是负载均衡器IP,私有IP,同时也是后台服务器指向的网关。real server上配置开启httpd服务,网关指向DIP。

在虚拟机环境中,前台负载均衡服务器上的两个网卡可以用桥接和仅主机模式实现。DIP和后台real server的Ip要求在统一网段。

同时确保防火墙关闭或对实验主机放行。建议关闭selinux。记得开启real server的80端口。

VIP:172.17.7.7

DIP:192.168.234.107

RIP1:192.168.234.106

RIP2:192.168.234.11

配置方式:

virtual server:

yum install ipvsadm 安装ipvs包

ipvsadm -A -t 172.17.7.7:80 -s wrr  

ipvsadm -L -n

ipvsadm -a -t 172.17.7.7:80 -r 192.168.234.106:80 -m -w 1

ipvsadm -a -t 172.17.7.7:80 -r 192.168.234.11:80 -m -w 1

ipvsadm -L -n

vim /etc/sysctl.conf 修改文件,开启主机的路由转发功能,即添加下面行

    net.ipv4.ip_forward = 1

sysctl -p 使修改的配置文件生效

real server{1,2}:

route add dafault gw 192.168.234.107 

原则上这样就OK。

阿拉参照了一个这样的实验步骤,并且对方这么做真的OK了。

用配置有公网(这里阿拉用172.17.7.7代替)IP的机器访问VIP。却总是出现连接超时或无法连接到主机的提示。阿拉用抓包工具发现数据传输出现回环,网关不能把数据转出。这里阿拉分别用了tcpdump和wireshark工具。期间网上搜索解决方法时还没有一个把解决方式贴出来的。之前遇到排错,只要一步一步对照实验记录就能解决9成错误。后来开始学会看日志,排错效率倒是有所提升。甚至已经很久没有上网找答案了。

关于网关这块阿拉的基础是很薄弱的,自我探究并重开了一个实验环境依旧无用。甚至还重新开了一个仅主机的网络环境。

冷静了一天阿拉决定卸掉real server上的桥接模式的网卡。阿拉real server的主机因为之前实验的原因也有配置桥接的网卡,虽然实验中down掉了,route -n查看时还能看到网关,这点让人觉得不太舒服。

虽然不知道是不是这个的原因,阿拉的实验却因此完成了。

一言以蔽之,real server上仅保留单块实验用网卡。


老师讲LVS原理的时候网关这点也只说了设置默认网关指向DIP。讲解网络知识时大略提及网关负责路由转发之类。两者中和,这一块反而是个盲区。

而当初网络基础的知识,因为纯理论能够记得的内容则相当有限。

老天还真是棒,总在浮躁之时提醒你修行尚浅。接下来的实验更是复杂。要了解的东西还有很多啊。


当你成为大神时看到别人问到1+1等于二的问题时也会视而不见吧。是XX的门槛越来越低了吗虾兵蟹将如此之多?知识学习的门槛低不意味着职业要求低。总之,阿拉的基础不够强壮,就是阿拉这次的教训了。

不知道当初追求这个问题的解决方案的前辈们当今成为业界的大牛否?

总有些错你要你个人淌,而排错方式,是你弥补经验的最好武器。


阿拉常用的排错方式:

1.报错信息。服务或进程报错的相关提示无疑最一目了然。通常可因此知道错误的大致方向。

2.日志。也是刚用不久,熟练使用还需修行。

3.常用排错工具。如抓包工具tcpdump,wireshark,扫描工具nmap等。

4.实验步骤。记得自己进行过哪些操作,如果你确定实验环境是OK的,一步步排除就简单了些。这个开始并不好用,逐渐养成相关意识之后就能快速定位错误了。

5.配置文件排除。

6.积累排错经验。有时间看到大牛排错现场要注意积累。能偷师多少算多少吧。大牛的思路和我们不同,能领略到的,大多是一些排错的意识,他们一般都能较意识到自己的错误,有些失误是在错误发生之前就避免了的。这里的大牛,主要指阿拉架构师及各种证书于一身的师父们,这里就不提姓名了。他们看的文档,都是红帽的官方文档之类。浏览器页面通过关键字定位神马的。这群家伙们,有的问题确是bug,有确认自己正确的自信有时还真是让人羡慕嫉妒恨呐。











本文转自阿拉杜美美51CTO博客,原文链接: http://blog.51cto.com/amelie/1979172  ,如需转载请自行联系原作者


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33958366/article/details/89801046

智能推荐

python中文显示不出来_解决Python词云库wordcloud不显示中文的问题-程序员宅基地

文章浏览阅读2.6k次。解决Python词云库wordcloud不显示中文的问题2018-11-25背景:wordcloud是基于Python开发的词云生成库,功能强大使用简单。github地址:https://github.com/amueller/word_cloudwordcloud默认是不支持显示中文的,中文会被显示成方框。安装:安装命令:pip install wordcloud解决:经过测试发现不支持显示中文..._词云python代码无法输出文字

台式计算机cpu允许温度,玩游戏cpu温度多少正常(台式电脑夏季CPU一般温度多少)...-程序员宅基地

文章浏览阅读1.1w次。随着炎热夏季的到来,当玩游戏正爽的时候,电脑突然死机了,自动关机了,是不是有想给主机一脚的冲动呢?这个很大的原因是因为CPU温度过高导致的。很多新手玩家可能都有一个疑虑,cpu温度多少以下正常?有些说是60,有些说是70,到底多高CPU温度不会死机呢?首先我们先看看如何查看CPU的温度。下载鲁大师并安装,运行鲁大师软件,即可进入软件界面,并点击温度管理,即可看到电脑各个硬件的温度。鲁大师一般情况下..._台式机玩游戏温度多少正常

小白自学Python日记 Day2-打印打印打印!_puthon打印任务收获-程序员宅基地

文章浏览阅读243次。Day2-打印打印打印!我终于更新了!(哭腔)一、 最简单的打印最最简单的打印语句: print(“打印内容”)注意:python是全英的,符号记得是半角下面是我写的例子:然后进入power shell ,注意:你需要使用cd来进入你保存的例子的文件夹,保存时名字应该取为xxx.py我终于知道为什么文件夹取名都建议取英文了,因为进入的时候是真的很麻烦!如果你没有进入正确的文件夹..._puthon打印任务收获

Docker安装:Errors during downloading metadata for repository ‘appstream‘:_"cenerrors during download metadata for repository-程序员宅基地

文章浏览阅读1k次。centos8问题参考CentOS 8 EOL如何切换源? - 云服务器 ECS - 阿里云_"cenerrors during download metadata for repository \"appstream"

尚硅谷_谷粒学苑-微服务+全栈在线教育实战项目之旅_基于微服务的在线教育平台尚硅谷-程序员宅基地

文章浏览阅读2.7k次,点赞3次,收藏11次。SpringBoot+Maven+MabatisPlusmaven在新建springboot项目引入RELEASE版本出错maven在新建springboot项目引入RELEASE版本出错maven详解maven就是通过pom.xml中的配置,就能够从仓库获取到想要的jar包。仓库分为:本地仓库、第三方仓库(私服)、中央仓库springframework.boot:spring-boot-starter-parent:2.2.1.RELEASE’ not found若出现jar包下载不了只有两_基于微服务的在线教育平台尚硅谷

随便推点

设置div背景颜色透明度,内部元素不透明_div设置透明度,里面的内容不透明-程序员宅基地

文章浏览阅读2.8w次,点赞6次,收藏22次。设置div背景颜色透明度,内部元素不透明:.demo{  background-color:rgba(255,255,255,0.15) } 错误方式:.demo{ background-color:#5CACEE;opacity:0.75;} 这样会导致div里面的元素内容和背景颜色一起变透明只针对谷歌浏览器的测试_div设置透明度,里面的内容不透明

Discuz!代码大全-程序员宅基地

文章浏览阅读563次。1.[ u]文字:在文字的位置可以任意加入您需要的字符,显示为下划线效果。2.[ align=center]文字:在文字的位置可以任意加入您需要的字符,center位置center表示居中,left表示居左,right表示居右。5.[ color=red]文字:输入您的颜色代码,在标签的中间插入文字可以实现文字颜色改变。6.[ SIZE=数字]文字:输入您的字体大小,在标签的中间插入文..._discuzcode 大全

iOS NSTimer定时器-程序员宅基地

文章浏览阅读2.6k次。iOS中定时器有三种,分别是NSTimer、CADisplayLink、dispatch_source,下面就分别对这三种计时器进行说明。一、NSTimerNSTimer这种定时器用的比较多,但是特别需要注意释放问题,如果处理不好很容易引起循环引用问题,造成内存泄漏。1.1 NSTimer的创建NSTimer有两种创建方法。方法一:这种方法虽然创建了NSTimer,但是定时器却没有起作用。这种方式创建的NSTimer,需要加入到NSRunLoop中,有NSRunLoop的驱动才会让定时器跑起来。_ios nstimer

Linux常用命令_ls-lmore-程序员宅基地

文章浏览阅读4.8k次,点赞17次,收藏51次。Linux的命令有几百个,对程序员来说,常用的并不多,考虑各位是初学者,先学习本章节前15个命令就可以了,其它的命令以后用到的时候再学习。1、开机 物理机服务器,按下电源开关,就像windows开机一样。 在VMware中点击“开启此虚拟机”。2、登录 启动完成后,输入用户名和密码,一般情况下,不要用root用户..._ls-lmore

MySQL基础命令_mysql -u user-程序员宅基地

文章浏览阅读4.1k次。1.登录MYSQL系统命令打开DOS命令框shengfen,以管理员的身份运行命令1:mysql -u usernae -p password命令2:mysql -u username -p password -h 需要连接的mysql主机名(localhost本地主机名)或是mysql的ip地址(默认为:127.0.0.1)-P 端口号(默认:3306端口)使用其中任意一个就OK,输入命令后DOS命令框得到mysql>就说明已经进入了mysql系统2. 查看mysql当中的._mysql -u user

LVS+Keepalived使用总结_this is the redundant configuration for lvs + keep-程序员宅基地

文章浏览阅读484次。一、lvs简介和推荐阅读的资料二、lvs和keepalived的安装三、LVS VS/DR模式搭建四、LVS VS/TUN模式搭建五、LVS VS/NAT模式搭建六、keepalived多种real server健康检测实例七、lvs持久性工作原理和配置八、lvs数据监控九、lvs+keepalived故障排除一、LVS简介和推荐阅读的资料 学习LVS+Keepalived必须阅读的三个文档。1、 《Keepalived权威指南》下载见http://..._this is the redundant configuration for lvs + keepalived server itself

推荐文章

热门文章

相关标签