如何讓同一網段客戶端訪問LVS-NAT主機
今天在繼續redis的壓力測試時,發現一個“奇怪”的現象,我本機可以訪問的通LVS主機,但測試伺服器卻不行。在請教運維部的同事之後才知道,原來LVS-NAT模式下,客戶端是不能和RS在一個網段的( :cry: 知識欠缺啊,以前只耍過DR模式)。
但是真的不能麼?google一番,發現一個童鞋提過一句話:不是不可以,但是要修改路由表。
這一下就醍醐灌頂了,LVS-NAT模式通常用於銜接不同網段之間的請求,如果客戶端與RS主機在同一網段的話,會由於RS主機在響應請求時將響應直接發給client而不經過LVS主機,導致client認為這是個錯誤而丟棄這個響應,表現出來的就是timeout。而修改RS的路由表,則可以指定它該如何響應。
[code="java"]
# route add -host 10.10.224.191 gw 10.10.224.251
# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.10.224.191 10.10.224.251 255.255.255.255 UGH 0 0 0 eth0
10.10.224.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default 10.10.224.251 0.0.0.0 UG 0 0 0 eth0
[/code]
191就是客戶端,251是VIP,我們指定RS在響應191的請求時,使用LVS主機作為閘道器,這樣就使得即使它們在同一個網段,響應時也必須經過LVS主機。
測試一下,果然成功。
但是真的不能麼?google一番,發現一個童鞋提過一句話:不是不可以,但是要修改路由表。
這一下就醍醐灌頂了,LVS-NAT模式通常用於銜接不同網段之間的請求,如果客戶端與RS主機在同一網段的話,會由於RS主機在響應請求時將響應直接發給client而不經過LVS主機,導致client認為這是個錯誤而丟棄這個響應,表現出來的就是timeout。而修改RS的路由表,則可以指定它該如何響應。
[code="java"]
# route add -host 10.10.224.191 gw 10.10.224.251
# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.10.224.191 10.10.224.251 255.255.255.255 UGH 0 0 0 eth0
10.10.224.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default 10.10.224.251 0.0.0.0 UG 0 0 0 eth0
[/code]
191就是客戶端,251是VIP,我們指定RS在響應191的請求時,使用LVS主機作為閘道器,這樣就使得即使它們在同一個網段,響應時也必須經過LVS主機。
測試一下,果然成功。
相關文章
- 客戶端 post ,get 訪問伺服器客戶端伺服器
- Docker部署mysql並提供客戶端訪問DockerMySql客戶端
- frp內網穿透,客戶端能訪問,服務端訪問報錯404,有兄弟遇到過嗎FRP內網穿透客戶端服務端
- 客戶端爬取-答網友問客戶端
- EVE-NG初次啟動及WEB客戶端訪問Web客戶端
- FastDFS-nginx外掛作為FastDFS客戶端訪問ASTNginx客戶端
- 查詢SQLServer的客戶端IP和主機名SQLServer客戶端
- 將虛擬機器IP與主機IP設定在同一網段的方法虛擬機
- Cisco Secure Client 5.1.6.103 (macOS, Linux, Windows & iOS, Andrord) - 遠端訪問客戶端clientMacLinuxWindowsiOS客戶端
- 客戶端(windows)訪問FTP伺服器遇到的問題(總結)客戶端WindowsFTP伺服器
- 客戶端安裝虛擬機器問題解答?客戶端虛擬機
- mysql賬戶新增遠端訪問MySql
- 如何讓NAS可以透過網際網路訪問?
- 使用ssh隧道穿透NAT訪問內網主機穿透內網
- 微信客戶端團隊負責人技術訪談:如何著手客戶端效能監控和優化客戶端優化
- 智雲通CRM:如何每次拜訪都讓客戶樂於接見?
- 如何建立NEO輕客戶端客戶端
- VNC客戶端是Windows,VNC客戶端是Windows如何進行操作VNC客戶端Windows
- 同網段不同網段主機間通訊原理
- 如何在macOS中建立訪客帳戶Mac
- TCP實現公網伺服器和內網客戶端一對多訪問(C語言實現)TCP伺服器內網客戶端C語言
- 網狐客戶端-win32客戶端Win32
- 如何開啟客戶端加密特性客戶端加密
- 命令列客戶端MySQL如何使用命令列客戶端MySql
- 客戶端如何刪除根證書客戶端
- 中文版vnc客戶端,中文版vnc客戶端下載,中文版vnc客戶端如何使用?VNC客戶端
- 求一段python3服務端及客戶端的例子Python服務端客戶端
- 使用天翼雲主機組功能讓雲主機不放在同一個籃子裡
- Docker預設網段和主機網段衝突解決Docker
- Android客戶端網路預連線優化機制探究Android客戶端優化
- 網頁SSH客戶端的實現網頁客戶端
- dubbo客戶端客戶端
- Pulsar客戶端客戶端
- mqtt 客戶端MQQT客戶端
- CRM如何讓客戶關係發揮作用
- SnailSVN 專業版:與訪達整合的 SVN 客戶端AI客戶端
- websocket如何區分不同的客戶端?Web客戶端
- 服務端,客戶端服務端客戶端
- 客戶端,服務端客戶端服務端