banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix xin trợ giúp, cấu hình LVS/NAT  XML
  [Question]   xin trợ giúp, cấu hình LVS/NAT 27/09/2010 10:30:46 (+0700) | #1 | 221565
khanga6tm
Member

[Minus]    0    [Plus]
Joined: 28/04/2007 17:38:37
Messages: 34
Offline
[Profile] [PM]
Chào các anh,

Tình hình là hôm nọ em cấu hình xong phần LVS/NAT, ldirectord cho hệ thống nhưng chưa triển khai trên máy thật mà mới áp dụng trong máy ảo rồi làm việc khác quyên béng đi mất. Hôm nay lục lại để làm thì cấu hình lại không thành công nữa, mong anh em giúp đỡ.

Mô hình như sau:
Em có 3 máy áo chạy cùng LAN, gateway là 192.168.2.1 Cấu hình cho Server-01 làm router còn 2 con còn lại làm real-server.

Server-01 IP: 192.168.2.111, OS Ubuntu-server 10.04.1 LVS
Server-02 IP: 192.168.2.112, OS Ubuntu-server 10.04.1 REAL1
Server-02 IP: 192.168.2.113, OS Ubuntu-server 10.04.1 REAL2

Cài đặt ipvsadm tại LVS như sau: apt-get install ipvsadm, cấu hình cho LVS thành master và chọn eth0 làm cổng.

Cấu hình ipvsadm:

ipvsadm -A -t 192.168.2.111:80 -s rr
ipvsadm -a -t 192.168.2.111:80 -r 192.168.2.112:80 -m
ipvsadm -a -t 192.168.2.111:80 -r 192.168.2.113:80 -m


Cài đặt apache2 tại 2 máy REAL1 và REAL2 apt-get install apache2

Truy cập vào LVS http://192.168.2.111 thì fail, tcpdum thì vẫn nhận thấy có request gọi tới REAL1 và REAL2 khi truy cập vào IP của LVS.

Ai fix được bug này giúp em với.

Xin cảm ơn anh em đã đọc bài,
[Up] [Print Copy]
  [Question]   xin trợ giúp, cấu hình LVS/NAT 27/09/2010 12:52:31 (+0700) | #2 | 221577
[Avatar]
tranhuuphuoc
Moderator

Joined: 05/09/2004 06:08:09
Messages: 865
Location: Lầu Xanh
Offline
[Profile] [PM] [WWW]

khanga6tm wrote:
Chào các anh,

Tình hình là hôm nọ em cấu hình xong phần LVS/NAT, ldirectord cho hệ thống nhưng chưa triển khai trên máy thật mà mới áp dụng trong máy ảo rồi làm việc khác quyên béng đi mất. Hôm nay lục lại để làm thì cấu hình lại không thành công nữa, mong anh em giúp đỡ.

Mô hình như sau:
Em có 3 máy áo chạy cùng LAN, gateway là 192.168.2.1 Cấu hình cho Server-01 làm router còn 2 con còn lại làm real-server.

Server-01 IP: 192.168.2.111, OS Ubuntu-server 10.04.1 LVS
Server-02 IP: 192.168.2.112, OS Ubuntu-server 10.04.1 REAL1
Server-02 IP: 192.168.2.113, OS Ubuntu-server 10.04.1 REAL2

Cài đặt ipvsadm tại LVS như sau: apt-get install ipvsadm, cấu hình cho LVS thành master và chọn eth0 làm cổng.

Cấu hình ipvsadm:

ipvsadm -A -t 192.168.2.111:80 -s rr
ipvsadm -a -t 192.168.2.111:80 -r 192.168.2.112:80 -m
ipvsadm -a -t 192.168.2.111:80 -r 192.168.2.113:80 -m


Cài đặt apache2 tại 2 máy REAL1 và REAL2 apt-get install apache2

Truy cập vào LVS http://192.168.2.111 thì fail, tcpdum thì vẫn nhận thấy có request gọi tới REAL1 và REAL2 khi truy cập vào IP của LVS.

Ai fix được bug này giúp em với.

