Skocz do zawartości

Linux+proxy+ftp?


BoloM

Rekomendowane odpowiedzi

Witam,

Mam taki schemat połączenia jak na rysunku: http://img130.imageshack.us/img130/7020/65301375.jpg

 

1. LAN o adresacji 10.10.10.0/24

2. Klient z IP: 10.10.10.1 i brama domyslną skierowana na serwer LINUX o adresie 10.10.10.250

3. Na serwerze LINUX jest zainstalowany i skonfigurowany SQUID oraz IPTABLES.

4. Serwer LINUX ma adres ip: 10.10.10.250 i jako brama domyslna jest firewall o adresie 10.10.10.254.

5. Wszystko to jest wpiete do switcha.

 

I działa. Strony internetowe działaja i wszystko mogłoby się wydawać, że jest ok, ale jest jeden mały problem. Połączenia FTP. Okazuje sie, że nie działają mi żadne ftp-y. Przekonfigurowywałem na wszelkie sposoby squida, iptables-a ale nic.

 

Moja prośba jest taka. Co powinienem zrobic by to zaczęło działać? Bardzo prosze o pomoc.

 

LINUX: RedHat

Odnośnik do komentarza
Udostępnij na innych stronach

LINUX: RedHat
Znaczy RHEL? To chyba nie ten dział.

 

No i podaj więcej szczegółów, bo z obrazka nie wiadomo co wpisałeś w konfiguracji squida. Masz odpowiednie wpisy dla portu FTP? Bo może tylko HTTP(S) przepuściłeś.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Tak, masz racje nie ten dział, jednak tutaj jest wieksze prawdopodobieństwo, że ktos odpowie:)

 

SQUID

 

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 # https

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

acl Safe_ports port 591 # filemaker

acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

 

http_access allow manager localhost

http_access deny manager

http_access allow localhost

 

http_access allow all

 

icp_access allow all

http_port 3128 transparent

 

cache_dir ufs /var/spool/squid 60000 16 256

access_log /var/log/squid/access.log squid

logfile_rotate 10

ftp_passive on

ftp_sanitycheck off

url_rewrite_children 30

redirector_bypass off

acl QUERY urlpath_regex cgi-bin \?

cache deny QUERY

refresh_pattern ^ftp: 1440 20% 10080

refresh_pattern ^gopher: 1440 0% 1440

refresh_pattern . 0 20% 4320

via off

acl apache rep_header Server ^Apache

broken_vary_encoding allow apache

 

acl FTP proto FTP

always_direct allow FTP

forwarded_for off

 

IPTABLES

 

 

# Generated by iptables-save v1.3.5 on Mon Nov 30 10:44:09 2009

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [709091:332851683]

:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT

-A FORWARD -j RH-Firewall-1-INPUT

-A RH-Firewall-1-INPUT -i lo -j ACCEPT

-A RH-Firewall-1-INPUT -i bond0 -j ACCEPT

-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT

-A RH-Firewall-1-INPUT -p esp -j ACCEPT

-A RH-Firewall-1-INPUT -p ah -j ACCEPT

-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -j LOG

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

# Completed on Mon Nov 30 10:44:09 2009

# Generated by iptables-save v1.3.5 on Mon Nov 30 10:44:09 2009

*mangle

:PREROUTING ACCEPT [598583:275919318]

:INPUT ACCEPT [594555:275706190]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [709140:332876337]

:POSTROUTING ACCEPT [709140:332876337]

-A PREROUTING -i bond0 -j MARK --set-mark 0x9

COMMIT

# Completed on Mon Nov 30 10:44:09 2009

# Generated by iptables-save v1.3.5 on Mon Nov 30 10:44:09 2009

*nat

:PREROUTING ACCEPT [9137:514045]

:POSTROUTING ACCEPT [27298:1689524]

:OUTPUT ACCEPT [27298:1689524]

-A PREROUTING -i bond0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

-A POSTROUTING -m mark --mark 0x9 -j MASQUERADE

COMMIT

# Completed on Mon Nov 30 10:44:09 2009

 

Moduły

 

[root@linus ~]# lsmod | grep ftp

ip_conntrack_tftp 37913 0

ip_nat_ftp 36545 0

