如何讓同一網段客戶端訪問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主機。
測試一下,果然成功。
相關文章
- Linux 有問必答:如何從VirtualBox中從主機訪問NAT客戶機Linux
- 遠端客戶端 訪問 ASM 例項客戶端ASM
- 客戶端訪問POP3--SMTP客戶端
- Docker部署mysql並提供客戶端訪問DockerMySql客戶端
- 客戶端 post ,get 訪問伺服器客戶端伺服器
- 限制訪問Oracle客戶端IP方法總結Oracle客戶端
- Asp.net MVC獲取訪問系統的客戶端計算機的主機名和IP地址ASP.NETMVC客戶端計算機
- frp內網穿透,客戶端能訪問,服務端訪問報錯404,有兄弟遇到過嗎FRP內網穿透客戶端服務端
- 客戶端爬取-答網友問客戶端
- 用VB編寫OPC客戶端訪問WINCC (轉)客戶端
- 查詢SQLServer的客戶端IP和主機名SQLServer客戶端
- 客戶端tns裡host配置主機名的方法客戶端
- FastDFS-nginx外掛作為FastDFS客戶端訪問ASTNginx客戶端
- EVE-NG初次啟動及WEB客戶端訪問Web客戶端
- ExchangeServer2010客戶端的安全訪問Server客戶端
- 將虛擬機器IP與主機IP設定在同一網段的方法虛擬機
- 如何配置WSUS客戶端客戶端
- 客戶網站訪問慢分析和排查過程網站
- Nginx基於客戶端請求頭的訪問分類Nginx客戶端
- 客戶端(windows)訪問FTP伺服器遇到的問題(總結)客戶端WindowsFTP伺服器
- JAVA FTP客戶端問題JavaFTP客戶端
- 客戶端安裝虛擬機器問題解答?客戶端虛擬機
- session過期,如何主動的更新客戶端的頁面Session客戶端
- 微信客戶端團隊負責人技術訪談:如何著手客戶端效能監控和優化客戶端優化
- 網頁搜尋客戶端網頁客戶端
- 如何建立NEO輕客戶端客戶端
- C#訪問遠端主機資源的方法C#
- 不用安裝oracle客戶端,PL/SQL也能遠端訪問資料庫Oracle客戶端SQL資料庫
- Cisco Secure Client 5.1.6.103 (macOS, Linux, Windows & iOS, Andrord) - 遠端訪問客戶端clientMacLinuxWindowsiOS客戶端
- VNC客戶端是Windows,VNC客戶端是Windows如何進行操作VNC客戶端Windows
- 根據UA簡單判斷訪客客戶端是手機移動端還是電腦PC端客戶端
- 客戶端tnsping不通問題客戶端
- mysql賬戶新增遠端訪問MySql
- 如何讓NAS可以透過網際網路訪問?
- asp.net 獲取客戶端瀏覽器訪問的IP地址ASP.NET客戶端瀏覽器
- CAS (3) —— Mac下配置CAS客戶端經代理訪問Tomcat CASMac客戶端Tomcat
- 宿主機/客戶端無法連線虛擬機器/主機Oracle11g客戶端虛擬機Oracle
- MySQL限制IP網段範圍從遠端訪問的方法MySql