Xin cảm ơn anh em đã đọc bài,
 


Tạm thời tắt bỏ AppArmour , kiểm tra lại trong /etc/sysctl.conf có dòng net.ipv4.ip_forward=1 và trên cả 2 REAL1 đã trỏ route add default gw đến 111 rồi chưa nhĩ !?

Good luck
[Up] [Print Copy]
  [Question]   xin trợ giúp, cấu hình LVS/NAT 27/09/2010 13:37:12 (+0700) | #3 | 221584
khanga6tm
Member

[Minus]    0    [Plus]
Joined: 28/04/2007 17:38:37
Messages: 34
Offline
[Profile] [PM]
Cảm ơn anh đã trả lời bài viết,

Tại máy LVS chắc chắn đã enable forward packet net.ipv4.ip_forward=1, thử lại bằng lệnh sysclt -p có hiện ra mà: net.ipv4.ip_forward=1

Tại máy REAL Server và LVS đã stop apparmor rồi, việc điều chỉnh route cho máy REAL đã làm. Thông tin khi show ra bên dưới:

root@server-03:/home/khangtt# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.2.114 0.0.0.0 UG 0 0 0 eth0
default 192.168.2.1 0.0.0.0 UG 0 0 0 eth0

Em đọc nhiều bài viết hướng đẫn rồi mà vẫn chưa hiểu nó bị sao? anh em ai biết giúp em cái.
[Up] [Print Copy]
  [Question]   xin trợ giúp, cấu hình LVS/NAT 28/09/2010 19:52:31 (+0700) | #4 | 221718
[Avatar]
giobuon
Member

[Minus]    0    [Plus]
Joined: 10/09/2006 06:25:46
Messages: 72
Offline
[Profile] [PM]
Bạn thấy gói tin đến RealServer thì gói tin đó là gói gì (HTTP request?). Địa chỉ nguồn và đích của gói tin đó là bao nhiêu?
Bạn có thấy gói tin đi Real Server ra ko? Địa chỉ nguồn đích của gói tin đó như thế nào?
[Up] [Print Copy]
  [Question]   xin trợ giúp, cấu hình LVS/NAT 29/09/2010 08:24:31 (+0700) | #5 | 221747
khanga6tm
Member

[Minus]    0    [Plus]
Joined: 28/04/2007 17:38:37
Messages: 34
Offline
[Profile] [PM]

giobuon wrote:
Bạn thấy gói tin đến RealServer thì gói tin đó là gói gì (HTTP request?). Địa chỉ nguồn và đích của gói tin đó là bao nhiêu?
Bạn có thấy gói tin đi Real Server ra ko? Địa chỉ nguồn đích của gói tin đó như thế nào? 


Vâng, cảm ơn anh đã quan tâm và trả lời bài viết.

Mô hình hôm nọ em chọc ngoáy tan tành rồi, để trả lời câu hỏi của anh và tiếp tục thử nghiệm em lại dựng một mô hình khác lên(2 con máy ảo này mới tinh em chưa làm gì nó cả):

Máy LVS IP: 192.168.1.108, OS Ubuntu 10.04.1
Máy Real IP: 192.168.1.110, OS Ubuntu 10.04.1

1. Với máy LVS em cài đặt ipvsadm, cấu hình cho nó làm master và sử dụng NIC eth0, LVS/NAT như sau:

Cho phép forward packet net.ipv4.ip_forward = 1, enable nó lên với lệnh sysclt -p

ipvsadm -A -t 192.168.1.108:80 -s rr
ipvsadm -a -t 192.168.1.108:80 -r 192.168.1.110:80 -m

Add route cho máy LVS trỏ sang máy Real route add -net default gw 192.168.1.110

2. Với máy Real, cài đặt apache2, tắt luôn apparmor trên 2 máy nhé.