ip_nat 52845 4 ipt_MASQUERADE,ipt_REDIRECT,iptable_nat,ip_nat_ftp

ip_conntrack_ftp 41489 1 ip_nat_ftp

ip_conntrack 91109 8 ipt_MASQUERADE,iptable_nat,ip_conntrack_tftp,ip_nat_ftp,ip_nat,ip_conntrack_ftp,

ip_conntrack_netbios_ns,xt_state

Odnośnik do komentarza
Udostępnij na innych stronach

...Widzę, że Nikt z szanownych kolegów i koleżanek nie zna rozwiązania?

 

Spróbuj:

- z serwera proxy wejśc na jakiś ftp (np programem lftp z lini poleceń) i powiedz czy się udało

- jeżeli powyższ tak, to spróbuj z klienta (tego który nie może wejśc na ftp) wejśc na ftp, ale wcześniej tego klienta ftp skonfiguruj do korzystania z twojego proxy. Jeżeli zadziała super, jeżeli nie, to zobacz co konkretnie w logach się squida pojawiło i tu wklej.

 

Sorki, ale ciężko to troubleshootować bez widzenia co się dzieje.

 

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Powiem tak. Testowałem twoją konfigurację u siebie w domku.

Http śmiga, zarówno gdy klient używa proxy, jak gdy jest transparentnie wrzucano do proxy.

Co do ftp, to działa, pod warunkiem, że klient wie, że ma go używać. Tobie zapewne nei działa transparentne proxy ftp. I z tego co do tej pory wygooglałem, squid tego nie obsługuje, ale trafiłem też na dokumentację która nie jest najnowsza.

http://www.faqs.org/docs/Linux-mini/Transp...tProxy.html#s2:

Note that this document focuses only on HTTP proxing. I get many emails asking about transparent FTP proxying. Squid can't do it.
Odnośnik do komentarza
Udostępnij na innych stronach

Tak, masz racje nie ten dział, jednak tutaj jest wieksze prawdopodobieństwo, że ktos odpowie:)

 

Tutaj jest większe prawdopodobieństwo, że nie pozwolimy zadać Ci następnego pytania. Zawsze umieszczaj wątki w odpowiednich działach, korzystaj również ze znaczników code && codebox przy wklejaniu listingów. Przenoszę.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 weeks later...
  • 1 month later...
..no a jednak nie do końca. Okzauje się, że połączenie działa, download też jednak nic nie moge za ftp-y załadować (wysłać0. Dotyczy to także tworzenia katalogów na ftp. Czy to może teraz byc sprawa konfiguracji proxy?

Pomożecie?

Nie wczytałem się uważnie ale brakuje mi tu konfiguracji servera FTP możesz go podać. W środowiskach natowanych jest problem z połączeniem FTP. Dlatego m.in. muszą być załadowane moduły ip_conntrack_ftp ip_conntrack_nat itp. Najlepiej konfigurować tryb pasywny aby klienci go używali :

anonymous_enable=YES
anon_world_readable_only=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
no_anon_password=YES

use_localtime=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES
####PASIV!!!#####
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=51000
max_login_fails=3
nopriv_user=ftp
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES
chroot_local_user=Yes
listen=YES
log_ftp_protocol=YES
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
#######PERFORMACE###########
idle_session_timeout=120
data_connection_timeout=300
accept_timeout=60
connect_timeout=60

 

do konfiguracji squida dodać

acl ftp proto FTP
http_access allow ftp

Domyślnie w squid 2.6 w górę ftp powinno działać bez problemów przy domyślnej konfiguracji. Jaką wersję squid posiadasz?

 

Czy z adresu 10.10.,10.254 jest przekierowanie portu 21 na 10.10.10.250 ? Tryb passive potrzebuje jeszcze zakresu wysokich portów do otwarcia. (patrz pasv_min_port w konfiguracji ftp)

 

Co to za firewall jakiś sprzętowy?

Pokaż logi serwera ftp oraz squid

Czy bezpośrednio z linuxa (bez squida) możesz wejść na zdalne ftp ?

 

Ja miałem squida i serwer ftp na tej samej maszynie i ludzie z zewnątrz bez problemów łączyli się w passive mode.

Masz "zbondowane "interfejsy ?

 

Daj znać czy pomogło

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...