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 Giúp đỡ về việc thiết lập Squid cache trên cùng firewall iptables!  XML
  [Question]   Giúp đỡ về việc thiết lập Squid cache trên cùng firewall iptables! 04/06/2011 13:58:25 (+0700) | #1 | 238937
[Avatar]
nhattruongadm
Member

[Minus]    0    [Plus]
Joined: 07/12/2009 05:35:23
Messages: 12
Offline
[Profile] [PM]
Chào các bạn!
Hiện tại mình đang thiết lập một firewall iptables kết hợp với squid để lưu cache nhưng server không thể REDIRECT các request của client mạng nội bộ từ port 80 sang port 8080 được. Và vì vậy, client không thể truy cập website nếu như không khai báo kết nối proxy ở trình duyệt.
Dưới đây là nhóm luật mà mình cấu hình trên iptables:

# Generated by iptables-save v1.3.5 on Sat Jun 4 14:12:05 2011
*filter
: INPUT DROP [0:0]
: FORWARD DROP [0:0]
: OUTPUT DROP [0:0]
-A INPUT -i eth1 -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --sport 80 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -s 10.0.0.0/255.0.0.0 -d 10.0.0.40 -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth1 -p udp -m udp --sport 1024:65535 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --sport 1024:65535 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -s 10.0.0.40 -d 10.0.0.0/255.0.0.0 -o eth0 -p tcp -m tcp --sport 8080 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sat Jun 4 14:12:05 2011
# Generated by iptables-save v1.3.5 on Sat Jun 4 14:12:05 2011
*nat
: PREROUTING ACCEPT [0:0]
: POSTROUTING ACCEPT [0:0]
: OUTPUT ACCEPT [0:0]
-A PREROUTING -s 10.0.0.0/255.0.0.0 -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 80 -j REDIRECT --to-ports 8080
COMMIT
# Completed on Sat Jun 4 14:12:05 2011
# Generated by iptables-save v1.3.5 on Sat Jun 4 14:12:05 2011
*mangle
: PREROUTING ACCEPT [0:0]
: INPUT ACCEPT [0:0]
: FORWARD ACCEPT [0:0]
: OUTPUT ACCEPT [0:0]
: POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Sat Jun 4 14:12:05 2011

Trên squid.conf thì mình đã cấu hình các thông số như sau để kết hợp với iptables:

http_port 8080
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Squid khởi động bình thường, không báo lỗi.
Tóm lại, vấn đề là : nếu như client không khai báo proxy trên trình duyệt và lướt website bằng port 80 thì không thể REDIRECT sang port 8080 để ép đi ra bằng proxy được.
Mong các bạn giúp mình tìm ra lỗi nhé.
Chân thành cảm ơn trước.
PS: Lần đầu tiên post bài, nếu có gì sai sót mong các bạn bỏ qua cho và nếu ai cần thông tin gì xin báo mình biết nhé!
[Up] [Print Copy]
  [Question]   Giúp đỡ về việc thiết lập Squid cache trên cùng firewall iptables! 04/06/2011 15:22:35 (+0700) | #2 | 238965
myquartz
Member

[Minus]    0    [Plus]
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
[Profile] [PM]
Hi!
Đây là mô hình transparrent HTTP proxy.
Cái máy chạy iptables của bạn, IP trên eth0 có phải là default gateway của các PC trong mạng không?
Có vẻ như bạn chặn hoàn toàn không cho dùng nếu không qua proxy. Các Chain có tên là FORWARD đều DROP gói tin mà không có một rule nào cho phép gói tin qua.
Có 2 điểm lưu ý hoặc là nguyên nhân trong vấn đề này là:
1. DNS server, chí ít bạn phải cho client query DNS ngoài (nếu không có DNS bên trong) thì nó mới chạy được (do không khai báo proxy trên trình duyệt nên client vẫn query DNS trước khi kết nối tới web site và lúc đó mới bị wwwect vào proxy).
2. Rất nhiều web muốn dùng được phải có HTTPS (các trang login ví dụ gmail, yahoo), kết nối ở cổng 443. Không cho truy cập trực tiếp không qua proxy cái này bằng NAT thì phải khai báo trong trình duyệt mới dùng được. HTTPS thì không thể transparrent được như HTTP. Lại không FORWARD/NAT như cấu hình iptables của bạn => chết ngỏm. Mà thiếu nó thì vô số web không xài được.
[Up] [Print Copy]
  [Question]   Giúp đỡ về việc thiết lập Squid cache trên cùng firewall iptables! 04/06/2011 17:23:08 (+0700) | #3 | 239016
[Avatar]
nhattruongadm
Member

[Minus]    0    [Plus]
Joined: 07/12/2009 05:35:23
Messages: 12
Offline
[Profile] [PM]
OK! Mình đã hiểu và đã lưu ý 2 vấn đề bạn đưa ra.
Mình sẽ kiểm tra lại ngay.
Cảm ơn bạn rất nhiều!
[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|