3. Các bước thử nghiệm như sau:
3.1 Call thằng vào máy real từ laptop cho chắc ăn xem phần cài đặt apache2 ra sao -> thành công, hiện lên cái index.html mặc định của apache2 trên debian.
3.2 Tiện thể dump gói xem khi mình gọi thẳng vào real nó ra sao, tí nữa còn tiện khi so sánh khi dump khi dùng LVS/NAT, reload cái http://192.168.1.110 phát ra kết quả bên dưới.Táng lệnh tcpdump -n -i any port 80 vào màn hình của em máy 192.168.1.110
09:08:30.750851 IP 192.168.1.2.48286 > 192.168.1.110.80: Flags [F.], seq 1330309023, ack 1228061576, win 125, options [nop,nop,TS val 877815 ecr 443764], length 0
....... # Cắt bớt cho khỏi dài
09:08:30.750880 IP 192.168.1.110.80 > 192.168.1.2.48286: Flags [.], ack 1, win 248, options [nop,nop,TS val 445325 ecr 877815], length 0, length 0 

Khoản này em chưa nghiên cứu nên chưa biết nhưng đọc và "Gia Cát Dự" em nghĩ như sau:
3.2.1. Có các gói tin từ IP 192.168.1.2(Chắc nó là IP con route wifi lởm của em) sử dụng port 48268 đi vào IP 192.168.1.110 với dport là 80
3.2.2. Có gói tin trả lại từ IP 192.168.1.110 với sport 80 gửi tới IP 192.168.1.2 với dport 48268

3.3. Thử nghiệm với LVS/NAT dùng tcpdump như trên luôn để xem thế nào. Táng http://192.168.1.108 thôi, quả này em list ra tuốt nhé
09:18:16.226752 IP 192.168.1.2.39792 > 192.168.1.110.80: Flags [S], seq 2270661745, win 5840, options [mss 1460,sackOK,TS val 1024177 ecr 0,nop,wscale 6], length 0
09:18:16.226801 IP 192.168.1.110.80 > 192.168.1.2.39792: Flags [S.], seq 2175679247, ack 2270661746, win 5792, options [mss 1460,sackOK,TS val 591694 ecr 1024177,nop,wscale 5], length 0
09:18:16.476316 IP 192.168.1.2.39793 > 192.168.1.110.80: Flags [S], seq 2273219575, win 5840, options [mss 1460,sackOK,TS val 1024241 ecr 0,nop,wscale 6], length 0
09:18:16.476353 IP 192.168.1.110.80 > 192.168.1.2.39793: Flags [S.], seq 2174862241, ack 2273219576, win 5792, options [mss 1460,sackOK,TS val 591757 ecr 1024241,nop,wscale 5], length 0
09:18:19.261046 IP 192.168.1.2.39792 > 192.168.1.110.80: Flags [S], seq 2270661745, win 5840, options [mss 1460,sackOK,TS val 1024927 ecr 0,nop,wscale 6], length 0
09:18:19.261076 IP 192.168.1.110.80 > 192.168.1.2.39792: Flags [S.], seq 2175679247, ack 2270661746, win 5792, options [mss 1460,sackOK,TS val 592453 ecr 1024177,nop,wscale 5], length 0
09:18:19.474934 IP 192.168.1.2.39793 > 192.168.1.110.80: Flags [S], seq 2273219575, win 5840, options [mss 1460,sackOK,TS val 1024991 ecr 0,nop,wscale 6], length 0
09:18:19.474963 IP 192.168.1.110.80 > 192.168.1.2.39793: Flags [S.], seq 2174862241, ack 2273219576, win 5792, options [mss 1460,sackOK,TS val 592506 ecr 1024241,nop,wscale 5], length 0
09:18:20.223166 IP 192.168.1.110.80 > 192.168.1.2.39792: Flags [S.], seq 2175679247, ack 2270661746, win 5792, options [mss 1460,sackOK,TS val 592694 ecr 1024177,nop,wscale 5], length 0
09:18:20.424555 IP 192.168.1.110.80 > 192.168.1.2.39793: Flags [S.], seq 2174862241, ack 2273219576, win 5792, options [mss 1460,sackOK,TS val 592744 ecr 1024241,nop,wscale 5], length 0
09:18:25.220040 IP 192.168.1.2.39792 > 192.168.1.110.80: Flags [S], seq 2270661745, win 5840, options [mss 1460,sackOK,TS val 1026427 ecr 0,nop,wscale 6], length 0
09:18:25.220070 IP 192.168.1.110.80 > 192.168.1.2.39792: Flags [S.], seq 2175679247, ack 2270661746, win 5792, options [mss 1460,sackOK,TS val 593943 ecr 1024177,nop,wscale 5], length 0
09:18:25.475490 IP 192.168.1.2.39793 > 192.168.1.110.80: Flags [S], seq 2273219575, win 5840, options [mss 1460,sackOK,TS val 1026491 ecr 0,nop,wscale 6], length 0
09:18:25.475516 IP 192.168.1.110.80 > 192.168.1.2.39793: Flags [S.], seq 2174862241, ack 2273219576, win 5792, options [mss 1460,sackOK,TS val 594007 ecr 1024241,nop,wscale 5], length 0
09:18:26.425571 IP 192.168.1.110.80 > 192.168.1.2.39792: Flags [S.], seq 2175679247, ack 2270661746, win 5792, options [mss 1460,sackOK,TS val 594244 ecr 1024177,nop,wscale 5], length 0
09:18:26.425683 IP 192.168.1.110.80 > 192.168.1.2.39793: Flags [S.], seq 2174862241, ack 2273219576, win 5792, options [mss 1460,sackOK,TS val 594244 ecr 1024241,nop,wscale 5], length 0
09:18:38.423177 IP 192.168.1.110.80 > 192.168.1.2.39792: Flags [S.], seq 2175679247, ack 2270661746, win 5792, options [mss 1460,sackOK,TS val 597244 ecr 1024177,nop,wscale 5], length 0
09:18:38.423288 IP 192.168.1.110.80 > 192.168.1.2.39793: Flags [S.], seq 2174862241, ack 2273219576, win 5792, options [mss 1460,sackOK,TS val 597244 ecr 1024241,nop,wscale 5], length 0
09:19:02.424978 IP 192.168.1.110.80 > 192.168.1.2.39792: Flags [S.], seq 2175679247, ack 2270661746, win 5792, options [mss 1460,sackOK,TS val 603244 ecr 1024177,nop,wscale 5], length 0
09:19:02.624977 IP 192.168.1.110.80 > 192.168.1.2.39793: Flags [S.], seq 2174862241, ack 2273219576, win 5792, options [mss 1460,sackOK,TS val 603294 ecr 1024241,nop,wscale 5], length 0



