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,有確認自己正確的自信有時還真是讓人羨慕嫉妒恨吶。
本文出自 “RightNow” 博客,請務必保留此出處http://amelie.blog.51cto.com/12850951/1979172
LVS的nat模式連接超時及無法連接主機排錯總結