Tiếp theo em add route cho máy Real trỏ sang máy LVS nhưng kết quả vẫn như trên, ai biết chỉ em với nào.
[Up] [Print Copy]
  [Question]   xin trợ giúp, cấu hình LVS/NAT 29/09/2010 23:44:14 (+0700) | #6 | 221804
[Avatar]
giobuon
Member

[Minus]    0    [Plus]
Joined: 10/09/2006 06:25:46
Messages: 72
Offline
[Profile] [PM]
Có lẽ bạn đang vướng mắc một số điểm sau:
-Bạn đang setup với mô hình one network LVS/NAT. Nếu bạn setup với mô hình này bạn cần phải config thêm một số thứ trên real server (bỏ route tới client, tắt icmp wwwect - google để biết thêm chi tiết). Nếu bạn thực sự chưa hiểu rõ cách thức hoạt động của mô hình này mình khuyên bạn nên cài với mô hình 2 network riêng biệt:

________
| |
| client |
|________|
CIP=192.168.1.254
|
|
|
__________
| | VIP=192.168.1.110 (eth0)
| director |
|__________| DIP=10.1.1.9 (eth1)
|
|
----------------------------------------
| | |
| | |
RIP1=10.1.1.2 RIP2=10.1.1.3 RIP3=10.1.1.4 (all eth0)
_____________ _____________ _____________
| | | | | |
| realserver | | realserver | | realserver |
|_____________| |_____________| |_____________|


Mô hình này tương đối rõ ràng hơn. Gói tin đi từ client đến LVS director sau đó được thay đổi địa chỉ đích và đi đến real server. Real trả lại gói tin, gói tin này đi qua LVS director (do trên real đặt default gateway là DIP của LVS director ). Gói tin được LVS director thay đổi địa chỉ nguồn thành VIP rồi gửi lại cho client. Client hoàn toàn không biết gì và nó chỉ giao tiếp với 1 IP duy nhất là VIP.
Nếu đứng trên director và tcpdump cả 2 card mạng bạn sẽ thấy quá trình gói tin giao tiếp trong hệ thống.
Bạn đọc thêm về TCP và NAT thì sẽ dễ hơn trong việc hiểu vấn đề và cách debug.

-giobuon
[Up] [Print Copy]
  [Question]   xin trợ giúp, cấu hình LVS/NAT 29/09/2010 23:49:10 (+0700) | #7 | 221805
[Avatar]
giobuon
Member

[Minus]    0    [Plus]
Joined: 10/09/2006 06:25:46
Messages: 72
Offline
[Profile] [PM]
Cái text copy qua nó xô lệch lung tung cả xem tạm ảnh này nhé


[Up] [Print Copy]
  [Question]   xin trợ giúp, cấu hình LVS/NAT 30/09/2010 07:37:59 (+0700) | #8 | 221815
khanga6tm
Member

[Minus]    0    [Plus]
Joined: 28/04/2007 17:38:37
Messages: 34
Offline
[Profile] [PM]

giobuon wrote:
Cái text copy qua nó xô lệch lung tung cả xem tạm ảnh này nhé


 


Cảm ơn anh đã trả lời bài viết! Phần anh gợi ý để fix lỗi tí nữa em thử luôn.

Còn để cấu hình 2 network chắc khó vì đặt server chỗ khác làm 2 network rồi thuê thêm IP nữa thì cũng lằng nhằng phết, em sẽ cố cấu hình và hiểu nó.

[Up] [Print Copy]
  [Question]   xin trợ giúp, cấu hình LVS/NAT 30/09/2010 07:47:42 (+0700) | #9 | 221816
[Avatar]
giobuon
Member

[Minus]    0    [Plus]
Joined: 10/09/2006 06:25:46
Messages: 72
Offline
[Profile] [PM]
Đâu cần phải vậy. Bạn có thể đặt sub interface và sử dụng IP Private (giữa Real Server và LVS Director). Bạn vận chỉ cần 1 IP public và 1 card mạng trên tất cả các máy.
Theo mình bạn nên setup trên hệ thống máy ảo như VMWare chẳng hạn. Sẽ chủ động hơn trong việc thay đổi cấu hình, test...
[Up] [Print Copy]
  [Question]   xin trợ giúp, cấu hình LVS/NAT 30/09/2010 07:55:05 (+0700) | #10 | 221817
khanga6tm
Member

[Minus]    0    [Plus]
Joined: 28/04/2007 17:38:37
Messages: 34
Offline
[Profile] [PM]

giobuon wrote:
Đâu cần phải vậy. Bạn có thể đặt sub interface và sử dụng IP Private (giữa Real Server và LVS Director). Bạn vận chỉ cần 1 IP public và 1 card mạng trên tất cả các máy.
Theo mình bạn nên setup trên hệ thống máy ảo như VMWare chẳng hạn. Sẽ chủ động hơn trong việc thay đổi cấu hình, test... 


Vâng, em vẫn dùng máy ảo trên virtualbox. Còn việc dùng sub interface và IP private thì em chưa rõ(tí rảnh em google luôn).

Cảm ơn anh chỉ bảo!
[Up] [Print Copy]
  [Question]   xin trợ giúp, cấu hình LVS/NAT 30/09/2010 08:59:26 (+0700) | #11 | 221829
khanga6tm
Member

[Minus]    0    [Plus]
Joined: 28/04/2007 17:38:37
Messages: 34
Offline
[Profile] [PM]
Tình hình là em fix xong rồi, chân thành cảm ơn bác giobuon đã giúp đỡ em giải quyết.

Cảm ơn anh em đã đọc bài,
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|